gnucash master: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Mon Nov 25 07:39:13 EST 2019


Updated	 via  https://github.com/Gnucash/gnucash/commit/6c3b24a9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ea9d5fb1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0973d54d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9adf8db1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/aa451bc8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d6a5c8ba (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a261c8aa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/91183a2a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e83f5b05 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/287b857a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/729bf5ae (commit)
	 via  https://github.com/Gnucash/gnucash/commit/101cc916 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/68b0abdf (commit)
	 via  https://github.com/Gnucash/gnucash/commit/17d39388 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5586ccaa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6897f13e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/063a2704 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b3493509 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dda3da84 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f0a189ad (commit)
	 via  https://github.com/Gnucash/gnucash/commit/26718142 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1ab95b55 (commit)
	from  https://github.com/Gnucash/gnucash/commit/21f05339 (commit)



commit 6c3b24a9b6b517c9a73cfd8bcf61c26a687ad864
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Nov 25 20:38:16 2019 +0800

    [html-style-info] remove font-face/size/color from style-info
    
    These were unused in real code.

diff --git a/gnucash/report/html-document.scm b/gnucash/report/html-document.scm
index 17a486974..782c41f93 100644
--- a/gnucash/report/html-document.scm
+++ b/gnucash/report/html-document.scm
@@ -225,10 +225,7 @@
         (extra-attrib (and (pair? rest) rest)))
     ;; now generate the start tag
     (let ((tag   (gnc:html-markup-style-info-tag childinfo))
-          (attr  (gnc:html-markup-style-info-attributes childinfo))
-          (face  (gnc:html-markup-style-info-font-face childinfo))
-          (size  (gnc:html-markup-style-info-font-size childinfo))
-          (color (gnc:html-markup-style-info-font-color childinfo)))
+          (attr  (gnc:html-markup-style-info-attributes childinfo)))
 
       ;; "" tags mean "show no tag"; #f tags means use default.
       (cond ((not tag)
@@ -263,33 +260,12 @@
                   (build-first-tag (car tag))
                   (for-each add-internal-tag (cdr tag)))
                 (build-first-tag tag)))
-        ;; XXX Font styling should be done through CSS, NOT html code
-        ;; XXX Also, why is this even here?  'Font' is an html tag just like anything else,
-        ;;       so why does it have it's own custom pseudo code here?  It should be built
-        ;;       as a call to this function just like any other tag, passing face/size/color as attributes.
-        (if (or face size color)
-            (begin
-              (issue-deprecation-warning
-               "this section is unreachable in code")
-              (push "<font ")
-              (if face
-                  (begin
-                    (push "face=\"") (push face) (push "\" ")))
-              (if size
-                  (begin
-                    (push "size=\"") (push size) (push "\" ")))
-              (if color
-                  (begin
-                    (push "color=\"") (push color) (push "\" ")))
-              (push ">")))
         retval))))
 
 (define (gnc:html-document-markup-end doc markup)
   (let ((childinfo (gnc:html-document-fetch-markup-style doc markup)))
     ;; now generate the end tag
-    (let ((tag (gnc:html-markup-style-info-tag childinfo))
-          (closing-font-tag
-           (gnc:html-markup-style-info-closing-font-tag childinfo)))
+    (let ((tag (gnc:html-markup-style-info-tag childinfo)))
       ;; "" tags mean "show no tag"; #f tags means use default.
       (cond ((not tag)
              (set! tag markup))
@@ -297,8 +273,6 @@
              (set! tag #f)))
       (let* ((retval '())
              (push (lambda (l) (set! retval (cons l retval)))))
-        (if closing-font-tag
-            (push "</font>\n"))
         (if tag
             (let ((addtag (lambda (t)
                             (push "</")
diff --git a/gnucash/report/html-style-info.scm b/gnucash/report/html-style-info.scm
index f57653c40..b4c4a5366 100644
--- a/gnucash/report/html-style-info.scm
+++ b/gnucash/report/html-style-info.scm
@@ -36,12 +36,6 @@
 ;;  tag         : string for start tag
 ;;  attributes  : hash of attribute to value (unsafe!)
 ;;  attribute   : single attribute-value pair in a list 
-;;  font-face   : string for <font face=""> (deprecate)
-;;  font-size   : string for <font size=""> (deprecate)
-;;  font-color  : color (a valid HTML color spec) (deprecate)
-;;  closing-font-tag: private data (computed from font-face,
-;;                                  font-size, font-color)
-;;                    don't set directly, please! (deprecate)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 
@@ -49,10 +43,6 @@
   (make-record-type "<html-markup-style-info>"
                     '(tag 
                       attributes
-                      font-face 
-                      font-size 
-                      font-color
-		      closing-font-tag?
                       inheritable?)))
 
 (define gnc:html-markup-style-info?
@@ -63,7 +53,7 @@
 
 (define (gnc:make-html-markup-style-info . rest)
   (let ((retval (gnc:make-html-markup-style-info-internal 
-                 #f (make-hash-table) #f #f #f #f #t)))
+                 #f (make-hash-table) #t)))
     (apply gnc:html-markup-style-info-set! retval rest)
     retval))
 
@@ -76,9 +66,6 @@
        (loop rest))
 
       ((field value . rest)
-       (when (memq field '(font-size font-face font-color))
-         (issue-deprecation-warning "font-face/size/color deprecated.")
-         (gnc:html-markup-style-info-set-closing-font-tag! style (and value #t)))
        ((record-modifier <html-markup-style-info> field) style value)
        (loop rest))
 
@@ -96,58 +83,6 @@
 (define gnc:html-markup-style-info-set-attributes!
   (record-modifier <html-markup-style-info> 'attributes))
 
-(define gnc:html-markup-style-info-font-face
-  ;; deprecated
-  (record-accessor <html-markup-style-info> 'font-face))
-
-(define gnc:html-markup-style-info-set-font-face-internal!
-  ;; deprecated
-  (record-modifier <html-markup-style-info> 'font-face))
-
-(define (gnc:html-markup-style-info-set-font-face! record value)
-  (issue-deprecation-warning
-   "gnc:html-markup-style-info-set-font-face! is unused")
-  (gnc:html-markup-style-info-set-closing-font-tag! record value)
-  (gnc:html-markup-style-info-set-font-face-internal! record value))
-
-(define gnc:html-markup-style-info-font-size
-  ;; deprecated
-  (record-accessor <html-markup-style-info> 'font-size))
-
-(define gnc:html-markup-style-info-set-font-size-internal!
-  ;; deprecated
-  (record-modifier <html-markup-style-info> 'font-size))
-
-(define (gnc:html-markup-style-info-set-font-size! record value)
-  (issue-deprecation-warning
-   "gnc:html-markup-style-info-set-font-size! is unused")
-  (gnc:html-markup-style-info-set-closing-font-tag! record value)
-  (gnc:html-markup-style-info-set-font-size-internal! record value))
-
-(define gnc:html-markup-style-info-font-color
-  ;; deprecated
-  (record-accessor <html-markup-style-info> 'font-color))
-
-(define gnc:html-markup-style-info-set-font-color-internal!
-  ;; deprecated
-  (record-modifier <html-markup-style-info> 'font-color))
-
-(define (gnc:html-markup-style-info-set-font-color! record value)
-  (issue-deprecation-warning
-   "gnc:html-markup-style-info-set-font-color! is unused")
-  (begin
-    (gnc:html-markup-style-info-set-closing-font-tag!
-     record (not (eq? value #f)))
-    (gnc:html-markup-style-info-set-font-color-internal! record value)))
-
-(define gnc:html-markup-style-info-closing-font-tag
-  ;; deprecated
-  (record-accessor <html-markup-style-info> 'closing-font-tag?))
-
-(define gnc:html-markup-style-info-set-closing-font-tag!
-  ;; deprecated
-  (record-modifier <html-markup-style-info> 'closing-font-tag?))
-
 (define gnc:html-markup-style-info-inheritable? 
   (record-accessor <html-markup-style-info> 'inheritable?))
 
@@ -180,18 +115,6 @@
         (lambda (k v) (hash-set! ht k v))
         (gnc:html-markup-style-info-attributes s1))
        ht)
-     ;; font face
-     (or (gnc:html-markup-style-info-font-face s1)
-         (gnc:html-markup-style-info-font-face s2))
-     ;; font size
-     (or (gnc:html-markup-style-info-font-size s1)
-         (gnc:html-markup-style-info-font-size s2))
-     ;; color
-     (or (gnc:html-markup-style-info-font-color s1)
-         (gnc:html-markup-style-info-font-color s2))
-     ;; closing font tag
-     (or (gnc:html-markup-style-info-closing-font-tag s1)
-         (gnc:html-markup-style-info-closing-font-tag s2))
      ;; inheritable (get this always from child)
      (gnc:html-markup-style-info-inheritable? s1)))))
 
diff --git a/gnucash/report/report.scm b/gnucash/report/report.scm
index 2429cdf45..18f8a9458 100644
--- a/gnucash/report/report.scm
+++ b/gnucash/report/report.scm
@@ -415,17 +415,6 @@
 (export gnc:html-markup-style-info-set-tag!)
 (export gnc:html-markup-style-info-attributes)
 (export gnc:html-markup-style-info-set-attributes!)
-(export gnc:html-markup-style-info-font-face)               ;deprecated
-(export gnc:html-markup-style-info-set-font-face-internal!) ;deprecated
-(export gnc:html-markup-style-info-set-font-face!)          ;deprecated
-(export gnc:html-markup-style-info-font-size)               ;deprecated
-(export gnc:html-markup-style-info-set-font-size-internal!) ;deprecated
-(export gnc:html-markup-style-info-set-font-size!)          ;deprecated
-(export gnc:html-markup-style-info-font-color)              ;deprecated
-(export gnc:html-markup-style-info-set-font-color-internal!) ;deprecated
-(export gnc:html-markup-style-info-set-font-color!)          ;deprecated
-(export gnc:html-markup-style-info-closing-font-tag)         ;deprecated
-(export gnc:html-markup-style-info-set-closing-font-tag!)    ;deprecated
 (export gnc:html-markup-style-info-inheritable?)
 (export gnc:html-markup-style-info-set-inheritable?!)
 (export gnc:html-markup-style-info-set-attribute!)

commit ea9d5fb197f67483e0502b0fba05681d3e8053dc
Merge: 21f053398 0973d54d6
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Nov 25 19:45:26 2019 +0800

    Merge branch 'maint'

diff --cc gnucash/report/report.scm
index ff4755f6b,a351038b0..2429cdf45
--- a/gnucash/report/report.scm
+++ b/gnucash/report/report.scm
@@@ -685,6 -696,10 +685,8 @@@
  (export gnc:collector+)
  (export gnc:collector-)
  (export gnc:commodity-collector-get-negated)
 -(export gnc:commodity-collectorlist-get-merged) ;deprecated
 -(export gnc-commodity-collector-commodity-count)
+ (export gnc:account-accumulate-at-dates)
+ (export gnc:account-get-balance-at-date)
  (export gnc:account-get-balances-at-dates)
  (export gnc:account-get-comm-balance-at-date)
  (export gnc:account-get-comm-value-interval)
diff --cc gnucash/report/reports/standard/balsheet-pnl.scm
index e707181c7,de0d44e49..a043e39d1
--- a/gnucash/report/reports/standard/balsheet-pnl.scm
+++ b/gnucash/report/reports/standard/balsheet-pnl.scm
@@@ -30,9 -30,19 +30,19 @@@
  (use-modules (gnucash gnc-module))
  (use-modules (gnucash gettext))
  (use-modules (srfi srfi-1))
+ (use-modules (srfi srfi-2))
+ (use-modules (srfi srfi-9))
  
 -(gnc:module-load "gnucash/report/report-system" 0)
 +(gnc:module-load "gnucash/report" 0)
  
+ ;; the column-data record. the gnc:account-accumulate-at-dates will
+ ;; create a record for each report-date with split-data as follows:
+ (define-record-type :col-datum
+   (make-datum last-split split-balance)
+   col-datum?
+   (last-split col-datum-get-last-split)
+   (split-balance col-datum-get-split-balance))
+ 
  (define FOOTER-TEXT
    (gnc:make-html-text
     (_ "WARNING: Foreign currency conversions, and unrealized gains
diff --cc gnucash/report/reports/standard/category-barchart.scm
index 4e5765831,b477ad282..01756ddf7
--- a/gnucash/report/reports/standard/category-barchart.scm
+++ b/gnucash/report/reports/standard/category-barchart.scm
@@@ -350,18 -355,19 +350,19 @@@ developing over time")
            (define account-balances-alist
              (map
               (lambda (acc)
-                (let ((ignore-closing? (not (gnc:account-is-inc-exp? acc))))
+                (let* ((comm (xaccAccountGetCommodity acc))
 -                      (split->elt (if (reverse-balance? acc)
++                      (split->elt (if reverse-balance?
+                                       (lambda (s)
+                                         (gnc:make-gnc-monetary
+                                          comm (- (xaccSplitGetNoclosingBalance s))))
+                                       (lambda (s)
+                                         (gnc:make-gnc-monetary
+                                          comm (xaccSplitGetNoclosingBalance s))))))
                   (cons acc
-                        (map
-                         (if reverse-balance? gnc:monetary-neg identity)
-                         (gnc:account-get-balances-at-dates
-                          acc dates-list
-                          #:split->amount
-                          (lambda (s)
-                            (and (or ignore-closing?
-                                     (not (xaccTransGetIsClosingTxn
-                                           (xaccSplitGetParent s))))
-                                 (xaccSplitGetAmount s))))))))
+                        (gnc:account-accumulate-at-dates
+                         acc dates-list
+                         #:split->elt split->elt
+                         #:nosplit->elt (gnc:make-gnc-monetary comm 0)))))
               ;; all selected accounts (of report-specific type), *and*
               ;; their descendants (of any type) need to be scanned.
               (gnc:accounts-and-all-descendants accounts)))
diff --cc gnucash/report/test/test-report-utilities.scm
index 6fe13ced2,b0f12da76..8eeba1c9d
--- a/gnucash/report/test/test-report-utilities.scm
+++ b/gnucash/report/test/test-report-utilities.scm
@@@ -22,7 -22,9 +22,8 @@@
    (test-commodity-collector)
    (test-get-account-balances)
    (test-monetary-adders)
 -  (test-make-stats-collector)
    (test-utility-functions)
+   (test-get-account-at-dates)
    (test-end "report-utilities"))
  
  (define (NDayDelta t64 n)
@@@ -554,3 -579,145 +555,98 @@@
       "gnc:monetary+ with >1 currency fails"
       #t
       (gnc:monetary+ usd10 usd10 eur8))))
+ 
 -(define (test-make-stats-collector)
 -  (test-begin "gnc:make-stats-collector")
 -  (let ((s (gnc:make-stats-collector)))
 -    (test-equal "initial s is 0"
 -      0
 -      (s 'total #f))
 -
 -    (s 'add 5)
 -    (test-equal "s+=5 is 5"
 -      5
 -      (s 'total #f))
 -
 -    (s 'add 9)
 -    (test-equal "s+=9 is 14"
 -      14
 -      (s 'total #f))
 -
 -    (test-equal "avg(s) is 7"
 -      7
 -      (s 'average #f))
 -
 -    (s 'add 1E12)
 -    (s 'add -1E13)
 -
 -    (test-equal "max(s) is now 1E12"
 -      1E12
 -      (s 'getmax #f))
 -
 -    (test-equal "min(s) is now -1E13"
 -      -1E13
 -      (s 'getmin #f))
 -
 -    (s 'add 9E12)
 -    (test-equal "newavg(s) is 2.8"
 -      2.8
 -      (s 'average #f))
 -
 -    (test-equal "num(s) is 5"
 -      5
 -      (s 'numitems #f))
 -
 -    (s 'reset #f)
 -    (test-equal "after reset num(s) is 0"
 -      0
 -      (s 'numitems #f)))
 -  (test-end "gnc:make-stats-collector"))
 -
+ (define (monetary->pair mon)
+   (cons (gnc-commodity-get-mnemonic (gnc:gnc-monetary-commodity mon))
+         (gnc:gnc-monetary-amount mon)))
+ 
+ (define (split->amount split)
+   (and split (xaccSplitGetAmount split)))
+ 
+ (define (test-get-account-at-dates)
+   (test-group-with-cleanup "test-get-balance-at-dates"
+     (let* ((env (create-test-env))
+            (structure (list "Root" (list (cons 'type ACCT-TYPE-ASSET))
+                             (list "Asset"
+                                   (list "Bank1")
+                                   (list "Bank2")
+                                   (list "Bank3")
+                                   (list "Bank4"))
+                             (list "Income" (list (cons 'type ACCT-TYPE-INCOME)))))
+            (accounts (env-create-account-structure-alist env structure))
+            (bank1 (assoc-ref accounts "Bank1"))
+            (bank2 (assoc-ref accounts "Bank2"))
+            (bank3 (assoc-ref accounts "Bank3"))
+            (bank4 (assoc-ref accounts "Bank4"))
+            (income (assoc-ref accounts "Income"))
+            (dates (gnc:make-date-list (gnc-dmy2time64 01 01 1970)
+                                       (gnc-dmy2time64 01 04 1970)
+                                       MonthDelta)))
+ 
+       (test-equal "empty account"
+         '(#f #f #f #f)
+         (gnc:account-accumulate-at-dates bank1 dates))
+ 
+       (env-transfer env 15 01 1970 income bank1 10)
+       (env-transfer env 15 02 1970 income bank1 10)
+       (env-transfer env 15 03 1970 income bank1 10)
+       (let ((clos (env-transfer env 18 03 1970 income bank1 10)))
+         (xaccTransSetIsClosingTxn clos #t))
+ 
+       (env-transfer env 15 12 1969 income bank2 10)
+       (env-transfer env 17 12 1969 income bank2 10)
+       (env-transfer env 15 02 1970 income bank2 10)
+ 
+       (env-transfer env 15 03 1970 income bank3 10)
+ 
+       (env-transfer env 15 01 1970 income bank4 10)
+ 
+       (test-equal "1 txn in each slot"
+         '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 40))
+         (map monetary->pair (gnc:account-get-balances-at-dates bank1 dates)))
+ 
+       (test-equal "1 txn in each slot, tests #:split->amount to ignore closing"
+         '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 30))
+         (map monetary->pair
+              (gnc:account-get-balances-at-dates
+               bank1 dates #:split->amount
+               (lambda (s)
+                 (and (not (xaccTransGetIsClosingTxn (xaccSplitGetParent s)))
+                      (xaccSplitGetAmount s))))))
+ 
+       (test-equal "2 txn before start, 1 in middle"
+         '(("USD" . 20) ("USD" . 20) ("USD" . 30) ("USD" . 30))
+         (map monetary->pair (gnc:account-get-balances-at-dates bank2 dates)))
+ 
+       (test-equal "1 txn in late slot"
+         '(("USD" . 0) ("USD" . 0) ("USD" . 0) ("USD" . 10))
+         (map monetary->pair (gnc:account-get-balances-at-dates bank3 dates)))
+ 
+       (test-equal "1 txn in early slot"
+         '(("USD" . 0) ("USD" . 10) ("USD" . 10) ("USD" . 10))
+         (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates)))
+ 
+       (test-equal "1 txn in each slot"
+         '(#f 10 20 40)
+         (gnc:account-accumulate-at-dates bank1 dates))
+ 
+       (test-equal "2 txn before start, 1 in middle"
+         '(20 20 30 30)
+         (gnc:account-accumulate-at-dates bank2 dates))
+ 
+       (test-equal "1 txn in late slot"
+         '(#f #f #f 10)
+         (gnc:account-accumulate-at-dates bank3 dates))
+ 
+       (test-equal "1 txn in late slot, tests #:nosplit->elt"
+         '(x x x 10)
+         (gnc:account-accumulate-at-dates bank3 dates #:nosplit->elt 'x))
+ 
+       (test-equal "1 txn in late slot, tests #:split->elt"
+         '(#f #f #f y)
+         (gnc:account-accumulate-at-dates bank3 dates #:split->elt (const 'y)))
+ 
+       (test-equal "1 txn in early slot"
+         '(#f 10 10 10)
+         (gnc:account-accumulate-at-dates bank4 dates)))
+     (teardown)))

commit 0973d54d6cb50772de05b4f3ab607e0644ebeb13
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Nov 25 08:07:11 2019 +0800

    [report-utilities] make gnc:owner-splits->aging-list less noisy
    
    invoice processing messages dumped in debug mode. use gnc:msg

diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index ac73a83dd..3422fdeaa 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -1124,7 +1124,8 @@ flawed. see report-utilities.scm. please update reports.")
 ;; Outputs: aging list of numbers
 (define-public (gnc:owner-splits->aging-list splits num-buckets
                                              to-date date-type receivable?)
-  (gnc:pk 'processing: (qof-print-date to-date) date-type 'receivable? receivable?)
+  (gnc:msg "processing " (qof-print-date to-date) " date-type " date-type
+           "receivable? " receivable?)
   (let ((bucket-dates (make-extended-interval-list to-date (- num-buckets 2)))
         (buckets (make-vector num-buckets 0)))
     (define (addbucket! idx amt)
@@ -1148,7 +1149,8 @@ flawed. see report-utilities.scm. please update reports.")
                (date (if (eq? date-type 'postdate)
                          (gncInvoiceGetDatePosted invoice)
                          (gncInvoiceGetDateDue invoice))))
-          (gnc:pk 'next=invoice (car splits) invoice bal)
+          (gnc:msg "next " (gnc:strify (car splits))
+                   " invoice " (gnc:strify invoice) " bal " bal)
           (let loop ((idx 0) (bucket-dates bucket-dates))
             (if (< date (car bucket-dates))
                 (addbucket! idx bal)
@@ -1170,14 +1172,15 @@ flawed. see report-utilities.scm. please update reports.")
                        (- payment-left (gncInvoiceGetTotal (car inv-and-splits)))
                        payment-left))
                  (if receivable? (- payment) payment) invoices-and-splits)))
-          (gnc:pk 'payment (car splits) payment "->" overpayment)
+          (gnc:msg "next " (gnc:strify (car splits)) " payment " payment
+                   " overpayment " overpayment)
           (when (positive? overpayment)
             (addbucket! (1- num-buckets) (- overpayment)))
           (lp (cdr splits) invoices-and-splits)))
 
        ;; not invoice/prepayment. regular or payment split.
        (else
-        (gnc:pk 'next=skipped (car splits))
+        (gnc:msg "next " (gnc:strify (car splits)) " skipped")
         (lp (cdr splits) invoices-and-splits))))))
 
 ;; ***************************************************************************

commit 9adf8db1a2910f637d5773ae3f4ff34d1a7b317a
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Nov 24 21:01:04 2019 +0800

    [report-utilities] gnc:strify can render vectors too

diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index 20cf23c15..ac73a83dd 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -1260,6 +1260,10 @@ flawed. see report-utilities.scm. please update reports.")
                       "(list "
                       (string-join (map gnc:strify d) " ")
                       ")"))
+      (and (vector? d) (string-append
+                        "(vector "
+                        (string-join (map gnc:strify (vector->list d)) " ")
+                        ")"))
       (and (pair? d) (format #f "(~a . ~a)"
                              (gnc:strify (car d))
                              (if (eq? (car d) 'absolute)

commit aa451bc89d5d1a5a1e66df4501e90e533683cb0b
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Nov 24 21:57:00 2019 +0800

    [balsheet-pnl] compact functions
    
    readability fixes

diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 0a19293ab..de0d44e49 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -814,24 +814,20 @@ also show overall period profit & loss."))
          ;; into report-currency if the latter exists. The price
          ;; applicable the the col-idx column is used. If the monetary
          ;; cannot be converted (eg. missing price) then it is not converted.
-         (convert-curr-fn (lambda (monetary col-idx)
-                            (and common-currency
-                                 (not (gnc-commodity-equal
-                                       (gnc:gnc-monetary-commodity monetary)
-                                       common-currency))
-                                 (has-price? (gnc:gnc-monetary-commodity monetary))
-                                 (let ((date
-                                        (cond
-                                         ((eq? price-source 'pricedb-latest)
-                                          (current-time))
-                                         ((eq? col-idx 'overall-period)
-                                          (last report-dates))
-                                         (else
-                                          (list-ref report-dates
-                                                    (case report-type
-                                                      ((balsheet) col-idx)
-                                                      ((pnl) (1+ col-idx))))))))
-                                   (exchange-fn monetary common-currency date)))))
+         (convert-curr-fn
+          (lambda (monetary col-idx)
+            (and common-currency
+                 (not (gnc-commodity-equal
+                       (gnc:gnc-monetary-commodity monetary)
+                       common-currency))
+                 (has-price? (gnc:gnc-monetary-commodity monetary))
+                 (exchange-fn
+                  monetary common-currency
+                  (cond
+                   ((eq? price-source 'pricedb-latest) (current-time))
+                   ((eq? col-idx 'overall-period) (last report-dates))
+                   ((eq? report-type 'balsheet) (list-ref report-dates col-idx))
+                   ((eq? report-type 'pnl) (list-ref report-dates (1+ col-idx))))))))
 
          ;; the following function generates an gnc:html-text object
          ;; to dump exchange rate for a particular column. From the
@@ -930,9 +926,7 @@ also show overall period profit & loss."))
      ((eq? report-type 'balsheet)
       (let* ((get-cell-monetary-fn
               (lambda (account col-idx)
-                (let ((account-balance-list (assoc-ref accounts-balances account)))
-                  (and account-balance-list
-                       (list-ref account-balance-list col-idx)))))
+                (list-ref (assoc-ref accounts-balances account) col-idx)))
 
              ;; an alist of (cons account vector-of-splits) where each
              ;; split is the last one at date boundary
@@ -1017,6 +1011,7 @@ also show overall period profit & loss."))
                       (map
                        gnc:monetary-neg
                        (income-expense-balance 'format gnc:make-gnc-monetary #f))))))
+
              (chart (and include-chart? incr
                          (gnc:make-report-anchor
                           networth-barchart-uuid report-obj

commit d6a5c8ba5409138901bf451588531827d31172b3
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Nov 24 21:38:42 2019 +0800

    [balsheet-pnl] accumulate column data report-dates
    
    Previous would call gnc:account-get-balances-at-dates and
    gnc:account-accumulate-at-dates to retrieve balances and
    last-split. This commit reduces the O(2*N) operation to O(N) which
    becomes significant with accounts with large number of splits.
    
    Maybe we can reduce other account splitlist scans in the future; these
    will be easier and would only require augmenting the record.

diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 2cf5d745a..0a19293ab 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -31,9 +31,18 @@
 (use-modules (gnucash gettext))
 (use-modules (srfi srfi-1))
 (use-modules (srfi srfi-2))
+(use-modules (srfi srfi-9))
 
 (gnc:module-load "gnucash/report/report-system" 0)
 
+;; the column-data record. the gnc:account-accumulate-at-dates will
+;; create a record for each report-date with split-data as follows:
+(define-record-type :col-datum
+  (make-datum last-split split-balance)
+  col-datum?
+  (last-split col-datum-get-last-split)
+  (split-balance col-datum-get-split-balance))
+
 (define FOOTER-TEXT
   (gnc:make-html-text
    (_ "WARNING: Foreign currency conversions, and unrealized gains
@@ -770,12 +779,31 @@ also show overall period profit & loss."))
            ((eq? report-type 'pnl) (list startdate enddate))
            (else (list enddate))))
 
-         (accounts-balances (map
-                             (lambda (acc)
-                               (cons acc
-                                     (gnc:account-get-balances-at-dates
-                                      acc report-dates)))
-                             accounts))
+         ;; an alist of (cons account account-cols-data) whereby
+         ;; account-cols-data is a list of col-datum records
+         (accounts-cols-data
+          (map
+           (lambda (acc)
+             (let* ((comm (xaccAccountGetCommodity acc))
+                    (amt->monetary (lambda (amt) (gnc:make-gnc-monetary comm amt))))
+               (cons acc
+                     (gnc:account-accumulate-at-dates
+                      acc report-dates
+                      #:nosplit->elt (make-datum #f (amt->monetary 0))
+                      #:split->elt
+                      (lambda (s)
+                        (make-datum s (amt->monetary (xaccSplitGetBalance s))))))))
+           accounts))
+
+         ;; an alist of (cons account account-balances) whereby
+         ;; account-balances is a list of monetary amounts
+         (accounts-balances
+          (map
+           (lambda (acc)
+             (cons acc (let ((cols-data (assoc-ref accounts-cols-data acc)))
+                         (map col-datum-get-split-balance cols-data))))
+           accounts))
+
          (exchange-fn (and common-currency
                            (gnc:case-exchange-time-fn
                             price-source common-currency
@@ -906,13 +934,14 @@ also show overall period profit & loss."))
                   (and account-balance-list
                        (list-ref account-balance-list col-idx)))))
 
-             ;; an alist of account->last-split at date boundary
+             ;; an alist of (cons account vector-of-splits) where each
+             ;; split is the last one at date boundary
              (accounts-splits-dates
               (map
                (lambda (acc)
-                 (cons acc (list->vector
-                            (gnc:account-accumulate-at-dates
-                             acc report-dates #:split->elt identity))))
+                 (cons acc (let ((cols-data (assoc-ref accounts-cols-data acc)))
+                             (list->vector
+                              (map col-datum-get-last-split cols-data)))))
                accounts))
 
              (get-cell-anchor-fn

commit a261c8aadb7904f6a7e0143290d2d82e87a09d86
Merge: e83f5b056 91183a2af
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Mon Nov 25 07:14:05 2019 +0100

    Merge branch 'emacs' into maint


commit 91183a2af51858b6a252edc47372c944c0cd82b7
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Mon Nov 25 00:42:40 2019 +0100

    drop emacs_trailer from xml files.
    
    Modern versions of emacs know, how to behave on xml files.

diff --git a/libgnucash/backend/xml/io-example-account.cpp b/libgnucash/backend/xml/io-example-account.cpp
index 80572b053..918217ee4 100644
--- a/libgnucash/backend/xml/io-example-account.cpp
+++ b/libgnucash/backend/xml/io-example-account.cpp
@@ -425,8 +425,6 @@ gnc_write_example_account (GncExampleAccount* gea, const gchar* filename)
 
     fprintf (out, "</" GNC_ACCOUNT_STRING ">\n\n");
 
-    write_emacs_trailer (out);
-
     fclose (out);
 
     return TRUE;
diff --git a/libgnucash/backend/xml/io-gncxml-v2.cpp b/libgnucash/backend/xml/io-gncxml-v2.cpp
index 085119e35..7f7fc900f 100644
--- a/libgnucash/backend/xml/io-gncxml-v2.cpp
+++ b/libgnucash/backend/xml/io-gncxml-v2.cpp
@@ -1601,8 +1601,7 @@ gnc_book_write_to_xml_file_v2 (
 
     /* Try to write as much as possible */
     if (!out
-        || !gnc_book_write_to_xml_filehandle_v2 (book, out)
-        || !write_emacs_trailer (out))
+        || !gnc_book_write_to_xml_filehandle_v2 (book, out))
         success = FALSE;
 
     /* Close the output stream */
@@ -1633,8 +1632,7 @@ gnc_book_write_accounts_to_xml_file_v2 (QofBackend* qof_be, QofBook* book,
 
     /* Try to write as much as possible */
     if (!out
-        || !gnc_book_write_accounts_to_xml_filehandle_v2 (qof_be, book, out)
-        || !write_emacs_trailer (out))
+        || !gnc_book_write_accounts_to_xml_filehandle_v2 (qof_be, book, out))
         success = FALSE;
 
     /* Close the output stream */
@@ -2153,7 +2151,7 @@ gnc_xml2_parse_with_subst (GncXmlBackend* xml_be, QofBook* book, GHashTable* sub
                   xml_be, book, (sixtp_push_handler) parse_with_subst_push_handler,
                   push_data, GNC_BOOK_XML2_FILE);
     g_free (push_data);
-    
+
     if (success)
         qof_instance_set_dirty (QOF_INSTANCE (book));
 
diff --git a/libgnucash/backend/xml/io-utils.cpp b/libgnucash/backend/xml/io-utils.cpp
index c2d033e38..8d9cbfe44 100644
--- a/libgnucash/backend/xml/io-utils.cpp
+++ b/libgnucash/backend/xml/io-utils.cpp
@@ -33,23 +33,6 @@ extern "C"
 #include "gnc-xml.h"
 #include "io-utils.h"
 #include "sixtp.h"
-/*
-  <!-- Local variables: -->
-  <!-- mode: C          -->
-  <!-- End:             -->
-*/
-
-static const gchar* emacs_trailer =
-    "<!-- Local variables: -->\n"
-    "<!-- mode: xml        -->\n"
-    "<!-- End:             -->\n";
-
-
-gboolean
-write_emacs_trailer (FILE* out)
-{
-    return fprintf (out, "%s", emacs_trailer) >= 0;
-}
 
 static gboolean
 write_one_account (FILE* out,
@@ -66,7 +49,7 @@ write_one_account (FILE* out,
     xmlFreeNode (accnode);
 
     g_return_val_if_fail(gd, FALSE);
-    
+
     if (ferror (out) || fprintf (out, "\n") < 0)
         return FALSE;
 
diff --git a/libgnucash/backend/xml/io-utils.h b/libgnucash/backend/xml/io-utils.h
index 9c78470a7..c6a4ba442 100644
--- a/libgnucash/backend/xml/io-utils.h
+++ b/libgnucash/backend/xml/io-utils.h
@@ -37,7 +37,5 @@ gboolean write_accounts (FILE* out, QofBook* book, sixtp_gdv2* gd);
 gboolean write_book_parts (FILE* out, QofBook* book);
 gboolean write_commodities (FILE* out, QofBook* book, sixtp_gdv2* gd);
 
-gboolean write_emacs_trailer (FILE* out);
-
 
 #endif /* IO_UTILS_H */

commit e83f5b05688db27ac6b7d4298c7fd084004abb51
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Nov 24 09:49:14 2019 +0800

    Bug 797506 - New Aging errors out with guile backtrace in case of a few uncommon transactions
    
    Some invalid txns with splits in the wrong APAR account can be
    processed, creating cases whereby split->owner returns an invalid
    freshly-allocated owner.

diff --git a/gnucash/report/business-reports/new-aging.scm b/gnucash/report/business-reports/new-aging.scm
index 231d9c333..cd5362a99 100644
--- a/gnucash/report/business-reports/new-aging.scm
+++ b/gnucash/report/business-reports/new-aging.scm
@@ -213,6 +213,7 @@ exist but have no suitable transactions."))
          (show-zeros (op-value gnc:pagename-general optname-show-zeros))
          (date-type (op-value gnc:pagename-general optname-date-driver))
          (query (qof-query-create-for-splits))
+         (invalid-splits '())
          (document (gnc:make-html-document)))
 
     ;; for sorting and delete-duplicates. compare GUIDs
@@ -224,6 +225,10 @@ exist but have no suitable transactions."))
       ((if (eq? sort-order 'increasing) string<? string>?)
        (gncOwnerGetName a) (gncOwnerGetName b)))
 
+    (define (html-markup-ol lst)
+      (apply gnc:html-markup "ol"
+             (map (lambda (elt) (gnc:html-markup "li" elt)) lst)))
+
     ;; set default title
     (gnc:html-document-set-title! document report-title)
 
@@ -325,14 +330,45 @@ exist but have no suitable transactions."))
                  (reverse accounts-and-owners))
 
                 (for-each gncOwnerFree tofree)
-                (gnc:html-document-add-object! document table)))))
+                (gnc:html-document-add-object! document table)
+
+                (unless (null? invalid-splits)
+                  (gnc:html-document-add-object!
+                   document (gnc:make-html-text (gnc:html-markup-br)))
+
+                  (gnc:html-document-add-object!
+                   document
+                   (gnc:make-html-text
+                    (_ "Please note some transactions were not processed")
+                    (html-markup-ol
+                     (map
+                      (lambda (invalid-split)
+                        (gnc:html-markup-anchor
+                         (gnc:split-anchor-text (cadr invalid-split))
+                         (car invalid-split)))
+                      invalid-splits)))))))))
 
            (else
             (let* ((account (car accounts))
                    (splits-acc-others (list-split splits split-from-acct? account))
                    (acc-splits (car splits-acc-others))
                    (other-acc-splits (cdr splits-acc-others))
-                   (split-owners (map split->owner acc-splits))
+                   (split-owners
+                    (fold
+                     (lambda (a b)
+                       (let ((owner (split->owner a)))
+                         (cond
+                          ((gncOwnerIsValid owner) (cons owner b))
+                          ;; some payment splits may have no owner in
+                          ;; this account. skip. see bug 797506.
+                          (else
+                           (gnc:warn "split " (gnc:strify a) " has no owner")
+                           (set! invalid-splits
+                             (cons (list (_ "Payment has no owner") a)
+                                   invalid-splits))
+                           (gncOwnerFree owner)
+                           b))))
+                     '() acc-splits))
                    (acc-owners (sort (sort-and-delete-duplicates
                                       split-owners ownerGUID<? gnc-owner-equal?)
                                      owner<?)))

commit 287b857a1839d37408bcabfe650d07a365b1096a
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Nov 23 22:32:19 2019 +0800

    [html-style-info] deprecate font-face/size/color
    
    Only 'font-color was demonstrated in hello-world.scm, and these were
    never used in practice.

diff --git a/gnucash/report/report-system/html-document.scm b/gnucash/report/report-system/html-document.scm
index a9c6b162d..3744eb79a 100644
--- a/gnucash/report/report-system/html-document.scm
+++ b/gnucash/report/report-system/html-document.scm
@@ -268,6 +268,8 @@
         ;;       as a call to this function just like any other tag, passing face/size/color as attributes.
         (if (or face size color)
             (begin
+              (issue-deprecation-warning
+               "this section is unreachable in code")
               (push "<font ")
               (if face
                   (begin
diff --git a/gnucash/report/report-system/html-style-info.scm b/gnucash/report/report-system/html-style-info.scm
index 38c166da8..f57653c40 100644
--- a/gnucash/report/report-system/html-style-info.scm
+++ b/gnucash/report/report-system/html-style-info.scm
@@ -36,12 +36,12 @@
 ;;  tag         : string for start tag
 ;;  attributes  : hash of attribute to value (unsafe!)
 ;;  attribute   : single attribute-value pair in a list 
-;;  font-face   : string for <font face="">
-;;  font-size   : string for <font size="">
-;;  font-color  : color (a valid HTML color spec)
+;;  font-face   : string for <font face=""> (deprecate)
+;;  font-size   : string for <font size=""> (deprecate)
+;;  font-color  : color (a valid HTML color spec) (deprecate)
 ;;  closing-font-tag: private data (computed from font-face,
 ;;                                  font-size, font-color)
-;;                    don't set directly, please!
+;;                    don't set directly, please! (deprecate)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 
@@ -77,6 +77,7 @@
 
       ((field value . rest)
        (when (memq field '(font-size font-face font-color))
+         (issue-deprecation-warning "font-face/size/color deprecated.")
          (gnc:html-markup-style-info-set-closing-font-tag! style (and value #t)))
        ((record-modifier <html-markup-style-info> field) style value)
        (loop rest))
@@ -96,40 +97,55 @@
   (record-modifier <html-markup-style-info> 'attributes))
 
 (define gnc:html-markup-style-info-font-face
+  ;; deprecated
   (record-accessor <html-markup-style-info> 'font-face))
 
 (define gnc:html-markup-style-info-set-font-face-internal!
+  ;; deprecated
   (record-modifier <html-markup-style-info> 'font-face))
 
 (define (gnc:html-markup-style-info-set-font-face! record value)
+  (issue-deprecation-warning
+   "gnc:html-markup-style-info-set-font-face! is unused")
   (gnc:html-markup-style-info-set-closing-font-tag! record value)
   (gnc:html-markup-style-info-set-font-face-internal! record value))
 
 (define gnc:html-markup-style-info-font-size
+  ;; deprecated
   (record-accessor <html-markup-style-info> 'font-size))
 
 (define gnc:html-markup-style-info-set-font-size-internal!
+  ;; deprecated
   (record-modifier <html-markup-style-info> 'font-size))
 
 (define (gnc:html-markup-style-info-set-font-size! record value)
+  (issue-deprecation-warning
+   "gnc:html-markup-style-info-set-font-size! is unused")
   (gnc:html-markup-style-info-set-closing-font-tag! record value)
   (gnc:html-markup-style-info-set-font-size-internal! record value))
 
 (define gnc:html-markup-style-info-font-color
+  ;; deprecated
   (record-accessor <html-markup-style-info> 'font-color))
 
 (define gnc:html-markup-style-info-set-font-color-internal!
+  ;; deprecated
   (record-modifier <html-markup-style-info> 'font-color))
 
 (define (gnc:html-markup-style-info-set-font-color! record value)
+  (issue-deprecation-warning
+   "gnc:html-markup-style-info-set-font-color! is unused")
   (begin
     (gnc:html-markup-style-info-set-closing-font-tag!
      record (not (eq? value #f)))
     (gnc:html-markup-style-info-set-font-color-internal! record value)))
 
 (define gnc:html-markup-style-info-closing-font-tag
+  ;; deprecated
   (record-accessor <html-markup-style-info> 'closing-font-tag?))
+
 (define gnc:html-markup-style-info-set-closing-font-tag!
+  ;; deprecated
   (record-modifier <html-markup-style-info> 'closing-font-tag?))
 
 (define gnc:html-markup-style-info-inheritable? 
diff --git a/gnucash/report/report-system/report-system.scm b/gnucash/report/report-system/report-system.scm
index 4a80105f0..a351038b0 100644
--- a/gnucash/report/report-system/report-system.scm
+++ b/gnucash/report/report-system/report-system.scm
@@ -430,17 +430,17 @@
 (export gnc:html-markup-style-info-set-tag!)
 (export gnc:html-markup-style-info-attributes)
 (export gnc:html-markup-style-info-set-attributes!)
-(export gnc:html-markup-style-info-font-face)
-(export gnc:html-markup-style-info-set-font-face-internal!)
-(export gnc:html-markup-style-info-set-font-face!)
-(export gnc:html-markup-style-info-font-size)
-(export gnc:html-markup-style-info-set-font-size-internal!)
-(export gnc:html-markup-style-info-set-font-size!)
-(export gnc:html-markup-style-info-font-color)
-(export gnc:html-markup-style-info-set-font-color-internal!)
-(export gnc:html-markup-style-info-set-font-color!)
-(export gnc:html-markup-style-info-closing-font-tag)
-(export gnc:html-markup-style-info-set-closing-font-tag!)
+(export gnc:html-markup-style-info-font-face)               ;deprecated
+(export gnc:html-markup-style-info-set-font-face-internal!) ;deprecated
+(export gnc:html-markup-style-info-set-font-face!)          ;deprecated
+(export gnc:html-markup-style-info-font-size)               ;deprecated
+(export gnc:html-markup-style-info-set-font-size-internal!) ;deprecated
+(export gnc:html-markup-style-info-set-font-size!)          ;deprecated
+(export gnc:html-markup-style-info-font-color)              ;deprecated
+(export gnc:html-markup-style-info-set-font-color-internal!) ;deprecated
+(export gnc:html-markup-style-info-set-font-color!)          ;deprecated
+(export gnc:html-markup-style-info-closing-font-tag)         ;deprecated
+(export gnc:html-markup-style-info-set-closing-font-tag!)    ;deprecated
 (export gnc:html-markup-style-info-inheritable?)
 (export gnc:html-markup-style-info-set-inheritable?!)
 (export gnc:html-markup-style-info-set-attribute!)

commit 729bf5ae6aa17a3ef9ec416cb0134c2b94f7ace1
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Nov 23 22:28:33 2019 +0800

    [hello-world] remove 'Text Color' option - will be deprecated
    
    ... because deleting an option does not cause crash in saved-reports.

diff --git a/gnucash/report/utility-reports/hello-world.scm b/gnucash/report/utility-reports/hello-world.scm
index b947cbddc..18d7a5562 100644
--- a/gnucash/report/utility-reports/hello-world.scm
+++ b/gnucash/report/utility-reports/hello-world.scm
@@ -153,13 +153,6 @@
       (list #xf6 #xff #xdb #xff)
       255
       #f))
-    (add-option
-     (gnc:make-color-option
-      (N_ "Hello, World!") (N_ "Text Color")
-      "f" (N_ "This is a color option.")
-      (list #x00 #x00 #x00 #xff)
-      255
-      #f))
     
     ;; This is an account list option. The user can select one
     ;; or (possibly) more accounts from the list of accounts
@@ -247,7 +240,6 @@ option like this.")
                          (op-value "Hello, World!" "Combo Date Option")))
         (num-val      (op-value "Hello, World!" "Number Option"))
         (bg-color-op  (get-op   "Hello, World!" "Background Color"))
-        (txt-color-op (get-op   "Hello, World!" "Text Color"))
         (accounts     (op-value "Hello Again"   "An account list option"))
         (list-val     (op-value "Hello Again"   "A list option"))
         (crash-val    (op-value "Testing"       "Crash the report"))
@@ -304,8 +296,7 @@ option like this.")
       
       (gnc:html-document-set-style!
        document "body" 
-       'attribute (list "bgcolor" (gnc:color-option->html bg-color-op))
-       'font-color (gnc:color-option->html txt-color-op))
+       'attribute (list "bgcolor" (gnc:color-option->html bg-color-op)))
       
       ;; the title of the report will be rendered by the 
       ;; selected style sheet.  All we have to do is set it in the

commit 101cc91698279a661ca89310f4a404ee211faf14
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Nov 22 23:38:22 2019 +0800

    [reports] use new api gnc:account-accumulate-at-dates
    
    queries xaccSplitGetNoclosingBalance (which is a pointer dereference)
    instead of a more complex conditional-based snippet for split->amount,
    should be faster.
    
    The category-barchart change will choose the appropriate split->elt
    function according to the account type. This is more efficient than
    the old split->amount function which includes a conditional.
    
    Note we don't need to test for account being income/expense:
    asset/liability accounts do not have Closing transactions. Therefore
    we can use xaccSplitGetNoclosingBalance for splits from any account
    type.

diff --git a/gnucash/report/standard-reports/category-barchart.scm b/gnucash/report/standard-reports/category-barchart.scm
index c217a138c..b477ad282 100644
--- a/gnucash/report/standard-reports/category-barchart.scm
+++ b/gnucash/report/standard-reports/category-barchart.scm
@@ -355,18 +355,19 @@ developing over time"))
           (define account-balances-alist
             (map
              (lambda (acc)
-               (let ((ignore-closing? (not (gnc:account-is-inc-exp? acc))))
+               (let* ((comm (xaccAccountGetCommodity acc))
+                      (split->elt (if (reverse-balance? acc)
+                                      (lambda (s)
+                                        (gnc:make-gnc-monetary
+                                         comm (- (xaccSplitGetNoclosingBalance s))))
+                                      (lambda (s)
+                                        (gnc:make-gnc-monetary
+                                         comm (xaccSplitGetNoclosingBalance s))))))
                  (cons acc
-                       (map
-                        (if (reverse-balance? acc) gnc:monetary-neg identity)
-                        (gnc:account-get-balances-at-dates
-                         acc dates-list
-                         #:split->amount
-                         (lambda (s)
-                           (and (or ignore-closing?
-                                    (not (xaccTransGetIsClosingTxn
-                                          (xaccSplitGetParent s))))
-                                (xaccSplitGetAmount s))))))))
+                       (gnc:account-accumulate-at-dates
+                        acc dates-list
+                        #:split->elt split->elt
+                        #:nosplit->elt (gnc:make-gnc-monetary comm 0)))))
              ;; all selected accounts (of report-specific type), *and*
              ;; their descendants (of any type) need to be scanned.
              (gnc:accounts-and-all-descendants accounts)))
diff --git a/gnucash/report/standard-reports/net-charts.scm b/gnucash/report/standard-reports/net-charts.scm
index 396103b2d..c3ce5cb03 100644
--- a/gnucash/report/standard-reports/net-charts.scm
+++ b/gnucash/report/standard-reports/net-charts.scm
@@ -251,16 +251,14 @@
     ;; gets an account alist balances
     ;; output: (list acc bal0 bal1 bal2 ...)
     (define (account->balancelist account)
-      (let ((ignore-closing? (not (gnc:account-is-inc-exp? account))))
+      (let ((comm (xaccAccountGetCommodity account)))
         (cons account
-              (gnc:account-get-balances-at-dates
+              (gnc:account-accumulate-at-dates
                account dates-list
-               #:split->amount
-               (lambda (s)
-                 (and (or ignore-closing?
-                          (not (xaccTransGetIsClosingTxn
-                                (xaccSplitGetParent s))))
-                      (xaccSplitGetAmount s)))))))
+               #:split->elt (lambda (s)
+                              (gnc:make-gnc-monetary
+                               comm (xaccSplitGetNoclosingBalance s)))
+               #:nosplit->elt (gnc:make-gnc-monetary comm 0)))))
 
     ;; This calculates the balances for all the 'account-balances' for
     ;; each element of the list 'dates'. Uses the collector->monetary

commit 68b0abdfa6a51f317159167bb9259d4a45290afc
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Nov 22 23:28:33 2019 +0800

    [report-utilities] gnc:account-accumulate-at-dates: specify default elt
    
    if acc has no splits before report-date, the nosplit->elt will specify
    the default value to be inserted in the result list.
    
    e.g. consider:
    
    dates are (date1 date2 date3 date4 date5)
    account has splits starting after date2:
    
    (gnc:account-accumulate-at-dates account dates
     #:split->elt (const 'yea) #:nosplit->elt 'nay)
    
    results in '(nay nay yea yea yea)

diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index cd909c97e..20cf23c15 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -483,6 +483,8 @@ flawed. see report-utilities.scm. please update reports.")
 ;; of split->elt results along the way at dates specified in dates.
 ;; in: acc   - account
 ;;     dates - a list of time64 -- it will be sorted
+;;     nosplit->elt - if report-dates occur *before* earliest split, the
+;;                    result list will be padded with this value
 ;;     split->date - an unary lambda. result to compare with dates list.
 ;;     split->elt - an unary lambda. it will be called successfully for each
 ;;                  split in the account until the last date. the result
@@ -490,14 +492,16 @@ flawed. see report-utilities.scm. please update reports.")
 ;;                  xaccSplitGetBalance makes it similar to
 ;;                  gnc:account-get-balances-at-dates.
 ;; out: (list elt0 elt1 ...), each entry is the result of split->elt
+;;      or nosplit->elt
 (define* (gnc:account-accumulate-at-dates
           acc dates #:key
+          (nosplit->elt #f)
           (split->date (compose xaccTransGetDate xaccSplitGetParent))
           (split->elt xaccSplitGetBalance))
   (let lp ((splits (xaccAccountGetSplitList acc))
            (dates (sort dates <))
            (result '())
-           (last-result #f))
+           (last-result nosplit->elt))
     (match dates
 
       ;; end of dates. job done!
diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index adf648a36..b0f12da76 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -709,6 +709,14 @@
         '(#f #f #f 10)
         (gnc:account-accumulate-at-dates bank3 dates))
 
+      (test-equal "1 txn in late slot, tests #:nosplit->elt"
+        '(x x x 10)
+        (gnc:account-accumulate-at-dates bank3 dates #:nosplit->elt 'x))
+
+      (test-equal "1 txn in late slot, tests #:split->elt"
+        '(#f #f #f y)
+        (gnc:account-accumulate-at-dates bank3 dates #:split->elt (const 'y)))
+
       (test-equal "1 txn in early slot"
         '(#f 10 10 10)
         (gnc:account-accumulate-at-dates bank4 dates)))

commit 17d39388660c45b302d2ba02ec7e2981ee0ee8dc
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Nov 18 17:35:46 2019 +0000

    [I18N] Remove trailing colon and space from source file dialogue labels

diff --git a/gnucash/gnome-utils/dialog-account.c b/gnucash/gnome-utils/dialog-account.c
index 539b982bc..5383f3032 100644
--- a/gnucash/gnome-utils/dialog-account.c
+++ b/gnucash/gnome-utils/dialog-account.c
@@ -2153,7 +2153,7 @@ gnc_account_cascade_color_dialog (GtkWidget *window, Account *account)
                       G_CALLBACK(default_color_button_cb), (gpointer)color_button);
 
     string = g_strdup_printf(_( "Set the account color for account '%s' "
-                                "including all sub-accounts to the selected color:"),
+                                "including all sub-accounts to the selected color"),
                              gnc_account_get_full_name(account));
     gtk_label_set_text (GTK_LABEL(color_label), string);
     g_free (string);
diff --git a/gnucash/gnome-utils/dialog-commodity.c b/gnucash/gnome-utils/dialog-commodity.c
index 97220e6e0..74675a985 100644
--- a/gnucash/gnome-utils/dialog-commodity.c
+++ b/gnucash/gnome-utils/dialog-commodity.c
@@ -171,7 +171,7 @@ gnc_ui_select_commodity_modal_full(gnc_commodity * orig_sel,
     if (user_message != NULL)
         initial = user_message;
     else if ((cusip != NULL) || (fullname != NULL) || (mnemonic != NULL))
-        initial = _("\nPlease select a commodity to match:");
+        initial = _("\nPlease select a commodity to match");
     else
         initial = "";
 
@@ -285,17 +285,17 @@ gnc_ui_select_commodity_create(const gnc_commodity * orig_sel,
     {
     case DIAG_COMM_ALL:
         title = _("Select security/currency");
-        text = _("_Security/currency:");
+        text = _("_Security/currency");
         break;
     case DIAG_COMM_NON_CURRENCY:
     case DIAG_COMM_NON_CURRENCY_SELECT:
         title = _("Select security");
-        text = _("_Security:");
+        text = _("_Security");
         break;
     case DIAG_COMM_CURRENCY:
     default:
         title = _("Select currency");
-        text = _("Cu_rrency:");
+        text = _("Cu_rrency");
         button = GTK_WIDGET(gtk_builder_get_object (builder, "ss_new_button"));
         gtk_widget_destroy(button);
         break;
diff --git a/gnucash/gnome-utils/dialog-dup-trans.c b/gnucash/gnome-utils/dialog-dup-trans.c
index 02af63096..690e57f6d 100644
--- a/gnucash/gnome-utils/dialog-dup-trans.c
+++ b/gnucash/gnome-utils/dialog-dup-trans.c
@@ -242,7 +242,7 @@ gnc_dup_trans_dialog_internal (GtkWidget * parent, const char* title,
     if (!show_date && !tnum)
     {
         // The "date" and the "tnum" fields aren't being asked for, this is a split copy
-        gtk_label_set_markup(GTK_LABEL (dt_dialog->num_label), _("Action/Number:"));
+        gtk_label_set_markup(GTK_LABEL (dt_dialog->num_label), _("Action/Number"));
     }
 
     if (tnum)
diff --git a/gnucash/gnome-utils/dialog-options.c b/gnucash/gnome-utils/dialog-options.c
index 084aa9331..ec1b03fcc 100644
--- a/gnucash/gnome-utils/dialog-options.c
+++ b/gnucash/gnome-utils/dialog-options.c
@@ -1286,7 +1286,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
             gtk_grid_set_column_spacing (GTK_GRID (book_currency_data->book_currency_table), 6);
 
             tip = gnc_currency_accounting_option_currency_documentation(option);
-            widget_label = gtk_label_new( _("Book currency:") );
+            widget_label = gtk_label_new( _("Book currency") );
             gtk_widget_set_tooltip_text(book_currency_data->book_currency_table,
                         tip && *tip ? _(tip) : "");
 
@@ -1315,7 +1315,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
             gtk_grid_set_column_spacing (GTK_GRID (policy_table), 6);
 
             tip = gnc_currency_accounting_option_policy_documentation(option);
-            widget_label = gtk_label_new( _("Default lot tracking policy:") );
+            widget_label = gtk_label_new( _("Default lot tracking policy") );
             gtk_widget_set_tooltip_text(policy_table, tip && *tip ? _(tip) : "");
 
             gtk_widget_set_halign (GTK_WIDGET(widget_label), GTK_ALIGN_START);
@@ -1343,7 +1343,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
             gtk_grid_set_column_spacing (GTK_GRID (book_currency_data->gain_loss_account_table), 6);
 
             tip = gnc_currency_accounting_option_gain_loss_account_documentation(option);
-            widget_label = gtk_label_new( _("Default gain/loss account:") );
+            widget_label = gtk_label_new( _("Default gain/loss account") );
             gnc_label_set_alignment (GTK_WIDGET(widget_label), 0.0, 0.5);
 
             gtk_widget_set_tooltip_text(book_currency_data->gain_loss_account_table,
@@ -2451,12 +2451,9 @@ gnc_option_set_ui_widget_string (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2523,12 +2520,9 @@ gnc_option_set_ui_widget_currency (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2554,12 +2548,9 @@ gnc_option_set_ui_widget_commodity (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2592,12 +2583,9 @@ gnc_option_set_ui_widget_multichoice (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2623,10 +2611,8 @@ gnc_option_set_ui_widget_date (GNCOption *option, GtkBox *page_box,
     gchar *colon_name;
     GtkWidget *eventbox;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2692,12 +2678,9 @@ gnc_option_set_ui_widget_account_sel (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
     GList *acct_type_list;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     acct_type_list = gnc_option_get_account_type_list(option);
     value = gnc_account_sel_new();
@@ -2752,17 +2735,14 @@ gnc_option_set_ui_widget_number_range (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
     GtkAdjustment *adj;
     gdouble lower_bound = G_MINDOUBLE;
     gdouble upper_bound = G_MAXDOUBLE;
     gdouble step_size = 1.0;
     int num_decimals = 0;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2818,13 +2798,10 @@ gnc_option_set_ui_widget_color (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
     gboolean use_alpha;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2855,12 +2832,9 @@ gnc_option_set_ui_widget_font (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2893,13 +2867,10 @@ gnc_option_set_ui_widget_pixmap (GNCOption *option, GtkBox *page_box,
     GtkWidget *value;
     GtkWidget *label;
     GtkWidget *button;
-    gchar *colon_name;
 
     ENTER("option %p(%s), name %s", option, gnc_option_name(option), name);
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -3029,17 +3000,14 @@ gnc_option_set_ui_widget_plot_size (GNCOption *option, GtkBox *page_box,
     GtkWidget *label;
     GtkWidget *px_butt, *p_butt;
     GtkWidget *hbox;
-    gchar *colon_name;
     GtkAdjustment *adj_px, *adj_percent;
     gdouble lower_bound = G_MINDOUBLE;
     gdouble upper_bound = G_MAXDOUBLE;
     gdouble step_size = 1.0;
     int num_decimals = 0;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
@@ -3125,12 +3093,9 @@ gnc_option_set_ui_widget_budget (GNCOption *option, GtkBox *page_box,
 {
     GtkWidget *value;
     GtkWidget *label;
-    gchar *colon_name;
 
-    colon_name = g_strconcat(name, ":", NULL);
-    label = gtk_label_new(colon_name);
+    label = gtk_label_new(name);
     gnc_label_set_alignment(label, 1.0, 0.5);
-    g_free(colon_name);
 
     *enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
diff --git a/gnucash/gnome-utils/dialog-transfer.c b/gnucash/gnome-utils/dialog-transfer.c
index 6f10d66e6..786b537ad 100644
--- a/gnucash/gnome-utils/dialog-transfer.c
+++ b/gnucash/gnome-utils/dialog-transfer.c
@@ -2039,12 +2039,12 @@ gnc_xfer_dialog_create(GtkWidget *parent, XferDialog *xferData)
         if (use_accounting_labels)
         {
             gtk_label_set_text(GTK_LABEL(gtk_bin_get_child (GTK_BIN(xferData->amount_radio))),
-                               _("Debit Amount:"));
+                               _("Debit Amount"));
         }
         else
         {
             gtk_label_set_text(GTK_LABEL(gtk_bin_get_child (GTK_BIN(xferData->amount_radio))),
-                               _("To Amount:"));
+                               _("To Amount"));
         }
     }
 
diff --git a/gnucash/gnome-utils/gnc-dense-cal.c b/gnucash/gnome-utils/gnc-dense-cal.c
index eb7864d8b..9bd6a872d 100644
--- a/gnucash/gnome-utils/gnc-dense-cal.c
+++ b/gnucash/gnome-utils/gnc-dense-cal.c
@@ -288,7 +288,7 @@ gnc_dense_cal_init(GncDenseCal *dcal)
 
     {
         GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-        GtkWidget *label = gtk_label_new (_("View:"));
+        GtkWidget *label = gtk_label_new (_("View"));
 
         gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
         gtk_widget_set_halign (label, GTK_ALIGN_END);
diff --git a/gnucash/gnome-utils/gnc-frequency.h b/gnucash/gnome-utils/gnc-frequency.h
index cda847075..9889c0ba6 100644
--- a/gnucash/gnome-utils/gnc-frequency.h
+++ b/gnucash/gnome-utils/gnc-frequency.h
@@ -91,13 +91,13 @@ void gnc_frequency_save_to_recurrence(GncFrequency *gf, GList **recurrences, GDa
 
 /**
  * Set the label text for the frequency option menu.  In the current
- * implementation, the default label text is "Frequency:"
+ * implementation, the default label text is "Frequency"
  */
 void gnc_frequency_set_frequency_label_text (GncFrequency *gf, const gchar *txt);
 
 /**
  * Set the label text for the date entry widget. In the current
- * impelmentation, the default label text is "Start Date:"
+ * impelmentation, the default label text is "Start Date"
  */
 void gnc_frequency_set_date_label_text (GncFrequency *gf, const gchar *txt);
 
diff --git a/gnucash/gnome/assistant-acct-period.c b/gnucash/gnome/assistant-acct-period.c
index cae72aded..75ca82125 100644
--- a/gnucash/gnome/assistant-acct-period.c
+++ b/gnucash/gnome/assistant-acct-period.c
@@ -586,8 +586,8 @@ ap_assistant_create (AcctPeriodInfo *info)
                             gnc_frequency_new_from_recurrence(info->period, &info->closing_date));
 
     /* Change the text so that its more mainingful for this assistant */
-    gnc_frequency_set_frequency_label_text(info->period_menu, _("Period:"));
-    gnc_frequency_set_date_label_text(info->period_menu, _("Closing Date:"));
+    gnc_frequency_set_frequency_label_text(info->period_menu, _("Period"));
+    gnc_frequency_set_date_label_text(info->period_menu, _("Closing Date"));
 
     /* Reparent to the correct location */
 
diff --git a/gnucash/gnome/business-options-gnome.c b/gnucash/gnome/business-options-gnome.c
index cc058803b..7841f8ecb 100644
--- a/gnucash/gnome/business-options-gnome.c
+++ b/gnucash/gnome/business-options-gnome.c
@@ -80,13 +80,8 @@ create_owner_widget (GNCOption *option, GncOwnerType type, GtkWidget *hbox)
 static GtkWidget *
 make_name_label (char *name)
 {
-    GtkWidget *label;
-    gchar *colon_name;
-
-    colon_name = g_strconcat (name, ":", (char *)NULL);
-    label = gtk_label_new (colon_name);
+    GtkWidget *label = gtk_label_new (name);
     gnc_label_set_alignment (label, 1.0, 0.5);
-    g_free (colon_name);
 
     return label;
 }
diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c
index 41ba0f628..2ceadf056 100644
--- a/gnucash/gnome/gnc-split-reg.c
+++ b/gnucash/gnome/gnc-split-reg.c
@@ -1353,11 +1353,11 @@ gsr_default_associate_handler_location (GNCSplitReg *gsr, Transaction *trans, gb
     // add a label and set entry text if required
     if (have_uri)
     {
-        label = gtk_label_new (_("Amend URL:"));
+        label = gtk_label_new (_("Amend URL"));
         gtk_entry_set_text (GTK_ENTRY (entry), xaccTransGetAssociation (trans));
     }
     else
-        label = gtk_label_new (_("Enter URL like https://www.gnucash.org:"));
+        label = gtk_label_new (_("Enter URL like https://www.gnucash.org"));
 
     // pack label and entry to content area
     gnc_label_set_alignment (label, 0.0, 0.5);
@@ -2482,7 +2482,7 @@ gsr_create_summary_bar( GNCSplitReg *gsr )
 
     gsr->filter_label = add_summary_label (summarybar, FALSE, "", NULL);
     gsr->sort_arrow = gtk_image_new_from_icon_name ("image-missing", GTK_ICON_SIZE_SMALL_TOOLBAR);
-    gsr->sort_label = add_summary_label (summarybar, FALSE, _("Sort By: "), gsr->sort_arrow);
+    gsr->sort_label = add_summary_label (summarybar, FALSE, _("Sort By:"), gsr->sort_arrow);
 
     gnc_widget_style_context_add_class (GTK_WIDGET(gsr->filter_label), "gnc-class-highlight");
     gnc_widget_style_context_add_class (GTK_WIDGET(gsr->sort_arrow), "gnc-class-highlight");
diff --git a/gnucash/gnome/window-reconcile.c b/gnucash/gnome/window-reconcile.c
index cdec7b93a..cf8ab1eb0 100644
--- a/gnucash/gnome/window-reconcile.c
+++ b/gnucash/gnome/window-reconcile.c
@@ -1195,7 +1195,7 @@ gnc_reconcile_window_create_view_box(Account *account,
     gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
-    label = gtk_label_new(_("Total:"));
+    label = gtk_label_new(_("Total"));
     gnc_label_set_alignment(label, 1.0, 0.5);
     gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
 
@@ -1886,7 +1886,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
             gtk_box_pack_start(GTK_BOX(totals_hbox), value_vbox, TRUE, TRUE, 0);
 
             /* statement date title/value */
-            title = gtk_label_new(_("Statement Date:"));
+            title = gtk_label_new(_("Statement Date"));
             gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
@@ -1896,7 +1896,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
 
             /* starting balance title/value */
-            title = gtk_label_new(_("Starting Balance:"));
+            title = gtk_label_new(_("Starting Balance"));
             gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 3);
 
@@ -1906,7 +1906,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 3);
 
             /* ending balance title/value */
-            title = gtk_label_new(_("Ending Balance:"));
+            title = gtk_label_new(_("Ending Balance"));
             gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
@@ -1916,7 +1916,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
 
             /* reconciled balance title/value */
-            title = gtk_label_new(_("Reconciled Balance:"));
+            title = gtk_label_new(_("Reconciled Balance"));
             gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
@@ -1926,7 +1926,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
             gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
 
             /* difference title/value */
-            title = gtk_label_new(_("Difference:"));
+            title = gtk_label_new(_("Difference"));
             gnc_label_set_alignment(title, 1.0, 0.5);
             gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
 
diff --git a/gnucash/gnome/window-reconcile2.c b/gnucash/gnome/window-reconcile2.c
index 96648f564..27e8dba32 100644
--- a/gnucash/gnome/window-reconcile2.c
+++ b/gnucash/gnome/window-reconcile2.c
@@ -1145,7 +1145,7 @@ gnc_reconcile_window_create_view_box (Account *account,
     gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
     gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
 
-    label = gtk_label_new (_("Total:"));
+    label = gtk_label_new (_("Total"));
     gnc_label_set_alignment (label, 1.0, 0.5);
     gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
 
@@ -1826,7 +1826,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_start (GTK_BOX (totals_hbox), value_vbox, TRUE, TRUE, 0);
 
             /* statement date title/value */
-            title = gtk_label_new (_("Statement Date:"));
+            title = gtk_label_new (_("Statement Date"));
             gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
@@ -1836,7 +1836,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
 
             /* starting balance title/value */
-            title = gtk_label_new(_("Starting Balance:"));
+            title = gtk_label_new(_("Starting Balance"));
             gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 3);
 
@@ -1846,7 +1846,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 3);
 
             /* ending balance title/value */
-            title = gtk_label_new (_("Ending Balance:"));
+            title = gtk_label_new (_("Ending Balance"));
             gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
@@ -1856,7 +1856,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
 
             /* reconciled balance title/value */
-            title = gtk_label_new (_("Reconciled Balance:"));
+            title = gtk_label_new (_("Reconciled Balance"));
             gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
@@ -1866,7 +1866,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
             gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
 
             /* difference title/value */
-            title = gtk_label_new (_("Difference:"));
+            title = gtk_label_new (_("Difference"));
             gnc_label_set_alignment (title, 1.0, 0.5);
             gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
 
diff --git a/gnucash/import-export/qif-imp/assistant-qif-import.c b/gnucash/import-export/qif-imp/assistant-qif-import.c
index ada03f855..ddaea8853 100644
--- a/gnucash/import-export/qif-imp/assistant-qif-import.c
+++ b/gnucash/import-export/qif-imp/assistant-qif-import.c
@@ -903,7 +903,7 @@ new_security_notebook_page (SCM security_hash_key, gnc_commodity *comm, QIFImpor
     comm_nb_page->name_entry = gtk_entry_new ();
     gtk_entry_set_text (GTK_ENTRY(comm_nb_page->name_entry),
                         gnc_commodity_get_fullname (comm));
-    label = gtk_label_new_with_mnemonic (_("_Name or description:"));
+    label = gtk_label_new_with_mnemonic (_("_Name or description"));
     gtk_label_set_mnemonic_widget (GTK_LABEL(label), comm_nb_page->name_entry);
     gnc_label_set_alignment (label, 0, 0.5);
 
@@ -927,7 +927,7 @@ new_security_notebook_page (SCM security_hash_key, gnc_commodity *comm, QIFImpor
     gtk_entry_set_text (GTK_ENTRY(comm_nb_page->mnemonic_entry),
                        gnc_commodity_get_mnemonic (comm));
     label = gtk_label_new_with_mnemonic (
-                _("_Ticker symbol or other abbreviation:"));
+                _("_Ticker symbol or other abbreviation"));
     gtk_label_set_mnemonic_widget (GTK_LABEL(label), comm_nb_page->mnemonic_entry);
     gnc_label_set_alignment (label, 0, 0.5);
 
@@ -961,7 +961,7 @@ new_security_notebook_page (SCM security_hash_key, gnc_commodity *comm, QIFImpor
 
     gnc_cbwe_add_completion (GTK_COMBO_BOX(comm_nb_page->namespace_combo));
     label = gtk_label_new_with_mnemonic (
-                _("_Exchange or abbreviation type:"));
+                _("_Exchange or abbreviation type"));
     gtk_label_set_mnemonic_widget (GTK_LABEL(label), comm_nb_page->namespace_combo);
     gnc_label_set_alignment (label, 0, 0.5);
 

commit 5586ccaa5f724bb70ef6450910dae8ec9e814266
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Nov 18 17:34:46 2019 +0000

    [I18N] Remove trailing colon and space from glade dialogue labels - part2

diff --git a/gnucash/gtkbuilder/dialog-preferences.glade b/gnucash/gtkbuilder/dialog-preferences.glade
index 939bcdc0e..906428d2b 100644
--- a/gnucash/gtkbuilder/dialog-preferences.glade
+++ b/gnucash/gtkbuilder/dialog-preferences.glade
@@ -247,7 +247,7 @@
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/start-choice-relative">
-                    <property name="label" translatable="yes">_Relative:</property>
+                    <property name="label" translatable="yes">_Relative</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -267,7 +267,7 @@
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/start-choice-absolute">
-                    <property name="label" translatable="yes">_Absolute:</property>
+                    <property name="label" translatable="yes">_Absolute</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -287,7 +287,7 @@
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/end-choice-relative">
-                    <property name="label" translatable="yes">Re_lative:</property>
+                    <property name="label" translatable="yes">Re_lative</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -307,7 +307,7 @@
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/end-choice-absolute">
-                    <property name="label" translatable="yes">Ab_solute:</property>
+                    <property name="label" translatable="yes">Ab_solute</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -616,7 +616,7 @@
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkRadioButton" id="pref/general/currency-choice-other">
-                        <property name="label" translatable="yes">Ch_oose:</property>
+                        <property name="label" translatable="yes">Ch_oose</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -653,7 +653,7 @@
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes">Character:</property>
+                    <property name="label" translatable="yes">Character</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -666,7 +666,7 @@
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes">Sample:</property>
+                    <property name="label" translatable="yes">Sample</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -753,7 +753,7 @@
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkRadioButton" id="pref/general/currency-choice-locale">
-                        <property name="label" translatable="yes">Loc_ale:</property>
+                        <property name="label" translatable="yes">Loc_ale</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -1428,7 +1428,7 @@ many months before the current month:</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes">New search _limit:</property>
+                    <property name="label" translatable="yes">New search _limit</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/dialogs.search/new-search-limit</property>
                   </object>
@@ -1480,7 +1480,7 @@ many months before the current month:</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes">Auto-save time _interval:</property>
+                    <property name="label" translatable="yes">Auto-save time _interval</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general/autosave-interval-minutes</property>
                   </object>
@@ -1581,7 +1581,7 @@ many months before the current month:</property>
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="pref/general/retain-type-days">
-                    <property name="label" translatable="yes">For:</property>
+                    <property name="label" translatable="yes">For</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -1641,7 +1641,7 @@ many months before the current month:</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes">Time to _wait for answer:</property>
+                    <property name="label" translatable="yes">Time to _wait for answer</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general/autosave-interval-minutes</property>
                   </object>
@@ -1926,7 +1926,7 @@ many months before the current month:</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">Default _font:</property>
+                        <property name="label" translatable="yes">Default _font</property>
                         <property name="use_markup">True</property>
                         <property name="use_underline">True</property>
                         <property name="mnemonic_widget">pref/dialogs.checkprinting/default-font</property>
@@ -2444,7 +2444,7 @@ many months before the current month:</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes">Number of _transactions:</property>
+                    <property name="label" translatable="yes">Number of _transactions</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general.register/max-transactions</property>
                   </object>
@@ -2537,7 +2537,7 @@ many months before the current month:</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
-                    <property name="label" translatable="yes" comments="Register2 feature">Number of _characters for auto complete:</property>
+                    <property name="label" translatable="yes" comments="Register2 feature">Number of _characters for auto complete</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">pref/general.register/key-length</property>
                   </object>
@@ -2715,7 +2715,7 @@ many months before the current month:</property>
                     <property name="left_padding">12</property>
                     <child>
                       <object class="GtkRadioButton" id="pref/general.report/currency-choice-other">
-                        <property name="label" translatable="yes">Ch_oose:</property>
+                        <property name="label" translatable="yes">Ch_oose</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -2741,7 +2741,7 @@ many months before the current month:</property>
                     <property name="left_padding">12</property>
                     <child>
                       <object class="GtkRadioButton" id="pref/general.report/currency-choice-locale">
-                        <property name="label" translatable="yes">Loc_ale:</property>
+                        <property name="label" translatable="yes">Loc_ale</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -3193,7 +3193,7 @@ many months before the current month:</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">_Width:</property>
+                        <property name="label" translatable="yes">_Width</property>
                         <property name="use_underline">True</property>
                         <property name="ellipsize">middle</property>
                       </object>
diff --git a/gnucash/gtkbuilder/dialog-price.glade b/gnucash/gtkbuilder/dialog-price.glade
index 25e50f317..c0c586ef7 100644
--- a/gnucash/gtkbuilder/dialog-price.glade
+++ b/gnucash/gtkbuilder/dialog-price.glade
@@ -131,7 +131,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Namespace:</property>
+                <property name="label" translatable="yes">_Namespace</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">namespace_cbwe</property>
@@ -146,7 +146,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Security:</property>
+                <property name="label" translatable="yes">_Security</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">commodity_cbwe</property>
@@ -161,7 +161,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Cu_rrency:</property>
+                <property name="label" translatable="yes">Cu_rrency</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -175,7 +175,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Date:</property>
+                <property name="label" translatable="yes">_Date</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -188,7 +188,7 @@
               <object class="GtkLabel" id="source_label">
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">S_ource:</property>
+                <property name="label" translatable="yes">S_ource</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">source_entry</property>
@@ -203,7 +203,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Type:</property>
+                <property name="label" translatable="yes">_Type</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">type_combobox</property>
@@ -218,7 +218,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Price:</property>
+                <property name="label" translatable="yes">_Price</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -615,7 +615,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">From these Commodities:</property>
+                <property name="label" translatable="yes">From these Commodities</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -628,7 +628,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Keeping the last available price for option:</property>
+                <property name="label" translatable="yes">Keeping the last available price for option</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -643,7 +643,7 @@
                 <property name="halign">start</property>
                 <property name="valign">start</property>
                 <property name="hexpand">False</property>
-                <property name="label" translatable="yes">Source:</property>
+                <property name="label" translatable="yes">Source</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -747,7 +747,7 @@ These prices were added so that there's always a "nearest in time" price for eve
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Before _Date:</property>
+                <property name="label" translatable="yes">Before _Date</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
diff --git a/gnucash/gtkbuilder/dialog-print-check.glade b/gnucash/gtkbuilder/dialog-print-check.glade
index aac407bd3..01456cf29 100644
--- a/gnucash/gtkbuilder/dialog-print-check.glade
+++ b/gnucash/gtkbuilder/dialog-print-check.glade
@@ -367,7 +367,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Check _format:</property>
+                    <property name="label" translatable="yes">Check _format</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">check_format_combobox</property>
@@ -382,7 +382,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Check po_sition:</property>
+                    <property name="label" translatable="yes">Check po_sition</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">check_position_combobox</property>
@@ -398,7 +398,7 @@
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="valign">start</property>
-                    <property name="label" translatable="yes">_Date format:</property>
+                    <property name="label" translatable="yes">_Date format</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
@@ -541,7 +541,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Checks on first _page:</property>
+                    <property name="label" translatable="yes">Checks on first _page</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">first_page_count_entry</property>
                   </object>
@@ -662,7 +662,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Pa_yee:</property>
+                    <property name="label" translatable="yes">Pa_yee</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">payee_x_entry</property>
@@ -677,7 +677,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Date:</property>
+                    <property name="label" translatable="yes">_Date</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">date_x_entry</property>
@@ -692,7 +692,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Amount (_words):</property>
+                    <property name="label" translatable="yes">Amount (_words)</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">amount_words_x_entry</property>
@@ -707,7 +707,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Amount (_numbers):</property>
+                    <property name="label" translatable="yes">Amount (_numbers)</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">amount_numbers_x_entry</property>
@@ -722,7 +722,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Notes:</property>
+                    <property name="label" translatable="yes">_Notes</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">notes_x_entry</property>
@@ -915,7 +915,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Units:</property>
+                    <property name="label" translatable="yes">_Units</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">units_combobox</property>
@@ -946,7 +946,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Translation:</property>
+                    <property name="label" translatable="yes">_Translation</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">translation_x_entry</property>
@@ -1060,7 +1060,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Address:</property>
+                    <property name="label" translatable="yes">_Address</property>
                     <property name="use_underline">True</property>
                   </object>
                   <packing>
@@ -1105,7 +1105,7 @@ to print an address on the check.</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Memo:</property>
+                    <property name="label" translatable="yes">_Memo</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">memo_x_entry</property>
diff --git a/gnucash/gtkbuilder/dialog-report.glade b/gnucash/gtkbuilder/dialog-report.glade
index 4e4c76ce9..0a1386158 100644
--- a/gnucash/gtkbuilder/dialog-report.glade
+++ b/gnucash/gtkbuilder/dialog-report.glade
@@ -548,7 +548,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Row span:</property>
+                <property name="label" translatable="yes">_Row span</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">row_spin</property>
@@ -563,7 +563,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Column span:</property>
+                <property name="label" translatable="yes">_Column span</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">col_spin</property>
@@ -799,7 +799,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Name:</property>
+                <property name="label" translatable="yes">_Name</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">name_entry</property>
@@ -814,7 +814,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Template:</property>
+                <property name="label" translatable="yes">_Template</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">template_combobox</property>
diff --git a/gnucash/gtkbuilder/dialog-sx.glade b/gnucash/gtkbuilder/dialog-sx.glade
index 677eb905e..9fb42d6a5 100644
--- a/gnucash/gtkbuilder/dialog-sx.glade
+++ b/gnucash/gtkbuilder/dialog-sx.glade
@@ -228,13 +228,13 @@
                   <object class="GtkGrid" id="param_table">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="column_spacing">5</property>
+                    <property name="column_spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label847842">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Name:</property>
+                        <property name="label" translatable="yes">Name</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -247,7 +247,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Frequency:</property>
+                        <property name="label" translatable="yes">Frequency</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -260,7 +260,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Start Date:</property>
+                        <property name="label" translatable="yes">Start Date</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -332,7 +332,7 @@
                                 <property name="can_focus">False</property>
                                 <child>
                                   <object class="GtkRadioButton" id="end_on_date_button">
-                                    <property name="label" translatable="yes">End Date:</property>
+                                    <property name="label" translatable="yes">End Date</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
@@ -363,7 +363,7 @@
                                 <property name="can_focus">False</property>
                                 <child>
                                   <object class="GtkRadioButton" id="n_occurrences_button">
-                                    <property name="label" translatable="yes">Number of Occurrences:</property>
+                                    <property name="label" translatable="yes">Number of Occurrences</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
@@ -421,7 +421,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">End: </property>
+                        <property name="label" translatable="yes">End</property>
                         <property name="use_markup">True</property>
                       </object>
                       <packing>
@@ -603,7 +603,7 @@
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
                 <property name="margin_left">12</property>
-                <property name="label" translatable="yes">Crea_te in advance:</property>
+                <property name="label" translatable="yes">Crea_te in advance</property>
                 <property name="use_underline">True</property>
                 <property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/create-days</property>
               </object>
@@ -625,7 +625,7 @@
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
                 <property name="margin_left">12</property>
-                <property name="label" translatable="yes">R_emind in advance:</property>
+                <property name="label" translatable="yes">R_emind in advance</property>
                 <property name="use_underline">True</property>
                 <property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/remind-days</property>
               </object>
@@ -836,6 +836,7 @@
               <object class="GtkBox" id="hbox96">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label847707">
                     <property name="visible">True</property>
@@ -930,7 +931,7 @@
                             <property name="column_spacing">6</property>
                             <child>
                               <object class="GtkCheckButton" id="advance_opt">
-                                <property name="label" translatable="yes">Create in advance:</property>
+                                <property name="label" translatable="yes">Create in advance</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
@@ -945,7 +946,7 @@
                             </child>
                             <child>
                               <object class="GtkCheckButton" id="remind_opt">
-                                <property name="label" translatable="yes">Remind in advance:</property>
+                                <property name="label" translatable="yes">Remind in advance</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
@@ -1228,7 +1229,7 @@
                                     </child>
                                     <child>
                                       <object class="GtkRadioButton" id="rb_enddate">
-                                        <property name="label" translatable="yes">Until:</property>
+                                        <property name="label" translatable="yes">Until</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
@@ -1244,7 +1245,7 @@
                                     </child>
                                     <child>
                                       <object class="GtkRadioButton" id="rb_num_occur">
-                                        <property name="label" translatable="yes">For:</property>
+                                        <property name="label" translatable="yes">For</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
diff --git a/gnucash/gtkbuilder/dialog-tax-info.glade b/gnucash/gtkbuilder/dialog-tax-info.glade
index 9d9519880..1774b04da 100644
--- a/gnucash/gtkbuilder/dialog-tax-info.glade
+++ b/gnucash/gtkbuilder/dialog-tax-info.glade
@@ -116,7 +116,7 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
-                            <property name="label" translatable="yes">Name:</property>
+                            <property name="label" translatable="yes">Name</property>
                             <property name="use_markup">True</property>
                             <property name="use_underline">True</property>
                             <property name="justify">right</property>
@@ -139,7 +139,7 @@
                           <object class="GtkLabel" id="label847742">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Type:</property>
+                            <property name="label" translatable="yes">Type</property>
                             <property name="use_markup">True</property>
                             <property name="use_underline">True</property>
                             <property name="justify">right</property>
diff --git a/gnucash/gtkbuilder/dialog-tax-table.glade b/gnucash/gtkbuilder/dialog-tax-table.glade
index 03755a9d8..f16bec408 100644
--- a/gnucash/gtkbuilder/dialog-tax-table.glade
+++ b/gnucash/gtkbuilder/dialog-tax-table.glade
@@ -451,7 +451,7 @@
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="valign">start</property>
-                    <property name="label" translatable="yes">_Account:</property>
+                    <property name="label" translatable="yes">_Account</property>
                     <property name="use_underline">True</property>
                   </object>
                 </child>
@@ -471,7 +471,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Value: </property>
+                    <property name="label" translatable="yes">_Value</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                   </object>
@@ -492,7 +492,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Type: </property>
+                    <property name="label" translatable="yes">_Type</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">type_combobox</property>
@@ -543,7 +543,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Name: </property>
+                    <property name="label" translatable="yes">_Name</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">name_entry</property>
diff --git a/gnucash/gtkbuilder/dialog-totd.glade b/gnucash/gtkbuilder/dialog-totd.glade
index 6b0d5f865..f85ba8ac5 100644
--- a/gnucash/gtkbuilder/dialog-totd.glade
+++ b/gnucash/gtkbuilder/dialog-totd.glade
@@ -95,7 +95,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes"><b>Tip of the Day:</b></property>
+                    <property name="label" translatable="yes"><b>Tip of the Day</b></property>
                     <property name="use_markup">True</property>
                     <property name="use_underline">True</property>
                   </object>
diff --git a/gnucash/gtkbuilder/dialog-transfer.glade b/gnucash/gtkbuilder/dialog-transfer.glade
index 81b3ad534..cb4f00fb7 100644
--- a/gnucash/gtkbuilder/dialog-transfer.glade
+++ b/gnucash/gtkbuilder/dialog-transfer.glade
@@ -112,7 +112,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">Amount:</property>
+                        <property name="label" translatable="yes">Amount</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -139,7 +139,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">Date:</property>
+                        <property name="label" translatable="yes">Date</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -167,7 +167,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">Num:</property>
+                        <property name="label" translatable="yes">Num</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -192,7 +192,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">Description:</property>
+                        <property name="label" translatable="yes">Description</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -219,7 +219,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">Memo:</property>
+                        <property name="label" translatable="yes">Memo</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -281,7 +281,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">Currency:</property>
+                        <property name="label" translatable="yes">Currency</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -369,7 +369,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">Currency:</property>
+                        <property name="label" translatable="yes">Currency</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -512,7 +512,7 @@
                     <property name="column_spacing">12</property>
                     <child>
                       <object class="GtkRadioButton" id="price_radio">
-                        <property name="label" translatable="yes">Exchange Rate:</property>
+                        <property name="label" translatable="yes">Exchange Rate</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -552,7 +552,7 @@
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="amount_radio">
-                        <property name="label" translatable="yes">To Amount:</property>
+                        <property name="label" translatable="yes">To Amount</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
diff --git a/gnucash/gtkbuilder/dialog-userpass.glade b/gnucash/gtkbuilder/dialog-userpass.glade
index 6de881499..b2c01f78d 100644
--- a/gnucash/gtkbuilder/dialog-userpass.glade
+++ b/gnucash/gtkbuilder/dialog-userpass.glade
@@ -83,7 +83,7 @@
               <object class="GtkLabel" id="label847713">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Username:</property>
+                <property name="label" translatable="yes">_Username</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">username_entry</property>
@@ -97,7 +97,7 @@
               <object class="GtkLabel" id="label847714">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Password:</property>
+                <property name="label" translatable="yes">_Password</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">password_entry</property>
diff --git a/gnucash/gtkbuilder/dialog-vendor.glade b/gnucash/gtkbuilder/dialog-vendor.glade
index 147523505..385d5fdbc 100644
--- a/gnucash/gtkbuilder/dialog-vendor.glade
+++ b/gnucash/gtkbuilder/dialog-vendor.glade
@@ -127,6 +127,7 @@
                         <property name="margin_top">5</property>
                         <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
+                        <property name="spacing">6</property>
                         <child>
                           <object class="GtkBox" id="vbox11">
                             <property name="visible">True</property>
@@ -138,7 +139,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Vendor Number: </property>
+                                <property name="label" translatable="yes">Vendor Number</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -152,7 +153,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Company Name: </property>
+                                <property name="label" translatable="yes">Company Name</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -280,7 +281,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Name: </property>
+                                <property name="label" translatable="yes">Name</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -294,7 +295,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Address: </property>
+                                <property name="label" translatable="yes">Address</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -344,7 +345,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Phone: </property>
+                                <property name="label" translatable="yes">Phone</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -358,7 +359,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Fax: </property>
+                                <property name="label" translatable="yes">Fax</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -372,7 +373,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Email: </property>
+                                <property name="label" translatable="yes">Email</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -590,6 +591,7 @@
                         <property name="margin_right">5</property>
                         <property name="margin_top">5</property>
                         <property name="margin_bottom">5</property>
+                        <property name="spacing">6</property>
                         <child>
                           <object class="GtkBox" id="vbox7">
                             <property name="visible">True</property>
@@ -601,7 +603,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Currency: </property>
+                                <property name="label" translatable="yes">Currency</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -615,7 +617,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Terms: </property>
+                                <property name="label" translatable="yes">Terms</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -629,7 +631,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Tax Included:</property>
+                                <property name="label" translatable="yes">Tax Included</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -643,7 +645,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Tax Table:</property>
+                                <property name="label" translatable="yes">Tax Table</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
diff --git a/gnucash/gtkbuilder/gnc-date-format.glade b/gnucash/gtkbuilder/gnc-date-format.glade
index c8c85a214..96bc2dcac 100644
--- a/gnucash/gtkbuilder/gnc-date-format.glade
+++ b/gnucash/gtkbuilder/gnc-date-format.glade
@@ -166,7 +166,7 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="halign">start</property>
-            <property name="label" translatable="yes">Months:</property>
+            <property name="label" translatable="yes">Months</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
@@ -178,7 +178,7 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="halign">start</property>
-            <property name="label" translatable="yes">Years:</property>
+            <property name="label" translatable="yes">Years</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
@@ -190,7 +190,7 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="halign">start</property>
-            <property name="label" translatable="yes">Format:</property>
+            <property name="label" translatable="yes">Format</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
@@ -203,7 +203,7 @@
             <property name="can_focus">False</property>
             <property name="halign">start</property>
             <property name="margin_right">5</property>
-            <property name="label" translatable="yes">Sample:</property>
+            <property name="label" translatable="yes">Sample</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
@@ -221,7 +221,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Date format:</property>
+                <property name="label" translatable="yes">Date format</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/gnc-frequency.glade b/gnucash/gtkbuilder/gnc-frequency.glade
index 1539fa80f..7b97fb030 100644
--- a/gnucash/gtkbuilder/gnc-frequency.glade
+++ b/gnucash/gtkbuilder/gnc-frequency.glade
@@ -585,12 +585,13 @@
               <object class="GtkGrid" id="gncfreq_table">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="column_spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="freq_label">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_right">12</property>
-                    <property name="label" translatable="yes">Frequency:</property>
+                    <property name="label" translatable="yes">Frequency</property>
                     <property name="justify">right</property>
                   </object>
                   <packing>
@@ -603,7 +604,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_right">12</property>
-                    <property name="label" translatable="yes">Start Date:</property>
+                    <property name="label" translatable="yes">Start Date</property>
                     <property name="justify">center</property>
                   </object>
                   <packing>
@@ -1090,13 +1091,14 @@
                           <object class="GtkBox" id="hbox127">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label847759">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
                                 <property name="margin_right">12</property>
-                                <property name="label" translatable="yes">First on the:</property>
+                                <property name="label" translatable="yes">First on the</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -1131,7 +1133,7 @@
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
                                 <property name="margin_right">12</property>
-                                <property name="label" translatable="yes">except on weekends:</property>
+                                <property name="label" translatable="yes">except on weekends</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -1169,13 +1171,14 @@
                           <object class="GtkBox" id="hbox128">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label847760">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
                                 <property name="margin_right">12</property>
-                                <property name="label" translatable="yes">then on the:</property>
+                                <property name="label" translatable="yes">then on the</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -1210,7 +1213,7 @@
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
                                 <property name="margin_right">12</property>
-                                <property name="label" translatable="yes">except on weekends:</property>
+                                <property name="label" translatable="yes">except on weekends</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -1341,12 +1344,12 @@
                           <object class="GtkBox" id="hbox125">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label847756">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="margin_right">12</property>
                                 <property name="label" translatable="yes">On the</property>
                                 <property name="justify">right</property>
                               </object>
@@ -1361,7 +1364,6 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="margin_right">12</property>
                                 <property name="model">liststore4</property>
                                 <child>
                                   <object class="GtkCellRendererText" id="cellrenderertext4"/>
@@ -1382,8 +1384,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="margin_right">12</property>
-                                <property name="label" translatable="yes">except on weekends:</property>
+                                <property name="label" translatable="yes">except on weekends</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-budget.glade b/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
index fcf780407..9d96d456c 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
@@ -99,12 +99,13 @@
           <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Value:</property>
+                <property name="label" translatable="yes">Value</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -126,6 +127,7 @@
               <object class="GtkLabel">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="halign">start</property>
                 <property name="label" translatable="yes">Action</property>
               </object>
               <packing>
@@ -145,6 +147,7 @@
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Replace the budget for all periods with new 'value'. Use empty value to unset budget for the accounts.</property>
+                    <property name="halign">start</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </object>
@@ -161,6 +164,7 @@
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Add 'value' to current budget for each period</property>
+                    <property name="halign">start</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">RB_Replace</property>
@@ -178,6 +182,7 @@
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="tooltip_text" translatable="yes">Multiply current budget for each period by 'value'</property>
+                    <property name="halign">start</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                     <property name="group">RB_Replace</property>
@@ -218,7 +223,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Significant Digits:</property>
+                <property name="label" translatable="yes">Significant Digits</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -329,12 +334,13 @@
           <object class="GtkGrid" id="table6">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel" id="label96">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Start Date:</property>
+                <property name="label" translatable="yes">Start Date</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -346,7 +352,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Significant Digits:</property>
+                <property name="label" translatable="yes">Significant Digits</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -391,6 +397,7 @@
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
                 <property name="tooltip_text" translatable="yes">Use the average value over all actual periods for all projected periods</property>
+                <property name="halign">start</property>
                 <property name="draw_indicator">True</property>
               </object>
               <packing>
@@ -492,14 +499,14 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="row_spacing">3</property>
-                <property name="column_spacing">3</property>
+                <property name="column_spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label85">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">5</property>
-                    <property name="label" translatable="yes">Budget Name:</property>
+                    <property name="label" translatable="yes">Budget Name</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -526,7 +533,7 @@
                     <property name="halign">start</property>
                     <property name="valign">start</property>
                     <property name="margin_left">5</property>
-                    <property name="label" translatable="yes">Notes:</property>
+                    <property name="label" translatable="yes">Notes</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -575,7 +582,7 @@
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">5</property>
-                    <property name="label" translatable="yes">Number of Periods:</property>
+                    <property name="label" translatable="yes">Number of Periods</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -604,7 +611,7 @@
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
                     <property name="margin_left">5</property>
-                    <property name="label" translatable="yes">Budget Period:</property>
+                    <property name="label" translatable="yes">Budget Period</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register.glade b/gnucash/gtkbuilder/gnc-plugin-page-register.glade
index 1ffe4fa77..2f2f36c84 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-register.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-register.glade
@@ -141,7 +141,7 @@ If 0, all previous days included</property>
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="filter_show_range">
-                    <property name="label" translatable="yes">Select _Range:</property>
+                    <property name="label" translatable="yes">Select _Range</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -166,7 +166,7 @@ If 0, all previous days included</property>
                       <object class="GtkLabel" id="label847682">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, Start section">Start:</property>
+                        <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, Start section">Start</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -191,7 +191,7 @@ If 0, all previous days included</property>
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="end_date_choose">
-                        <property name="label" translatable="yes">Choo_se Date:</property>
+                        <property name="label" translatable="yes">Choo_se Date</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -253,7 +253,7 @@ If 0, all previous days included</property>
                       <object class="GtkLabel" id="label847684">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, End section">End:</property>
+                        <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, End section">End</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -262,7 +262,7 @@ If 0, all previous days included</property>
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="start_date_choose">
-                        <property name="label" translatable="yes">C_hoose Date:</property>
+                        <property name="label" translatable="yes">C_hoose Date</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -1007,7 +1007,7 @@ If 0, all previous days included</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Date:</property>
+                    <property name="label" translatable="yes">_Date</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
@@ -1021,7 +1021,7 @@ If 0, all previous days included</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Number:</property>
+                    <property name="label" translatable="yes">_Number</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">num_spin</property>
@@ -1064,7 +1064,7 @@ If 0, all previous days included</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Transaction Number:</property>
+                    <property name="label" translatable="yes">_Transaction Number</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">tnum_spin</property>
@@ -1215,7 +1215,7 @@ If 0, all previous days included</property>
               <object class="GtkLabel" id="label847671">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Reason for voiding transaction:</property>
+                <property name="label" translatable="yes">Reason for voiding transaction</property>
                 <property name="justify">center</property>
               </object>
               <packing>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register2.glade b/gnucash/gtkbuilder/gnc-plugin-page-register2.glade
index 53788d622..d50194451 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-register2.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-register2.glade
@@ -97,7 +97,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Date:</property>
+                    <property name="label" translatable="yes">_Date</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
@@ -111,7 +111,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Number:</property>
+                    <property name="label" translatable="yes">_Number</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">num_spin</property>
@@ -291,7 +291,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">Start:</property>
+                        <property name="label" translatable="yes">Start</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -316,7 +316,7 @@
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="end_date_choose">
-                        <property name="label" translatable="yes">Choo_se Date:</property>
+                        <property name="label" translatable="yes">Choo_se Date</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -379,7 +379,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">End:</property>
+                        <property name="label" translatable="yes">End</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -388,7 +388,7 @@
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="start_date_choose">
-                        <property name="label" translatable="yes">C_hoose Date:</property>
+                        <property name="label" translatable="yes">C_hoose Date</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -750,7 +750,7 @@
               <object class="GtkLabel" id="label847671">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Reason for voiding transaction:</property>
+                <property name="label" translatable="yes">Reason for voiding transaction</property>
                 <property name="justify">center</property>
               </object>
               <packing>
diff --git a/gnucash/gtkbuilder/gnc-recurrence.glade b/gnucash/gtkbuilder/gnc-recurrence.glade
index 7531fb711..3616bc7f2 100644
--- a/gnucash/gtkbuilder/gnc-recurrence.glade
+++ b/gnucash/gtkbuilder/gnc-recurrence.glade
@@ -103,11 +103,12 @@
           <object class="GtkBox" id="hbox219">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="label89">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">beginning on: </property>
+                <property name="label" translatable="yes">beginning on</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/window-autoclear.glade b/gnucash/gtkbuilder/window-autoclear.glade
index 0f99723d8..46307474f 100644
--- a/gnucash/gtkbuilder/window-autoclear.glade
+++ b/gnucash/gtkbuilder/window-autoclear.glade
@@ -91,13 +91,13 @@
                     <property name="can_focus">False</property>
                     <property name="border_width">10</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_spacing">4</property>
+                    <property name="column_spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="end_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
-                        <property name="label" translatable="yes">_Ending Balance:</property>
+                        <property name="label" translatable="yes">_Ending Balance</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
diff --git a/gnucash/gtkbuilder/window-reconcile.glade b/gnucash/gtkbuilder/window-reconcile.glade
index 66661957e..ee35d457b 100644
--- a/gnucash/gtkbuilder/window-reconcile.glade
+++ b/gnucash/gtkbuilder/window-reconcile.glade
@@ -90,7 +90,7 @@
                     <property name="can_focus">False</property>
                     <property name="border_width">10</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_spacing">4</property>
+                    <property name="column_spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="start_value">
                         <property name="visible">True</property>
@@ -107,7 +107,7 @@
                       <object class="GtkLabel" id="date_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Statement _Date:</property>
+                        <property name="label" translatable="yes">Statement _Date</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
@@ -119,7 +119,7 @@
                       <object class="GtkLabel" id="start_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Starting Balance:</property>
+                        <property name="label" translatable="yes">Starting Balance</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -130,7 +130,7 @@
                       <object class="GtkLabel" id="end_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">_Ending Balance:</property>
+                        <property name="label" translatable="yes">_Ending Balance</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>

commit 6897f13e782da46ef0623cfb8cab553c3b967d28
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Nov 18 17:34:21 2019 +0000

    [I18N] Remove trailing colon and space from glade dialogue labels - part1

diff --git a/gnucash/gtkbuilder/assistant-acct-period.glade b/gnucash/gtkbuilder/assistant-acct-period.glade
index b7585494a..212edd616 100644
--- a/gnucash/gtkbuilder/assistant-acct-period.glade
+++ b/gnucash/gtkbuilder/assistant-acct-period.glade
@@ -124,12 +124,13 @@ Books will be closed at midnight on the selected date.</property>
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="border_width">12</property>
+            <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel" id="book_title">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="hexpand">False</property>
-                <property name="label" translatable="yes">Title:</property>
+                <property name="label" translatable="yes">Title</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -140,7 +141,7 @@ Books will be closed at midnight on the selected date.</property>
               <object class="GtkLabel" id="book_notes">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Notes:</property>
+                <property name="label" translatable="yes">Notes</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
diff --git a/gnucash/gtkbuilder/assistant-csv-export.glade b/gnucash/gtkbuilder/assistant-csv-export.glade
index 9d0727a27..ea8e71b0e 100644
--- a/gnucash/gtkbuilder/assistant-csv-export.glade
+++ b/gnucash/gtkbuilder/assistant-csv-export.glade
@@ -468,7 +468,7 @@ Select the type of Export required and the separator that will be used.
                 </child>
                 <child>
                   <object class="GtkRadioButton" id="show_range">
-                    <property name="label" translatable="yes">Select _Range:</property>
+                    <property name="label" translatable="yes">Select _Range</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -493,7 +493,7 @@ Select the type of Export required and the separator that will be used.
                       <object class="GtkLabel" id="label847682">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Start:</property>
+                        <property name="label" translatable="yes">Start</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -519,7 +519,7 @@ Select the type of Export required and the separator that will be used.
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="end_date_choose">
-                        <property name="label" translatable="yes">Cho_ose Date:</property>
+                        <property name="label" translatable="yes">Cho_ose Date</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -582,7 +582,7 @@ Select the type of Export required and the separator that will be used.
                       <object class="GtkLabel" id="label847684">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">End:</property>
+                        <property name="label" translatable="yes">End</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
@@ -591,7 +591,7 @@ Select the type of Export required and the separator that will be used.
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="start_date_choose">
-                        <property name="label" translatable="yes">C_hoose Date:</property>
+                        <property name="label" translatable="yes">C_hoose Date</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
diff --git a/gnucash/gtkbuilder/assistant-loan.glade b/gnucash/gtkbuilder/assistant-loan.glade
index f615ec2da..c6ab8bc97 100644
--- a/gnucash/gtkbuilder/assistant-loan.glade
+++ b/gnucash/gtkbuilder/assistant-loan.glade
@@ -148,7 +148,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Interest Rate:</property>
+                <property name="label" translatable="yes">Interest Rate</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -161,7 +161,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Start Date:</property>
+                <property name="label" translatable="yes">Start Date</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -174,7 +174,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Length:</property>
+                <property name="label" translatable="yes">Length</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -187,7 +187,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Amount:</property>
+                <property name="label" translatable="yes">Amount</property>
                 <property name="justify">right</property>
               </object>
               <packing>
@@ -200,7 +200,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Loan Account:</property>
+                <property name="label" translatable="yes">Loan Account</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -351,7 +351,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Type:</property>
+                <property name="label" translatable="yes">Type</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -364,7 +364,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Months Remaining:</property>
+                <property name="label" translatable="yes">Months Remaining</property>
                 <property name="justify">center</property>
                 <property name="ellipsize">end</property>
               </object>
@@ -519,7 +519,7 @@ Do you utilise an escrow account, if so an account must be specified...</propert
                       <object class="GtkLabel" id="label847963">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Escrow Account:</property>
+                        <property name="label" translatable="yes">Escrow Account</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -594,7 +594,7 @@ All accounts must have valid entries to continue.
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Payment From:</property>
+                <property name="label" translatable="yes">Payment From</property>
                 <property name="justify">right</property>
               </object>
               <packing>
@@ -607,7 +607,7 @@ All accounts must have valid entries to continue.
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Principal To:</property>
+                <property name="label" translatable="yes">Principal To</property>
                 <property name="justify">right</property>
               </object>
               <packing>
@@ -620,7 +620,7 @@ All accounts must have valid entries to continue.
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Name:</property>
+                <property name="label" translatable="yes">Name</property>
                 <property name="justify">right</property>
               </object>
               <packing>
@@ -633,7 +633,7 @@ All accounts must have valid entries to continue.
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Amount:</property>
+                <property name="label" translatable="yes">Amount</property>
                 <property name="justify">right</property>
               </object>
               <packing>
@@ -646,7 +646,7 @@ All accounts must have valid entries to continue.
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">end</property>
-                <property name="label" translatable="yes">Interest To:</property>
+                <property name="label" translatable="yes">Interest To</property>
                 <property name="justify">right</property>
               </object>
               <packing>
@@ -801,7 +801,7 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Amount:</property>
+                        <property name="label" translatable="yes">Amount</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -814,7 +814,7 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Payment From:</property>
+                        <property name="label" translatable="yes">Payment From</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -827,7 +827,7 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Name:</property>
+                        <property name="label" translatable="yes">Name</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -840,7 +840,7 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Payment To (Escrow):</property>
+                        <property name="label" translatable="yes">Payment To (Escrow)</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -895,7 +895,7 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Payment From (Escrow):</property>
+                        <property name="label" translatable="yes">Payment From (Escrow)</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -908,7 +908,7 @@ All enabled option pages must contain valid entries to continue.
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Payment To:</property>
+                        <property name="label" translatable="yes">Payment To</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -1170,7 +1170,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
                       <object class="GtkLabel" id="label847973">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Range: </property>
+                        <property name="label" translatable="yes">Range</property>
                         <property name="justify">center</property>
                       </object>
                       <packing>
@@ -1233,7 +1233,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
                           <object class="GtkLabel" id="label847971">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Start Date:</property>
+                            <property name="label" translatable="yes">Start Date</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
@@ -1245,7 +1245,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
                           <object class="GtkLabel" id="label847972">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">End Date:</property>
+                            <property name="label" translatable="yes">End Date</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
diff --git a/gnucash/gtkbuilder/assistant-qif-import.glade b/gnucash/gtkbuilder/assistant-qif-import.glade
index 0af625690..e82f37379 100644
--- a/gnucash/gtkbuilder/assistant-qif-import.glade
+++ b/gnucash/gtkbuilder/assistant-qif-import.glade
@@ -363,7 +363,7 @@ Please enter a name for the account. If the file was exported from another accou
               <object class="GtkLabel" id="label824">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Account name:</property>
+                <property name="label" translatable="yes">Account name</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -550,7 +550,7 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
           <object class="GtkLabel" id="label7609">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Select the matchings you want to change:</property>
+            <property name="label" translatable="yes">_Select the matchings you want to change</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">account_page_view</property>
           </object>
@@ -591,7 +591,7 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
               <object class="GtkLabel" id="label7610">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Matchings selected:</property>
+                <property name="label" translatable="yes">Matchings selected</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
@@ -682,7 +682,7 @@ If you change your mind later, you can reorganize the account structure safely w
           <object class="GtkLabel" id="label7611">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Select the matchings you want to change:</property>
+            <property name="label" translatable="yes">_Select the matchings you want to change</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">category_page_view</property>
           </object>
@@ -723,7 +723,7 @@ If you change your mind later, you can reorganize the account structure safely w
               <object class="GtkLabel" id="label7613">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Matchings selected:</property>
+                <property name="label" translatable="yes">Matchings selected</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
@@ -812,7 +812,7 @@ In the following page, you will see the text that appears in the Payee and Memo
           <object class="GtkLabel" id="label7614">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Select the matchings you want to change:</property>
+            <property name="label" translatable="yes">_Select the matchings you want to change</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">memo_page_view</property>
           </object>
@@ -853,7 +853,7 @@ In the following page, you will see the text that appears in the Payee and Memo
               <object class="GtkLabel" id="label7616">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Matchings selected:</property>
+                <property name="label" translatable="yes">Matchings selected</property>
                 <property name="wrap">True</property>
               </object>
               <packing>
@@ -1281,7 +1281,7 @@ Click "Next" to review the possible matches.</property>
                   <object class="GtkLabel" id="label847716">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">_Imported transactions needing review:</property>
+                    <property name="label" translatable="yes">_Imported transactions needing review</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">new_transaction_view</property>
                   </object>
@@ -1320,7 +1320,7 @@ Click "Next" to review the possible matches.</property>
                   <object class="GtkLabel" id="label847717">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">_Possible matches for the selected transaction:</property>
+                    <property name="label" translatable="yes">_Possible matches for the selected transaction</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">old_transaction_view</property>
                   </object>
diff --git a/gnucash/gtkbuilder/assistant-stock-split.glade b/gnucash/gtkbuilder/assistant-stock-split.glade
index 3723fd1a5..876c0f6de 100644
--- a/gnucash/gtkbuilder/assistant-stock-split.glade
+++ b/gnucash/gtkbuilder/assistant-stock-split.glade
@@ -107,7 +107,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Date:</property>
+                <property name="label" translatable="yes">_Date</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -121,7 +121,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Shares:</property>
+                <property name="label" translatable="yes">_Shares</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -135,7 +135,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Desc_ription:</property>
+                <property name="label" translatable="yes">Desc_ription</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">description_entry</property>
@@ -188,7 +188,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">New _Price:</property>
+                <property name="label" translatable="yes">New _Price</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -202,7 +202,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Currenc_y:</property>
+                <property name="label" translatable="yes">Currenc_y</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -267,7 +267,7 @@
               <object class="GtkLabel" id="cash_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Amount:</property>
+                <property name="label" translatable="yes">_Amount</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
               </object>
@@ -280,7 +280,7 @@
               <object class="GtkLabel" id="memo_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Memo:</property>
+                <property name="label" translatable="yes">_Memo</property>
                 <property name="use_underline">True</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">memo_entry</property>
diff --git a/gnucash/gtkbuilder/assistant-xml-encoding.glade b/gnucash/gtkbuilder/assistant-xml-encoding.glade
index b0f77b300..bcfbb35ef 100644
--- a/gnucash/gtkbuilder/assistant-xml-encoding.glade
+++ b/gnucash/gtkbuilder/assistant-xml-encoding.glade
@@ -67,7 +67,7 @@
                       <object class="GtkLabel" id="label12">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Default encoding:</property>
+                        <property name="label" translatable="yes">Default encoding</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/business-prefs.glade b/gnucash/gtkbuilder/business-prefs.glade
index 1f5055918..b0ed07cf0 100644
--- a/gnucash/gtkbuilder/business-prefs.glade
+++ b/gnucash/gtkbuilder/business-prefs.glade
@@ -167,7 +167,7 @@
             <property name="can_focus">False</property>
             <property name="halign">start</property>
             <property name="margin_left">12</property>
-            <property name="label" translatable="yes">Report for printing:</property>
+            <property name="label" translatable="yes">Report for printing</property>
           </object>
           <packing>
             <property name="left_attach">0</property>
@@ -296,7 +296,7 @@
           <object class="GtkLabel">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Days in ad_vance:</property>
+            <property name="label" translatable="yes">Days in ad_vance</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.business.bill/days-in-advance</property>
           </object>
@@ -361,7 +361,7 @@
           <object class="GtkLabel">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Days in advance:</property>
+            <property name="label" translatable="yes">_Days in advance</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">pref/dialogs.business.invoice/days-in-advance</property>
           </object>
diff --git a/gnucash/gtkbuilder/dialog-account.glade b/gnucash/gtkbuilder/dialog-account.glade
index 95ec4b83d..d21987b20 100644
--- a/gnucash/gtkbuilder/dialog-account.glade
+++ b/gnucash/gtkbuilder/dialog-account.glade
@@ -274,7 +274,7 @@
                     </child>
                     <child>
                       <object class="GtkRadioButton" id="sa_mrb">
-                        <property name="label" translatable="yes">_Move to:</property>
+                        <property name="label" translatable="yes">_Move to</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -366,7 +366,7 @@
                     <property name="column_spacing">12</property>
                     <child>
                       <object class="GtkRadioButton" id="trans_mrb">
-                        <property name="label" translatable="yes">M_ove to:</property>
+                        <property name="label" translatable="yes">M_ove to</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -487,7 +487,7 @@
                     <property name="column_spacing">12</property>
                     <child>
                       <object class="GtkRadioButton" id="sa_trans_mrb">
-                        <property name="label" translatable="yes">M_ove to:</property>
+                        <property name="label" translatable="yes">M_ove to</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
@@ -783,17 +783,17 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="show_unused">
-                    <property name="label" translatable="yes">Show _unused accounts</property>
+                  <object class="GtkCheckButton" id="show_zero">
+                    <property name="label" translatable="yes">Show _zero total accounts</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
+                    <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -802,17 +802,17 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="show_zero">
-                    <property name="label" translatable="yes">Show _zero total accounts</property>
+                  <object class="GtkCheckButton" id="show_unused">
+                    <property name="label" translatable="yes">Show _unused accounts</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
-                    <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
+                    <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
                     <property name="halign">start</property>
                     <property name="margin_left">12</property>
                     <property name="use_underline">True</property>
                     <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
+                    <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -1012,7 +1012,7 @@
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">Account _name:</property>
+                            <property name="label" translatable="yes">Account _name</property>
                             <property name="use_underline">True</property>
                             <property name="mnemonic_widget">name_entry</property>
                             <property name="ellipsize">middle</property>
@@ -1028,7 +1028,7 @@
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">_Account code:</property>
+                            <property name="label" translatable="yes">_Account code</property>
                             <property name="use_underline">True</property>
                             <property name="mnemonic_widget">code_entry</property>
                           </object>
@@ -1043,7 +1043,7 @@
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">_Description:</property>
+                            <property name="label" translatable="yes">_Description</property>
                             <property name="use_underline">True</property>
                             <property name="mnemonic_widget">description_entry</property>
                           </object>
@@ -1058,7 +1058,7 @@
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">_Security/currency:</property>
+                            <property name="label" translatable="yes">_Security/currency</property>
                             <property name="use_underline">True</property>
                           </object>
                           <packing>
@@ -1085,7 +1085,7 @@
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">Smallest _fraction:</property>
+                            <property name="label" translatable="yes">Smallest _fraction</property>
                             <property name="use_underline">True</property>
                             <property name="mnemonic_widget">account_scu</property>
                           </object>
@@ -1100,7 +1100,7 @@
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">Account _Color:</property>
+                            <property name="label" translatable="yes">Account _Color</property>
                             <property name="use_underline">True</property>
                           </object>
                           <packing>
@@ -1153,7 +1153,7 @@
                             <property name="halign">start</property>
                             <property name="valign">start</property>
                             <property name="margin_left">12</property>
-                            <property name="label" translatable="yes">No_tes:</property>
+                            <property name="label" translatable="yes">No_tes</property>
                             <property name="use_underline">True</property>
                             <property name="mnemonic_widget">notes_text</property>
                           </object>
@@ -1507,7 +1507,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">_Balance:</property>
+                        <property name="label" translatable="yes">_Balance</property>
                         <property name="use_underline">True</property>
                         <property name="justify">right</property>
                       </object>
@@ -1522,7 +1522,7 @@
                         <property name="can_focus">False</property>
                         <property name="halign">start</property>
                         <property name="margin_left">12</property>
-                        <property name="label" translatable="yes">_Date:</property>
+                        <property name="label" translatable="yes">_Date</property>
                         <property name="use_underline">True</property>
                         <property name="justify">right</property>
                       </object>
@@ -1702,7 +1702,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Prefix:</property>
+                <property name="label" translatable="yes">Prefix</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -1738,7 +1738,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Examples:</property>
+                <property name="label" translatable="yes">Examples</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -1761,7 +1761,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Interval:</property>
+                <property name="label" translatable="yes">Interval</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
diff --git a/gnucash/gtkbuilder/dialog-billterms.glade b/gnucash/gtkbuilder/dialog-billterms.glade
index 1ce517f25..b91bf17c2 100644
--- a/gnucash/gtkbuilder/dialog-billterms.glade
+++ b/gnucash/gtkbuilder/dialog-billterms.glade
@@ -64,6 +64,7 @@
               <object class="GtkBox" id="hbox9">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="spacing">6</property>
                 <child>
                   <object class="GtkBox" id="vbox7">
                     <property name="visible">True</property>
@@ -75,7 +76,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Due Days: </property>
+                        <property name="label" translatable="yes">Due Days</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -89,7 +90,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Discount Days: </property>
+                        <property name="label" translatable="yes">Discount Days</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -103,7 +104,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
-                        <property name="label" translatable="yes">Discount %: </property>
+                        <property name="label" translatable="yes">Discount %</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -651,7 +652,7 @@
                           <object class="GtkLabel" id="label16">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">De_scription:</property>
+                            <property name="label" translatable="yes">De_scription</property>
                             <property name="use_underline">True</property>
                             <property name="justify">right</property>
                             <property name="mnemonic_widget">desc_entry</property>
@@ -665,7 +666,7 @@
                           <object class="GtkLabel" id="label9">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">_Type:</property>
+                            <property name="label" translatable="yes">_Type</property>
                             <property name="use_underline">True</property>
                             <property name="justify">right</property>
                           </object>
@@ -893,7 +894,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">De_scription:</property>
+                    <property name="label" translatable="yes">De_scription</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">entry_desc</property>
@@ -934,7 +935,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="label" translatable="yes">_Type</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">type_combo</property>
@@ -1161,7 +1162,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Name:</property>
+                    <property name="label" translatable="yes">_Name</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">name_entry</property>
@@ -1184,7 +1185,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">De_scription:</property>
+                    <property name="label" translatable="yes">De_scription</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">description_entry</property>
@@ -1207,7 +1208,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="label" translatable="yes">_Type</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                     <property name="mnemonic_widget">type_combobox</property>
diff --git a/gnucash/gtkbuilder/dialog-book-close.glade b/gnucash/gtkbuilder/dialog-book-close.glade
index 0adbd432f..6be7d2a85 100644
--- a/gnucash/gtkbuilder/dialog-book-close.glade
+++ b/gnucash/gtkbuilder/dialog-book-close.glade
@@ -77,12 +77,13 @@
           <object class="GtkGrid" id="table1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Closing Date:</property>
+                <property name="label" translatable="yes">Closing Date</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -94,7 +95,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Income Total:</property>
+                <property name="label" translatable="yes">Income Total</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -106,7 +107,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Expense Total:</property>
+                <property name="label" translatable="yes">Expense Total</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -157,7 +158,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Description:</property>
+                <property name="label" translatable="yes">Description</property>
               </object>
               <packing>
                 <property name="left_attach">0</property>
diff --git a/gnucash/gtkbuilder/dialog-commodity.glade b/gnucash/gtkbuilder/dialog-commodity.glade
index 93d9ddd09..075129942 100644
--- a/gnucash/gtkbuilder/dialog-commodity.glade
+++ b/gnucash/gtkbuilder/dialog-commodity.glade
@@ -306,7 +306,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Type of quote source:</property>
+                    <property name="label" translatable="yes">Type of quote source</property>
                     <property name="justify">right</property>
                   </object>
                 </child>
@@ -326,7 +326,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Full name:</property>
+                    <property name="label" translatable="yes">_Full name</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">fullname_entry</property>
@@ -348,7 +348,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Symbol/abbreviation:</property>
+                    <property name="label" translatable="yes">_Symbol/abbreviation</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">mnemonic_entry</property>
@@ -370,7 +370,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="label" translatable="yes">_Type</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
@@ -391,7 +391,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">ISIN, CUSI_P or other code:</property>
+                    <property name="label" translatable="yes">ISIN, CUSI_P or other code</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                     <property name="mnemonic_widget">code_entry</property>
@@ -413,7 +413,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">F_raction traded:</property>
+                    <property name="label" translatable="yes">F_raction traded</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
@@ -509,7 +509,7 @@
                 <property name="left_padding">24</property>
                 <child>
                   <object class="GtkRadioButton" id="single_source_button">
-                    <property name="label" translatable="yes">Si_ngle:</property>
+                    <property name="label" translatable="yes">Si_ngle</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -536,7 +536,7 @@
                 <property name="left_padding">24</property>
                 <child>
                   <object class="GtkRadioButton" id="multi_source_button">
-                    <property name="label" translatable="yes">_Multiple:</property>
+                    <property name="label" translatable="yes">_Multiple</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -563,7 +563,7 @@
                 <property name="left_padding">24</property>
                 <child>
                   <object class="GtkRadioButton" id="unknown_source_button">
-                    <property name="label" translatable="yes">_Unknown:</property>
+                    <property name="label" translatable="yes">_Unknown</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -593,7 +593,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">Time_zone:</property>
+                    <property name="label" translatable="yes">Time_zone</property>
                     <property name="use_underline">True</property>
                     <property name="justify">right</property>
                   </object>
@@ -702,9 +702,9 @@
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-11">help_button</action-widget>
       <action-widget response="-6">cancel_button</action-widget>
       <action-widget response="-5">ok_button</action-widget>
+      <action-widget response="-11">help_button</action-widget>
     </action-widgets>
   </object>
   <object class="GtkDialog" id="security_selector_dialog">
@@ -810,7 +810,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label" translatable="yes">_Type:</property>
+                    <property name="label" translatable="yes">_Type</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
@@ -831,7 +831,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="label">_Security/currency:</property>
+                    <property name="label">_Security/currency</property>
                     <property name="use_underline">True</property>
                     <property name="justify">center</property>
                   </object>
diff --git a/gnucash/gtkbuilder/dialog-customer.glade b/gnucash/gtkbuilder/dialog-customer.glade
index f372328f8..e856c9887 100644
--- a/gnucash/gtkbuilder/dialog-customer.glade
+++ b/gnucash/gtkbuilder/dialog-customer.glade
@@ -126,6 +126,7 @@
                         <property name="margin_top">5</property>
                         <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
+                        <property name="spacing">6</property>
                         <child>
                           <object class="GtkBox" id="vbox11">
                             <property name="visible">True</property>
@@ -137,7 +138,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Customer Number: </property>
+                                <property name="label" translatable="yes">Customer Number</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -151,7 +152,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Company Name: </property>
+                                <property name="label" translatable="yes">Company Name</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -279,7 +280,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Name: </property>
+                                <property name="label" translatable="yes">Name</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -293,7 +294,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Address: </property>
+                                <property name="label" translatable="yes">Address</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -343,7 +344,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Phone: </property>
+                                <property name="label" translatable="yes">Phone</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -357,7 +358,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Fax: </property>
+                                <property name="label" translatable="yes">Fax</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -371,7 +372,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Email: </property>
+                                <property name="label" translatable="yes">Email</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -595,6 +596,7 @@
                         <property name="margin_right">5</property>
                         <property name="margin_top">5</property>
                         <property name="margin_bottom">5</property>
+                        <property name="spacing">6</property>
                         <child>
                           <object class="GtkBox" id="vbox7">
                             <property name="visible">True</property>
@@ -606,7 +608,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Currency: </property>
+                                <property name="label" translatable="yes">Currency</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -620,7 +622,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Terms: </property>
+                                <property name="label" translatable="yes">Terms</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -634,7 +636,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Discount: </property>
+                                <property name="label" translatable="yes">Discount</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -648,7 +650,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Credit Limit: </property>
+                                <property name="label" translatable="yes">Credit Limit</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -662,7 +664,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Tax Included: </property>
+                                <property name="label" translatable="yes">Tax Included</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -676,7 +678,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Tax Table: </property>
+                                <property name="label" translatable="yes">Tax Table</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -901,7 +903,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Name: </property>
+                                <property name="label" translatable="yes">Name</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -915,7 +917,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Address: </property>
+                                <property name="label" translatable="yes">Address</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -965,7 +967,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Phone: </property>
+                                <property name="label" translatable="yes">Phone</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -979,7 +981,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Fax: </property>
+                                <property name="label" translatable="yes">Fax</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -993,7 +995,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Email: </property>
+                                <property name="label" translatable="yes">Email</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
diff --git a/gnucash/gtkbuilder/dialog-employee.glade b/gnucash/gtkbuilder/dialog-employee.glade
index 8538aebd8..b9cb59c39 100644
--- a/gnucash/gtkbuilder/dialog-employee.glade
+++ b/gnucash/gtkbuilder/dialog-employee.glade
@@ -102,6 +102,7 @@
                         <property name="margin_top">5</property>
                         <property name="margin_bottom">5</property>
                         <property name="border_width">2</property>
+                        <property name="spacing">6</property>
                         <child>
                           <object class="GtkBox" id="vbox11">
                             <property name="visible">True</property>
@@ -113,7 +114,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Employee Number: </property>
+                                <property name="label" translatable="yes">Employee Number</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -127,7 +128,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Username: </property>
+                                <property name="label" translatable="yes">Username</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -262,7 +263,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Name: </property>
+                                <property name="label" translatable="yes">Name</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -276,7 +277,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Address: </property>
+                                <property name="label" translatable="yes">Address</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -326,7 +327,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Phone: </property>
+                                <property name="label" translatable="yes">Phone</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -340,7 +341,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Fax: </property>
+                                <property name="label" translatable="yes">Fax</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -354,7 +355,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Email: </property>
+                                <property name="label" translatable="yes">Email</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -541,12 +542,13 @@
                             <property name="margin_top">5</property>
                             <property name="margin_bottom">5</property>
                             <property name="border_width">2</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label34">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">end</property>
-                                <property name="label" translatable="yes">Language: </property>
+                                <property name="label" translatable="yes">Language</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -634,11 +636,12 @@
                           <object class="GtkBox" id="hbox8">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label35">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Default Hours per Day: </property>
+                                <property name="label" translatable="yes">Default Hours per Day</property>
                                 <property name="justify">center</property>
                               </object>
                               <packing>
@@ -673,11 +676,12 @@
                           <object class="GtkBox" id="hbox9">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label36">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Default Rate: </property>
+                                <property name="label" translatable="yes">Default Rate</property>
                                 <property name="justify">center</property>
                               </object>
                               <packing>
@@ -712,11 +716,12 @@
                           <object class="GtkBox" id="hbox10">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label37">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Currency: </property>
+                                <property name="label" translatable="yes">Currency</property>
                                 <property name="justify">right</property>
                               </object>
                               <packing>
@@ -750,6 +755,7 @@
                           <object class="GtkBox" id="hbox11">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label39">
                                 <property name="visible">True</property>
diff --git a/gnucash/gtkbuilder/dialog-file-access.glade b/gnucash/gtkbuilder/dialog-file-access.glade
index 6de6272cf..91b773d75 100644
--- a/gnucash/gtkbuilder/dialog-file-access.glade
+++ b/gnucash/gtkbuilder/dialog-file-access.glade
@@ -71,7 +71,7 @@
               <object class="GtkLabel" id="uri_type_label">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes"><b>Data Format:</b></property>
+                <property name="label" translatable="yes"><b>Data Format</b></property>
                 <property name="use_markup">True</property>
               </object>
               <packing>
diff --git a/gnucash/gtkbuilder/dialog-fincalc.glade b/gnucash/gtkbuilder/dialog-fincalc.glade
index 851138e57..4bb2cb683 100644
--- a/gnucash/gtkbuilder/dialog-fincalc.glade
+++ b/gnucash/gtkbuilder/dialog-fincalc.glade
@@ -601,7 +601,7 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
-                            <property name="label" translatable="yes">Payment Total:</property>
+                            <property name="label" translatable="yes">Payment Total</property>
                             <property name="justify">center</property>
                           </object>
                           <packing>
@@ -685,7 +685,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="label" translatable="yes">Type:</property>
+                                <property name="label" translatable="yes">Type</property>
                               </object>
                             </child>
                           </object>
@@ -704,7 +704,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="label" translatable="yes">Frequency:</property>
+                                <property name="label" translatable="yes">Frequency</property>
                                 <property name="use_underline">True</property>
                               </object>
                             </child>
@@ -724,7 +724,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="label" translatable="yes">Frequency:</property>
+                                <property name="label" translatable="yes">Frequency</property>
                                 <property name="use_underline">True</property>
                               </object>
                             </child>
@@ -744,7 +744,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="label" translatable="yes">When paid:</property>
+                                <property name="label" translatable="yes">When paid</property>
                               </object>
                             </child>
                           </object>
diff --git a/gnucash/gtkbuilder/dialog-import.glade b/gnucash/gtkbuilder/dialog-import.glade
index d144f3a45..8a457f18c 100644
--- a/gnucash/gtkbuilder/dialog-import.glade
+++ b/gnucash/gtkbuilder/dialog-import.glade
@@ -260,12 +260,12 @@
                   <object class="GtkBox" id="hbox1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="spacing">3</property>
+                    <property name="spacing">6</property>
                     <child>
                       <object class="GtkLabel" id="label847775">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Format:</property>
+                        <property name="label" translatable="yes">Format</property>
                         <property name="justify">right</property>
                       </object>
                       <packing>
@@ -659,7 +659,7 @@
               <object class="GtkLabel" id="label847772">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes" comments="Dialog Select matching transactions">Imported transaction's first split:</property>
+                <property name="label" translatable="yes" comments="Dialog Select matching transactions">Imported transaction's first split</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -694,7 +694,7 @@
               <object class="GtkLabel" id="label847766">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes" comments="Dialog Select matching transactions">Potential splits matching the selected transaction: </property>
+                <property name="label" translatable="yes" comments="Dialog Select matching transactions">Potential splits matching the selected transaction</property>
                 <property name="justify">center</property>
               </object>
               <packing>
@@ -1153,7 +1153,7 @@
       <object class="GtkLabel" id="heading_label">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="label" translatable="yes">List of downloaded transactions (source split shown):</property>
+        <property name="label" translatable="yes">List of downloaded transactions (source split shown)</property>
         <property name="justify">center</property>
       </object>
       <packing>
diff --git a/gnucash/gtkbuilder/dialog-invoice.glade b/gnucash/gtkbuilder/dialog-invoice.glade
index 751838d9e..8ca33e9c7 100644
--- a/gnucash/gtkbuilder/dialog-invoice.glade
+++ b/gnucash/gtkbuilder/dialog-invoice.glade
@@ -412,12 +412,12 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
-                <property name="spacing">2</property>
+                <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Customer: </property>
+                    <property name="label" translatable="yes">Customer</property>
                     <property name="justify">right</property>
                   </object>
                   <packing>
@@ -444,7 +444,7 @@
                   <object class="GtkLabel" id="label6">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Job: </property>
+                    <property name="label" translatable="yes">Job</property>
                     <property name="justify">right</property>
                   </object>
                   <packing>
@@ -495,12 +495,12 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">3</property>
-                <property name="spacing">2</property>
+                <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="label31">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Additional to Card:</property>
+                    <property name="label" translatable="yes">Additional to Card</property>
                     <property name="justify">right</property>
                   </object>
                   <packing>

commit 063a2704995029cdc7f331e2d4d11c2cd8dbfdbf
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Nov 21 20:30:16 2019 +0800

    [new-owner-report] fix: payment->invoice gets invoice totals
    
    previously the payment-amount deduction loop used the
    payment-split-list to obtain the invoice-posting-split's amount. this
    would occasionally fail and would return the invoice-payment-split
    amount, obtaining the wrong sign.
    
    modify to retrieve the invoice total via gncInvoice API.
    
    therefore payment-amount, minus gncInvoiceGetTotal(inv) amounts,
    results in the overpayment amount.

diff --git a/gnucash/report/business-reports/new-owner-report.scm b/gnucash/report/business-reports/new-owner-report.scm
index 10aaa60c8..5b40d0b7b 100644
--- a/gnucash/report/business-reports/new-owner-report.scm
+++ b/gnucash/report/business-reports/new-owner-report.scm
@@ -374,8 +374,7 @@
        (else
         (let* ((payment-split (car payment-splits))
                (inv (car payment-split))
-               (inv-split (cadr payment-split))
-               (inv-amount (AP-negate (xaccSplitGetAmount inv-split))))
+               (inv-amount (gncInvoiceGetTotal inv)))
           (lp (cdr payment-splits)
               (- amount inv-amount)
               (cons (list

commit b3493509d19f25de3498530e5409fd2559a9e6ff
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Nov 21 09:57:51 2019 +0800

    [balsheet-pnl] speed up by pre-generating account report-date splits
    
    previous code was very inefficient: if an account had N old splits and
    balance-sheet reported on M recent dates, it would scan splitlist
    multiple times: (1) to retrieve splits, (2) filter until
    column-date, (3) find the last one. i.e. total O(N * M * 3).
    
    this algorithm pre-generates the account's report-date splits by
    scanning each account only once, creating M splits which are queried
    by get-cell-anchor-fn via list-ref. i.e. O(N)
    
    it is immedialtely converted to a vector because we want O(1)
    access. from get-cell-anchor-fn
    
    a future optimisation may scan the accounts' splitlists once per
    report run, acquiring all required data (i.e. last period split,
    split->balance, closing entries) in 1 pass, to generate a column-data
    record.

diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 0a6d618a7..2cf5d745a 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -30,6 +30,7 @@
 (use-modules (gnucash gnc-module))
 (use-modules (gnucash gettext))
 (use-modules (srfi srfi-1))
+(use-modules (srfi srfi-2))
 
 (gnc:module-load "gnucash/report/report-system" 0)
 
@@ -901,19 +902,25 @@ also show overall period profit & loss."))
      ((eq? report-type 'balsheet)
       (let* ((get-cell-monetary-fn
               (lambda (account col-idx)
-                (let ((account-balance-list (assoc account accounts-balances)))
+                (let ((account-balance-list (assoc-ref accounts-balances account)))
                   (and account-balance-list
-                       (list-ref account-balance-list (1+ col-idx))))))
+                       (list-ref account-balance-list col-idx)))))
+
+             ;; an alist of account->last-split at date boundary
+             (accounts-splits-dates
+              (map
+               (lambda (acc)
+                 (cons acc (list->vector
+                            (gnc:account-accumulate-at-dates
+                             acc report-dates #:split->elt identity))))
+               accounts))
+
              (get-cell-anchor-fn
               (lambda (account col-idx)
-                (and (not (pair? account))
-                     (let* ((splits (xaccAccountGetSplitList account))
-                            (split-date (compose xaccTransGetDate xaccSplitGetParent))
-                            (date (list-ref report-dates col-idx))
-                            (valid-split? (lambda (s) (< (split-date s) date)))
-                            (valid-splits (filter valid-split? splits)))
-                       (and (pair? valid-splits)
-                            (gnc:split-anchor-text (last valid-splits)))))))
+                (and-let* (((not (pair? account)))
+                           (date-splits (assoc-ref accounts-splits-dates account))
+                           (split (vector-ref date-splits col-idx)))
+                  (gnc:split-anchor-text split))))
 
              (asset-liability-balances
               (let ((asset-liab-balances

commit dda3da841604c9a5b3aebcec8de5b0ca1b68a446
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Nov 21 12:20:57 2019 +0800

    [report-utilities][API] gnc:account-accumulate-at-dates
    
    this is a generalised form from gnc:account-get-balances-at-dates to
    accumulate a list from report dates.
    
    this function will scan through account splitlist, processing each
    split via split->elt, accumulating results at date boundaries into the
    results list. it uses ice-9 match for conciseness.
    
    in: acc   - account
        dates - a list of time64
        split->elt - an unary lambda. the result of calling (split->elt split)
                     will be accumulated onto the resulting list. by
                     default it returns the last split-balance before
                     date boundary, similar to gnc:account-get-balances-at-dates
    
    out: (list elt0 elt1 ...), each entry is the result of split->elt

diff --git a/gnucash/report/report-system/report-system.scm b/gnucash/report/report-system/report-system.scm
index 16726290d..4a80105f0 100644
--- a/gnucash/report/report-system/report-system.scm
+++ b/gnucash/report/report-system/report-system.scm
@@ -698,6 +698,7 @@
 (export gnc:commodity-collector-get-negated)
 (export gnc:commodity-collectorlist-get-merged) ;deprecated
 (export gnc-commodity-collector-commodity-count)
+(export gnc:account-accumulate-at-dates)
 (export gnc:account-get-balance-at-date)
 (export gnc:account-get-balances-at-dates)
 (export gnc:account-get-comm-balance-at-date)
diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index 36237a4b4..cd909c97e 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -19,6 +19,7 @@
 
 (use-modules (srfi srfi-13))
 (use-modules (ice-9 format))
+(use-modules (ice-9 match))
 
 (define (list-ref-safe list elt)
   (and (> (length list) elt)
@@ -468,53 +469,63 @@ flawed. see report-utilities.scm. please update reports.")
 (define* (gnc:account-get-balances-at-dates
           account dates-list #:key (split->amount xaccSplitGetAmount))
   (define (amount->monetary bal)
-    (gnc:make-gnc-monetary (xaccAccountGetCommodity account) bal))
-  (let loop ((splits (xaccAccountGetSplitList account))
-             (dates-list (sort dates-list <))
-             (currentbal 0)
-             (lastbal 0)
-             (balancelist '()))
-    (cond
-
-     ;; end of dates. job done!
-     ((null? dates-list)
-      (map amount->monetary (reverse balancelist)))
-
-     ;; end of splits, but still has dates. pad with last-bal
-     ;; until end of dates.
-     ((null? splits)
-      (loop '()
-            (cdr dates-list)
-            currentbal
-            lastbal
-            (cons lastbal balancelist)))
-
-     (else
-      (let* ((this (car splits))
-             (rest (cdr splits))
-             (currentbal (+ (or (split->amount this) 0) currentbal))
-             (next (and (pair? rest) (car rest))))
-
-        (cond
-         ;; the next split is still before date
-         ((and next (< (xaccTransGetDate (xaccSplitGetParent next)) (car dates-list)))
-          (loop rest dates-list currentbal lastbal balancelist))
-
-         ;; this split after date, add previous bal to balancelist
-         ((< (car dates-list) (xaccTransGetDate (xaccSplitGetParent this)))
-          (loop splits
-                (cdr dates-list)
-                lastbal
-                lastbal
-                (cons lastbal balancelist)))
-
-         ;; this split before date, next split after date, or end.
-         (else
-          (loop rest
-                (cdr dates-list)
-                currentbal
-                currentbal
-                (cons currentbal balancelist)))))))))
+    (gnc:make-gnc-monetary (xaccAccountGetCommodity account) (or bal 0)))
+  (define balance 0)
+  (map amount->monetary
+       (gnc:account-accumulate-at-dates
+        account dates-list #:split->elt
+        (lambda (s)
+          (if s (set! balance (+ balance (or (split->amount s) 0))))
+          balance))))
+
+
+;; this function will scan through account splitlist, building a list
+;; of split->elt results along the way at dates specified in dates.
+;; in: acc   - account
+;;     dates - a list of time64 -- it will be sorted
+;;     split->date - an unary lambda. result to compare with dates list.
+;;     split->elt - an unary lambda. it will be called successfully for each
+;;                  split in the account until the last date. the result
+;;                  will be accumulated onto the resulting list. the default
+;;                  xaccSplitGetBalance makes it similar to
+;;                  gnc:account-get-balances-at-dates.
+;; out: (list elt0 elt1 ...), each entry is the result of split->elt
+(define* (gnc:account-accumulate-at-dates
+          acc dates #:key
+          (split->date (compose xaccTransGetDate xaccSplitGetParent))
+          (split->elt xaccSplitGetBalance))
+  (let lp ((splits (xaccAccountGetSplitList acc))
+           (dates (sort dates <))
+           (result '())
+           (last-result #f))
+    (match dates
+
+      ;; end of dates. job done!
+      (() (reverse result))
+
+      ((date . rest)
+       (match splits
+
+         ;; end of splits, but still has dates. pad with last-result
+         ;; until end of dates.
+         (() (lp '() rest (cons last-result result) last-result))
+
+         ((head . tail)
+          (let ((next (and (pair? tail) (car tail))))
+            (cond
+
+             ;; the next split is still before date.
+             ((and next (< (split->date next) date))
+              (lp tail dates result (split->elt head)))
+
+             ;; head split after date, accumulate previous result
+             ((< date (split->date head))
+              (lp splits rest (cons last-result result) last-result))
+
+             ;; head split before date, next split after date, or end.
+             (else
+              (let ((head-result (split->elt head)))
+                (lp tail rest (cons head-result result) head-result)))))))))))
 
 ;; This works similar as above but returns a commodity-collector, 
 ;; thus takes care of children accounts with different currencies.
diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index 7fd9eee5a..adf648a36 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -653,6 +653,11 @@
            (dates (gnc:make-date-list (gnc-dmy2time64 01 01 1970)
                                       (gnc-dmy2time64 01 04 1970)
                                       MonthDelta)))
+
+      (test-equal "empty account"
+        '(#f #f #f #f)
+        (gnc:account-accumulate-at-dates bank1 dates))
+
       (env-transfer env 15 01 1970 income bank1 10)
       (env-transfer env 15 02 1970 income bank1 10)
       (env-transfer env 15 03 1970 income bank1 10)
@@ -690,5 +695,21 @@
 
       (test-equal "1 txn in early slot"
         '(("USD" . 0) ("USD" . 10) ("USD" . 10) ("USD" . 10))
-        (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates))))
+        (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates)))
+
+      (test-equal "1 txn in each slot"
+        '(#f 10 20 40)
+        (gnc:account-accumulate-at-dates bank1 dates))
+
+      (test-equal "2 txn before start, 1 in middle"
+        '(20 20 30 30)
+        (gnc:account-accumulate-at-dates bank2 dates))
+
+      (test-equal "1 txn in late slot"
+        '(#f #f #f 10)
+        (gnc:account-accumulate-at-dates bank3 dates))
+
+      (test-equal "1 txn in early slot"
+        '(#f 10 10 10)
+        (gnc:account-accumulate-at-dates bank4 dates)))
     (teardown)))

commit f0a189adbbe5ab9e66c0a76f7fa82c9969bb1b6a
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Nov 21 11:51:05 2019 +0800

    [test-report-utilities] add test-get-account-at-dates

diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index 79728dade..7fd9eee5a 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -24,6 +24,7 @@
   (test-monetary-adders)
   (test-make-stats-collector)
   (test-utility-functions)
+  (test-get-account-at-dates)
   (test-end "report-utilities"))
 
 (define (NDayDelta t64 n)
@@ -625,3 +626,69 @@
       0
       (s 'numitems #f)))
   (test-end "gnc:make-stats-collector"))
+
+(define (monetary->pair mon)
+  (cons (gnc-commodity-get-mnemonic (gnc:gnc-monetary-commodity mon))
+        (gnc:gnc-monetary-amount mon)))
+
+(define (split->amount split)
+  (and split (xaccSplitGetAmount split)))
+
+(define (test-get-account-at-dates)
+  (test-group-with-cleanup "test-get-balance-at-dates"
+    (let* ((env (create-test-env))
+           (structure (list "Root" (list (cons 'type ACCT-TYPE-ASSET))
+                            (list "Asset"
+                                  (list "Bank1")
+                                  (list "Bank2")
+                                  (list "Bank3")
+                                  (list "Bank4"))
+                            (list "Income" (list (cons 'type ACCT-TYPE-INCOME)))))
+           (accounts (env-create-account-structure-alist env structure))
+           (bank1 (assoc-ref accounts "Bank1"))
+           (bank2 (assoc-ref accounts "Bank2"))
+           (bank3 (assoc-ref accounts "Bank3"))
+           (bank4 (assoc-ref accounts "Bank4"))
+           (income (assoc-ref accounts "Income"))
+           (dates (gnc:make-date-list (gnc-dmy2time64 01 01 1970)
+                                      (gnc-dmy2time64 01 04 1970)
+                                      MonthDelta)))
+      (env-transfer env 15 01 1970 income bank1 10)
+      (env-transfer env 15 02 1970 income bank1 10)
+      (env-transfer env 15 03 1970 income bank1 10)
+      (let ((clos (env-transfer env 18 03 1970 income bank1 10)))
+        (xaccTransSetIsClosingTxn clos #t))
+
+      (env-transfer env 15 12 1969 income bank2 10)
+      (env-transfer env 17 12 1969 income bank2 10)
+      (env-transfer env 15 02 1970 income bank2 10)
+
+      (env-transfer env 15 03 1970 income bank3 10)
+
+      (env-transfer env 15 01 1970 income bank4 10)
+
+      (test-equal "1 txn in each slot"
+        '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 40))
+        (map monetary->pair (gnc:account-get-balances-at-dates bank1 dates)))
+
+      (test-equal "1 txn in each slot, tests #:split->amount to ignore closing"
+        '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 30))
+        (map monetary->pair
+             (gnc:account-get-balances-at-dates
+              bank1 dates #:split->amount
+              (lambda (s)
+                (and (not (xaccTransGetIsClosingTxn (xaccSplitGetParent s)))
+                     (xaccSplitGetAmount s))))))
+
+      (test-equal "2 txn before start, 1 in middle"
+        '(("USD" . 20) ("USD" . 20) ("USD" . 30) ("USD" . 30))
+        (map monetary->pair (gnc:account-get-balances-at-dates bank2 dates)))
+
+      (test-equal "1 txn in late slot"
+        '(("USD" . 0) ("USD" . 0) ("USD" . 0) ("USD" . 10))
+        (map monetary->pair (gnc:account-get-balances-at-dates bank3 dates)))
+
+      (test-equal "1 txn in early slot"
+        '(("USD" . 0) ("USD" . 10) ("USD" . 10) ("USD" . 10))
+        (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates))))
+    (teardown)))

commit 267181425178bea6fc160bbf6e60687fcae298ca
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Wed Nov 20 21:00:14 2019 +0800

    [balsheet-pnl] income statement parent account can link to TR
    
    this commit modifies the recursive-parent subtotal generator to also
    include a link to a transaction report with all relevant accounts.

diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 8d06801b1..0a6d618a7 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -573,7 +573,10 @@ also show overall period profit & loss."))
                                                     col-datum
                                                     #t)
                                col-datum
-                               #f)))
+                               (and get-cell-anchor-fn
+                                    (get-cell-anchor-fn
+                                     (account-and-descendants lvl-acct)
+                                     col-datum)))))
                            cols-data))))
 
   (define* (add-account-row lvl-curr curr #:key
@@ -903,13 +906,14 @@ also show overall period profit & loss."))
                        (list-ref account-balance-list (1+ col-idx))))))
              (get-cell-anchor-fn
               (lambda (account col-idx)
-                (let* ((splits (xaccAccountGetSplitList account))
-                       (split-date (compose xaccTransGetDate xaccSplitGetParent))
-                       (date (list-ref report-dates col-idx))
-                       (valid-split? (lambda (s) (< (split-date s) date)))
-                       (valid-splits (filter valid-split? splits)))
-                  (and (pair? valid-splits)
-                       (gnc:split-anchor-text (last valid-splits))))))
+                (and (not (pair? account))
+                     (let* ((splits (xaccAccountGetSplitList account))
+                            (split-date (compose xaccTransGetDate xaccSplitGetParent))
+                            (date (list-ref report-dates col-idx))
+                            (valid-split? (lambda (s) (< (split-date s) date)))
+                            (valid-splits (filter valid-split? splits)))
+                       (and (pair? valid-splits)
+                            (gnc:split-anchor-text (last valid-splits)))))))
 
              (asset-liability-balances
               (let ((asset-liab-balances
@@ -1149,7 +1153,9 @@ also show overall period profit & loss."))
                                            (or common-currency book-main-currency))
                                      (list "Display" "Amount" 'double)
                                      (list "Accounts" "Accounts"
-                                           (list account))))))
+                                           (if (pair? account)
+                                               account
+                                               (list account)))))))
 
              (chart (and include-chart?
                          (gnc:make-report-anchor

commit 1ab95b5563d3de766f1680d6aac60b2fedfb7833
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Wed Nov 20 00:13:42 2019 +0800

    [invoice][i18n] enable i18n options helptext
    
    and remove obsolete options "My Company" and "My Company ID"

diff --git a/gnucash/report/business-reports/invoice.scm b/gnucash/report/business-reports/invoice.scm
index af4e29fb4..0beef5c12 100644
--- a/gnucash/report/business-reports/invoice.scm
+++ b/gnucash/report/business-reports/invoice.scm
@@ -207,13 +207,13 @@
 
   (gnc:register-inv-option
    (gnc:make-text-option
-    (N_ "Layout") (N_ "CSS") "zz" "CSS code. This field specifies the CSS code
-for styling the invoice. Please see the exported report for the CSS class names."
+    (N_ "Layout") (N_ "CSS") "zz" (N_ "CSS code. This field specifies the CSS code \
+for styling the invoice. Please see the exported report for the CSS class names.")
     (keylist-get-info variant-list variant 'css)))
 
   (gnc:register-inv-option
    (gnc:make-pixmap-option
-    (N_ "Layout") (N_ "Picture Location") "zy" "Location for Picture"
+    (N_ "Layout") (N_ "Picture Location") "zy" (N_ "Location for Picture")
     ""))
 
   (gnc:register-inv-option
@@ -261,11 +261,6 @@ for styling the invoice. Please see the exported report for the CSS class names.
     (N_ "Display Columns") (N_ "Total")
     "n" (N_ "Display the entry's value?") #t))
 
-  ;; company details can now be toggled via Layout tab
-  ;; and IMHO company-tax-id should be rendered if present
-  (gnc:register-inv-option (gnc:make-internal-option "Display" "My Company" #f))
-  (gnc:register-inv-option (gnc:make-internal-option "Display" "My Company ID" #f))
-
   (gnc:register-inv-option
    (gnc:make-simple-boolean-option
     (N_ "Display") (N_ "Due Date")
diff --git a/gnucash/report/business-reports/test/test-invoice.scm b/gnucash/report/business-reports/test/test-invoice.scm
index d6a3588b4..04cfffe5b 100644
--- a/gnucash/report/business-reports/test/test-invoice.scm
+++ b/gnucash/report/business-reports/test/test-invoice.scm
@@ -105,9 +105,8 @@
         (for-each
          (lambda (disp-col-name)
            (set-option! options "Display" disp-col-name setting))
-         '("My Company" "My Company ID" "Due Date"
-           "Use Detailed Tax Summary" "Totals" "Subtotal" "References"
-           "Billing Terms" "Billing ID" "Invoice Notes"
+         '("Due Date" "Use Detailed Tax Summary" "Totals" "Subtotal"
+           "References" "Billing Terms" "Billing ID" "Invoice Notes"
            "Payments" "Job Details"))
         options))
 



Summary of changes:
 gnucash/gnome-utils/dialog-account.c               |   2 +-
 gnucash/gnome-utils/dialog-commodity.c             |   8 +-
 gnucash/gnome-utils/dialog-dup-trans.c             |   2 +-
 gnucash/gnome-utils/dialog-options.c               |  65 +++--------
 gnucash/gnome-utils/dialog-transfer.c              |   4 +-
 gnucash/gnome-utils/gnc-dense-cal.c                |   2 +-
 gnucash/gnome-utils/gnc-frequency.h                |   4 +-
 gnucash/gnome/assistant-acct-period.c              |   4 +-
 gnucash/gnome/business-options-gnome.c             |   7 +-
 gnucash/gnome/gnc-split-reg.c                      |   6 +-
 gnucash/gnome/window-reconcile.c                   |  12 +-
 gnucash/gnome/window-reconcile2.c                  |  12 +-
 gnucash/gtkbuilder/assistant-acct-period.glade     |   5 +-
 gnucash/gtkbuilder/assistant-csv-export.glade      |  10 +-
 gnucash/gtkbuilder/assistant-loan.glade            |  44 ++++----
 gnucash/gtkbuilder/assistant-qif-import.glade      |  18 +--
 gnucash/gtkbuilder/assistant-stock-split.glade     |  14 +--
 gnucash/gtkbuilder/assistant-xml-encoding.glade    |   2 +-
 gnucash/gtkbuilder/business-prefs.glade            |   6 +-
 gnucash/gtkbuilder/dialog-account.glade            |  46 ++++----
 gnucash/gtkbuilder/dialog-billterms.glade          |  21 ++--
 gnucash/gtkbuilder/dialog-book-close.glade         |   9 +-
 gnucash/gtkbuilder/dialog-commodity.glade          |  26 ++---
 gnucash/gtkbuilder/dialog-customer.glade           |  38 ++++---
 gnucash/gtkbuilder/dialog-employee.glade           |  28 +++--
 gnucash/gtkbuilder/dialog-file-access.glade        |   2 +-
 gnucash/gtkbuilder/dialog-fincalc.glade            |  10 +-
 gnucash/gtkbuilder/dialog-import.glade             |  10 +-
 gnucash/gtkbuilder/dialog-invoice.glade            |  10 +-
 gnucash/gtkbuilder/dialog-preferences.glade        |  36 +++---
 gnucash/gtkbuilder/dialog-price.glade              |  22 ++--
 gnucash/gtkbuilder/dialog-print-check.glade        |  26 ++---
 gnucash/gtkbuilder/dialog-report.glade             |   8 +-
 gnucash/gtkbuilder/dialog-sx.glade                 |  27 ++---
 gnucash/gtkbuilder/dialog-tax-info.glade           |   4 +-
 gnucash/gtkbuilder/dialog-tax-table.glade          |   8 +-
 gnucash/gtkbuilder/dialog-totd.glade               |   2 +-
 gnucash/gtkbuilder/dialog-transfer.glade           |  18 +--
 gnucash/gtkbuilder/dialog-userpass.glade           |   4 +-
 gnucash/gtkbuilder/dialog-vendor.glade             |  24 ++--
 gnucash/gtkbuilder/gnc-date-format.glade           |  10 +-
 gnucash/gtkbuilder/gnc-frequency.glade             |  21 ++--
 gnucash/gtkbuilder/gnc-plugin-page-budget.glade    |  25 +++--
 gnucash/gtkbuilder/gnc-plugin-page-register.glade  |  18 +--
 gnucash/gtkbuilder/gnc-plugin-page-register2.glade |  14 +--
 gnucash/gtkbuilder/gnc-recurrence.glade            |   3 +-
 gnucash/gtkbuilder/window-autoclear.glade          |   4 +-
 gnucash/gtkbuilder/window-reconcile.glade          |   8 +-
 .../import-export/qif-imp/assistant-qif-import.c   |   6 +-
 gnucash/report/html-document.scm                   |  28 +----
 gnucash/report/html-style-info.scm                 |  63 +----------
 gnucash/report/report-utilities.scm                | 124 ++++++++++++---------
 gnucash/report/report.scm                          |  13 +--
 gnucash/report/reports/example/hello-world.scm     |  11 +-
 gnucash/report/reports/standard/balsheet-pnl.scm   | 109 ++++++++++++------
 .../report/reports/standard/category-barchart.scm  |  23 ++--
 gnucash/report/reports/standard/invoice.scm        |  11 +-
 gnucash/report/reports/standard/net-charts.scm     |  14 +--
 gnucash/report/reports/standard/new-aging.scm      |  40 ++++++-
 .../report/reports/standard/new-owner-report.scm   |   3 +-
 .../report/reports/standard/test/test-invoice.scm  |   5 +-
 gnucash/report/test/test-report-utilities.scm      |  96 ++++++++++++++++
 libgnucash/backend/xml/io-example-account.cpp      |   2 -
 libgnucash/backend/xml/io-gncxml-v2.cpp            |   8 +-
 libgnucash/backend/xml/io-utils.cpp                |  19 +---
 libgnucash/backend/xml/io-utils.h                  |   2 -
 66 files changed, 663 insertions(+), 623 deletions(-)



More information about the gnucash-changes mailing list