Pedro Albuquerque
a9260f0c64
Translation update by Pedro Albuquerque <pmra@protonmail.com> using Weblate
...
po/glossary/pt.po: 100.0% (212 of 212 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Portuguese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/pt/
Translation update by Pedro Albuquerque <pmra@protonmail.com > using Weblate
po/pt.po: 100.0% (5749 of 5749 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Portuguese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pt/
Co-authored-by: Pedro Albuquerque <pmra@protonmail.com >
2026-10-02 21:52:59 +02:00
Simon Arlott
053c8f055b
Translation update by Simon Arlott <nomis@users.noreply.hosted.weblate.org> using Weblate
...
po/en_NZ.po: 100.0% (5749 of 5749 strings; 0 fuzzy)
2 failing checks (0.1%)
Translation: GnuCash/Program (English (New Zealand))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_NZ/
Translation update by Simon Arlott <nomis@users.noreply.hosted.weblate.org > using Weblate
po/en_AU.po: 100.0% (5749 of 5749 strings; 0 fuzzy)
2 failing checks (0.1%)
Translation: GnuCash/Program (English (Australia))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_AU/
Translation update by Simon Arlott <nomis@users.noreply.hosted.weblate.org > using Weblate
po/en_GB.po: 100.0% (5749 of 5749 strings; 0 fuzzy)
2 failing checks (0.1%)
Translation: GnuCash/Program (English (United Kingdom))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_GB/
Co-authored-by: Simon Arlott <nomis@users.noreply.hosted.weblate.org >
2026-10-02 21:52:59 +02:00
Zhaoquan Huang
73e5df0a98
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com> using Weblate
...
po/zh_CN.po: 98.8% (5683 of 5749 strings; 37 fuzzy)
23 failing checks (0.4%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/glossary/zh_CN.po: 85.8% (182 of 212 strings; 30 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/glossary/zh_CN.po: 83.4% (177 of 212 strings; 35 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/glossary/zh_CN.po: 77.3% (164 of 212 strings; 48 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/zh_CN.po: 98.8% (5683 of 5749 strings; 37 fuzzy)
23 failing checks (0.4%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/zh_CN.po: 98.8% (5683 of 5749 strings; 37 fuzzy)
23 failing checks (0.4%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/glossary/zh_CN.po: 74.0% (157 of 212 strings; 55 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/glossary/zh_CN.po: 73.1% (155 of 212 strings; 57 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/zh_CN.po: 98.5% (5668 of 5749 strings; 44 fuzzy)
29 failing checks (0.5%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/glossary/zh_CN.po: 72.1% (153 of 212 strings; 59 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/zh_Hans/
Co-authored-by: Zhaoquan Huang <zhaoquan2008@hotmail.com >
2026-10-02 21:52:59 +02:00
John Ralls
7ebac3fde8
Merge Koos Pol's 'typo-fix' into stable.
2026-10-02 12:50:21 -07:00
Ceaus
d11841ade7
Fixed some typo's.
2026-10-02 18:41:00 +02:00
Christopher Lam
9414fdf546
[ScrubBusiness.c] don't reassign splits when restarting for loop
...
this plugs GList* leak upon restart
2026-10-02 05:51:40 +08:00
John Ralls
56ccad9a66
Bug 799821 - £ symbol across whole UI shows as £
...
Windows: Get UTF16 localization strings and convert them thus bypassing
the code page problem entirely.
2026-09-29 15:32:35 -07:00
John Ralls
55ed9d2e03
NEWS: fix typo
2026-09-27 16:19:33 -07:00
John Ralls
0e302675ff
Release GnuCash 5.17
5.17
2026-09-26 12:58:12 -07:00
John Ralls
83a193dd8d
Bug 797872 - Multiple check printing results in nothing sent to print queue after first check
2026-09-26 12:20:34 -07:00
John Ralls
7755418cb8
Merge Chris Lam's 'acc-templated-split-iterator' into stable.
2026-09-26 11:19:33 -07:00
John Ralls
d8f0e151a7
engine.i: Fix typo.
2026-09-26 09:04:12 -07:00
Christopher Lam
5ed56e2b3d
[engine.i] use gnc_account_foreach_split_between_dates
...
avoids calling callback on splits before start_date
2026-09-26 23:18:59 +08:00
Christopher Lam
5888a04a8e
[account.cpp] use gnc_account_foreach_split_between_dates
2026-09-26 23:18:59 +08:00
Christopher Lam
3bbf74a730
[account.hpp] introduce gnc_account_foreach_split_between_dates
...
A templated account->splits iterator, will target splits from
start_date to end_date, inclusive of date boundaries. Also optionally
include descendants.
2026-09-26 23:18:59 +08:00
John Ralls
3cf1352cbb
Merge Noah Noerr's 'python-guard-price-set-source-string' into stable.
2026-09-25 16:10:42 -07:00
Noerr
0dc41c1212
[bindings/python] Deprecate set_source_string; remove it from the Guile bindings
...
gnc_price_set_source_string maps a source string to the PriceSource enum and
silently leaves the source unchanged for anything it doesn't recognize -- a
silent no-op a naive Python or Guile script can hit. Steer callers to
set_source() with a PriceSource member (added in #2317 ) instead.
Python bindings:
- Deprecate GncPrice.set_source_string(): it now emits a DeprecationWarning
pointing at set_source(PriceSource.<...>). It still works during the
deprecation period and still guards -- if the string is not recognized (the
round-tripped source no longer equals the input) it raises ValueError rather
than silently doing nothing.
- Fix the deprecated() decorator in deprecation.py: it referenced the undefined
DeprecationWarnig and inspect.current_frame(), so it raised instead of
warning (the one existing @deprecated use was latently broken).
Guile bindings:
- mark gnc-price-set-source-string deprecated in engine.i.
(Python and Guile use separate SWIG interface files, so Python is
handled separately). The only in-tree Guile caller is the QIF importer, updated to
gnc-price-set-source with PRICE-SOURCE-USER-PRICE; the redundant
set-source-string in test-engine-extras.scm's fixture helper is dropped.
Tests (test_price_and_wrapping.py):
- TestSetSourceStringGuard covers the guard (still raises on an unrecognized
string) and the new DeprecationWarning.
Removing set_source_string from the Python bindings is a follow-up.
2026-09-25 16:05:19 -07:00
John Ralls
fbcb9f5e75
Merge Noah Noerr's 'bug799796-price-example-getvalue' into stable.
2026-09-25 14:38:24 -07:00
Noerr
89448ffd34
[bindings/python] Fix and modernize the price example scripts (Bug 799796)
...
PR #2187 made GncPrice.get_value() return a GncNumeric wrapper and clone() a
fully wrapped GncPrice. The price example scripts still used the pre-5.15 raw
_gnc_numeric idiom and broke -- reported as Bug 799796 (cloned prices silently
kept the original value).
Example scripts (bindings/python/example_scripts/):
* quotes_historic.py -- reworked to the modern idiom; it now actually runs on
5.x (it had further latent breakage beyond the reported one):
- Construct each price directly with GncPrice(book) + setters instead of
cloning an existing price, so the script no longer needs a pre-existing
price in the book. Look the pricing currency (USD) up from the commodity
table rather than deriving it from a split.
- Build the value with the double->GncNumeric constructor at GnuCash's
standard price precision -- the pricing currency's SCU * COMMODITY_DENOM_MULT
rounded HALF_UP (gnc-pricedb.h "Price policy") -- dropping the
Fraction.from_float().limit_denominator(100000) dance and its import.
- Set the source with the PriceSource enum -- set_source(PriceSource.FINANCE_QUOTE)
(the enum added in #2317 ). The original set_source("Finance::Quotes::Historic")
passed a string to what has been an enum setter since 2.6, which raises
TypeError on modern bindings.
- Open with Session(url), which defaults to SESSION_NORMAL_OPEN. The old
Session(url, True, False, False) passed the deprecated ignore_lock=True,
silently bypassing the book's lock file.
* priceDB_test.py, price_database_example.py -- num/denom are methods now, so
read v.num() / v.denom().
Prevent silent recurrence (gnucash_core.py):
The write path failed *silently*, which is how this slipped through review and
CI. num/denom are read-only accessor methods, so assigning to them merely
shadows the method and changes nothing. Add a GncNumeric.__setattr__ that raises
AttributeError on assignment to num/denom, pointing at the correct idiom
GncNumeric(num, denom).
Test (bindings/python/tests/test_numeric.py):
New test_num_denom_read_only covering the guard. It needs no backend, so it runs
in the existing python-bindings CTest on all platforms.
The wiki page Stocks/get_prices, which the reporter copied from, is being
updated separately.
2026-09-24 22:08:37 -07:00
John Ralls
973a64ceda
Correct the summary and description for the chart-tooltip-position preference schema.
...
Thanks to Simon Arlott for noticing and reporting it.
2026-09-24 15:58:38 -07:00
John Ralls
5b687ae193
Merge Noah Noerr's 'python-pricesource-enum' into stable.
2026-09-24 13:26:12 -07:00
Noerr
f21fec06be
[bindings/python] Add a PriceSource enum for gnc_price_set_source()
...
Setting a price's source from Python meant reaching into gnucash_core_c for the
raw PRICE_SOURCE_* constants. Add a PriceSource(IntEnum) alongside SessionOpenMode,
with values sourced from the C enum (via gnucash_core_c) so they can't drift, so a
script can write price.set_source(PriceSource.FINANCE_QUOTE) with a plain top-level
import.
Add test_price_and_wrapping.TestPriceSourceEnum:
- test_values_match_c_enum asserts the Python enum covers the C PRICE_SOURCE_*
value set exactly, so adding, removing, or renumbering a C value fails CI until
PriceSource is updated to match. (Member names are a Python-side choice --
FINANCE_QUOTE spells out FQ -- so the check is on values.)
- test_set_source_accepts_enum confirms a member flows through set_source() and
round-trips.
2026-09-24 00:41:54 -07:00
Christopher Lam
c8317b15a0
[test-scm-utilities.scm] addendum last commit "quote" now sanitized
2026-09-24 09:28:36 +08:00
Christopher Lam
0cbce35a47
[engine.i] delegate gnc:html-string-sanitize to g_markup_escape_text
2026-09-24 08:25:18 +08:00
John Ralls
cb304edfa6
Bug 799813 - gnucash-cli issue for price updates using Postgressql back-end
...
Reorder the CLI quotes get startup sequence to load GncQuotes before
loading the session so that preconfigured quote sources don't null
out other supported sources.
Make the SQL backend create a new source when an unknown one is found in
the commodities table like the XML backend does.
Thanks to Ganesh Suriyanarayanan for diagnosing the problem and
proposing a solution.
2026-09-22 15:52:16 -07:00
John Ralls
f488cf356a
Qif Import: Fix segment order when parsing YDM dates.
2026-09-21 12:45:05 -07:00
John Ralls
3c9cfbb916
Merge Roy Hansen's 'improve/natural-sort-id-columns' into stable.
2026-09-19 17:08:55 -07:00
John Ralls
1e5f5d184d
Merge Huang Zhaoquan's 'bug-799803' into stable.
2026-09-19 15:47:38 -07:00
John Ralls
6bf9adf09b
msgmerge the 5.17 gnucash.pot to prepare for next release.
2026-09-19 15:35:45 -07:00
John Ralls
4f25b38997
Merge latest translations from Weblate.
2026-09-19 15:20:30 -07:00
Yegor Derevenets
f4c17f2a0a
Translation update by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate
...
po/ru.po: 98.1% (5594 of 5699 strings; 84 fuzzy)
107 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/
Co-authored-by: Yegor Derevenets <yegor.derevenets@gmail.com >
2026-09-18 10:40:25 +00:00
Arve Eriksson
15947a7e26
Translation update by Arve Eriksson <arve.eriksson@startmail.com> using Weblate
...
po/sv.po: 100.0% (5699 of 5699 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Swedish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/sv/
Co-authored-by: Arve Eriksson <arve.eriksson@startmail.com >
2026-09-18 10:40:24 +00:00
Zhaoquan Huang
9745b68ae1
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com> using Weblate
...
po/zh_CN.po: 99.7% (5687 of 5699 strings; 8 fuzzy)
18 failing checks (0.3%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/zh_CN.po: 99.7% (5687 of 5699 strings; 8 fuzzy)
18 failing checks (0.3%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/zh_CN.po: 99.7% (5687 of 5699 strings; 8 fuzzy)
18 failing checks (0.3%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Translation update by Zhaoquan Huang <zhaoquan2008@hotmail.com > using Weblate
po/zh_CN.po: 99.7% (5687 of 5699 strings; 8 fuzzy)
18 failing checks (0.3%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
Co-authored-by: Zhaoquan Huang <zhaoquan2008@hotmail.com >
2026-09-18 10:40:24 +00:00
Szia Tomi
a347b89830
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/glossary/hu.po: 100.0% (213 of 213 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com > using Weblate
po/hu.po: 91.4% (5210 of 5699 strings; 114 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com > using Weblate
po/hu.po: 91.4% (5210 of 5699 strings; 114 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com > using Weblate
po/hu.po: 91.4% (5209 of 5699 strings; 115 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com >
2026-09-18 10:40:23 +00:00
Christopher Lam
fb2c773bf6
[libgnucash/app-utils/test] test shouldn't include gnc-gnome-utils
2026-09-18 18:39:36 +08:00
Roy Hansen
1969d781e4
Sort Id columns naturally in qof-query, which is used in gnucash search
...
dialogs.
Changed sorting to be natural (chunks), instead of sequential ascii-sort.
Number chunks are compared as whole numbers instead of one at a time.
2026-09-18 10:50:00 +02:00
Roy Hansen
06f7324e58
Sort Id columns naturally in gnc-tree-views.
...
Changed sorting to be natural (chunks), instead of sequential ascii-sort.
Number chunks are compared as whole numbers instead of one at a time.
After this change, customer-overview, vendor-overview and
employee-overview will naturally sort "id" columns.
2026-09-18 10:50:00 +02:00
John Ralls
6b69ea7278
mingw32: Use msvcrt's _wsetlocale in set_platform_ctype_to_acp.
...
The setlocale we get is from libintl which doesn't do anything for
locale "C".
This commit should be reverted immediately after merging into future.
Assisted-by: Claude Code Opus 5
Signed-off: John Ralls <jralls@ceridwen.us >
2026-09-16 17:57:17 -07:00
John Ralls
e27a3c6230
mingw32: Force the C runtime to use the process's code page.
...
The process code page is set by the manifest created in the
previous commit. Left to its own devices msvcrt will set the
character set to the locale's DOS codepage. This commit overrides
that by setting the locale charset to the C locale's which is
always the process one.
ucrt doesn't override the process char set so this isn't necessary
and will be reverted immediately after merge.
Assisted-by: Claude Code Opus 5
Signed-off: John Ralls <jralls@ceridwen.us >
2026-09-16 17:12:17 -07:00
Claude
38754227f3
[new-owner-report] Scope script to its table, use keyboard toggle
...
Wrap in IIFE to prevent script variables interfering with other owner
reports in multi-report scenarios. Target current report table, marked
with gensym.
Add keyboard support: Space on a focused cell (e.g. link to invoice or
register) toggles the highlight. Enter on a focused cell still opens
the invoice or register.
Wrap the script in //<![CDATA[ ... //]]> avoiding need for escaping
&&.
Assisted-By: Claude Sonnet 5 <noreply@anthropic.com >
Signed-Off: Christopher Lam
2026-09-15 22:36:15 +08:00
John Ralls
038f90a798
Mingw64: Use a manifest to force the codepage to UTF8
...
Fixes a variety of path with special character problems on Windows.
Assisted-by: Gemini <https://gemini.google.com >
Signed-off: John Ralls <jralls@ceridwen.us >
2026-09-14 14:48:31 -07:00
Christopher Lam
0eb3e8eb75
[html-chart] centralize gnc:html-chart-set-tooltip-caretpadding-from-prefs!
2026-09-12 07:15:29 +08:00
Christopher Lam
6b930ecee2
[html-chart] apply preferences to gnc:html-chart object
...
preferences should applied on object creation
2026-09-12 07:15:29 +08:00
Christopher Lam
9d6d0029c7
[html-chart] rename fn call to gnc:html-chart-set-tooltip-mode!
...
instead of gnc:html-chart-set-tooltip-indexed?!
because there are other tooptip modes:
nearest, index, dataset, point, x, y
2026-09-11 20:14:33 +08:00
Christopher Lam
f226d2355f
[html-chart] centralize gnc:html-chart-set-tooltip-caretpadding!
...
because it'll change with chartjs-4
2026-09-11 20:14:33 +08:00
Christopher Lam
63a578fa03
[reports] fix scheme indenting, and use scheme conventions
2026-09-11 20:08:55 +08:00
Huang, Zhaoquan
7303d9ae38
Split context/category to msgctxt field in gnc-glossary.txt
...
* The `rename-glossary.py` script is used to move the context/category from msgid to msgctxt.
* The translations are kept as-is, with a fuzzy flag.
* Considering that these renamed terms are not proper nouns, they have been changed to start with lowercase letters.
Fix https://bugs.gnucash.org/show_bug.cgi?id=799803
The command used to rename the terms:
```
cd po/glossary
./rename-glossary.py -o "\"\"" -nc "quoting convention" -n "\"\"" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Active" -nc "account type" -n "active" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Asset" -nc "account type" -n "asset" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Assets & Liabilities" -nc "account type" -n "assets & liabilities" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: checking" -nc "account type" -n "checking" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: currency" -nc "account type" -n "currency" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Equity" -nc "account type" -n "equity" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Expense" -nc "account type" -n "expense" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Income" -nc "account type" -n "income" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Liability" -nc "account type" -n "liability" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: money-market" -nc "account type" -n "money-market" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Mutual fund" -nc "account type" -n "mutual fund" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Passive" -nc "account type" -n "passive" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Profit & Loss" -nc "account type" -n "profit & loss" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: saving" -nc "account type" -n "saving" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: Stock" -nc "account type" -n "stock" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account type: trading" -nc "account type" -n "trading" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account: parent account" -nc "account" -n "parent account" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account: subaccount" -nc "account" -n "subaccount" *.po -t gnc-glossary.txt
./rename-glossary.py -o "account: top level account" -nc "account" -n "top level account" *.po -t gnc-glossary.txt
./rename-glossary.py -o "Action (register)" -nc "register" -n "action" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: ATM" -nc "action" -n "ATM" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: autoDep" -nc "action" -n "autoDep" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: buy" -nc "action" -n "buy" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: deposit" -nc "action" -n "deposit" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: direct debit" -nc "action" -n "direct debit" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: dist" -nc "action" -n "dist" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: div" -nc "action" -n "div" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: fee" -nc "action" -n "fee" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: int" -nc "action" -n "int" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: loan" -nc "action" -n "loan" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: payment" -nc "action" -n "payment" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: POS" -nc "action" -n "POS" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: rebate" -nc "action" -n "rebate" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: sell" -nc "action" -n "sell" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: Teller" -nc "action" -n "teller" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: transfer" -nc "action" -n "transfer" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: wire" -nc "action" -n "wire" *.po -t gnc-glossary.txt
./rename-glossary.py -o "action: withdraw" -nc "action" -n "withdraw" *.po -t gnc-glossary.txt
./rename-glossary.py -o "balance (noun)" -nc "noun" -n "balance" *.po -t gnc-glossary.txt
./rename-glossary.py -o "balance, to" -nc "verb" -n "balance" *.po -t gnc-glossary.txt
./rename-glossary.py -o "business (adjective)" -nc "adjective" -n "business" *.po -t gnc-glossary.txt
./rename-glossary.py -o "business (noun)" -nc "noun" -n "business" *.po -t gnc-glossary.txt
./rename-glossary.py -o "check and repair, to" -nc "verb" -n "check and repair" *.po -t gnc-glossary.txt
./rename-glossary.py -o "close, to" -nc "verb" -n "close" *.po -t gnc-glossary.txt
./rename-glossary.py -o "commodity option: fraction" -nc "commodity option" -n "fraction" *.po -t gnc-glossary.txt
./rename-glossary.py -o "commodity option: Symbol" -nc "commodity option" -n "symbol" *.po -t gnc-glossary.txt
./rename-glossary.py -o "Credit (column in register)" -nc "column in register" -n "credit" *.po -t gnc-glossary.txt
./rename-glossary.py -o "Debit (column in register)" -nc "column in register" -n "debit" *.po -t gnc-glossary.txt
./rename-glossary.py -o "deposit (in the reconcile dialog)" -nc "reconcile dialog" -n "deposit" *.po -t gnc-glossary.txt
./rename-glossary.py -o "Description (column in register)" -nc "column in register" -n "description" *.po -t gnc-glossary.txt
./rename-glossary.py -o "escrow (account)" -nc "account" -n "escrow" *.po -t gnc-glossary.txt
./rename-glossary.py -o "financial calculator: interest rate" -nc "financial calculator" -n "interest rate" *.po -t gnc-glossary.txt
./rename-glossary.py -o "financial calculator: payments" -nc "financial calculator" -n "payments" *.po -t gnc-glossary.txt
./rename-glossary.py -o "loan: APR" -nc "loan" -n "APR" *.po -t gnc-glossary.txt
./rename-glossary.py -o "merge, to" -nc "verb" -n "merge" *.po -t gnc-glossary.txt
./rename-glossary.py -o "mortgage: ARM" -nc "mortgage" -n "ARM" *.po -t gnc-glossary.txt
./rename-glossary.py -o "mortgage: FRM" -nc "mortgage" -n "FRM" *.po -t gnc-glossary.txt
./rename-glossary.py -o "notes (register)" -nc "column in register" -n "notes" *.po -t gnc-glossary.txt
./rename-glossary.py -o "Num (column in register)" -nc "column in register" -n "num" *.po -t gnc-glossary.txt
./rename-glossary.py -o "open, to" -nc "verb" -n "open" *.po -t gnc-glossary.txt
./rename-glossary.py -o "post, to" -nc "verb" -n "post" *.po -t gnc-glossary.txt
./rename-glossary.py -o "price (in a split)" -nc "split property" -n "price" *.po -t gnc-glossary.txt
./rename-glossary.py -o "price type: ask" -nc "price type" -n "ask" *.po -t gnc-glossary.txt
./rename-glossary.py -o "price type: bid" -nc "price type" -n "bid" *.po -t gnc-glossary.txt
./rename-glossary.py -o "price: quotes" -nc "price" -n "quotes" *.po -t gnc-glossary.txt
./rename-glossary.py -o "rebalance, to (a transaction)" -nc "verb, on a transaction" -n "rebalance" *.po -t gnc-glossary.txt
./rename-glossary.py -o "reconcile, to" -nc "verb" -n "reconcile" *.po -t gnc-glossary.txt
./rename-glossary.py -o "register entry: split transaction" -nc "register entry" -n "split transaction" *.po -t gnc-glossary.txt
./rename-glossary.py -o "register entry: stock split" -nc "register entry" -n "stock split" *.po -t gnc-glossary.txt
./rename-glossary.py -o "register: auto-split ledger" -nc "register" -n "auto-split ledger" *.po -t gnc-glossary.txt
./rename-glossary.py -o "register: basic ledger" -nc "register" -n "basic ledger" *.po -t gnc-glossary.txt
./rename-glossary.py -o "register: general ledger" -nc "register" -n "general ledger" *.po -t gnc-glossary.txt
./rename-glossary.py -o "register: transaction journal" -nc "register" -n "transaction journal" *.po -t gnc-glossary.txt
./rename-glossary.py -o "reload, to" -nc "verb" -n "reload" *.po -t gnc-glossary.txt
./rename-glossary.py -o "report form: T Account Form" -nc "report form" -n "T account form" *.po -t gnc-glossary.txt
./rename-glossary.py -o "report form: Vertical Form" -nc "report form" -n "vertical form" *.po -t gnc-glossary.txt
./rename-glossary.py -o "reverse transaction, to (Action in the register)" -nc "action in the register, verb" -n "reverse transaction" *.po -t gnc-glossary.txt
./rename-glossary.py -o "save, to (to a file)" -nc "verb, to a file" -n "save" *.po -t gnc-glossary.txt
./rename-glossary.py -o "scrub, to" -nc "verb" -n "scrub" *.po -t gnc-glossary.txt
./rename-glossary.py -o "Share Balance (register)" -nc "register" -n "share balance" *.po -t gnc-glossary.txt
./rename-glossary.py -o "tax type: income tax" -nc "tax type" -n "income tax" *.po -t gnc-glossary.txt
./rename-glossary.py -o "tax type: sales tax" -nc "tax type" -n "sales tax" *.po -t gnc-glossary.txt
./rename-glossary.py -o "tax type: GST" -nc "tax type" -n "GST" *.po -t gnc-glossary.txt
./rename-glossary.py -o "tax type: VAT" -nc "tax type" -n "VAT" *.po -t gnc-glossary.txt
./rename-glossary.py -o "transaction state: cleared" -nc "transaction state" -n "cleared" *.po -t gnc-glossary.txt
./rename-glossary.py -o "transaction state: frozen" -nc "transaction state" -n "frozen" *.po -t gnc-glossary.txt
./rename-glossary.py -o "transaction state: reconciled" -nc "transaction state" -n "reconciled" *.po -t gnc-glossary.txt
./rename-glossary.py -o "transaction state: voided" -nc "transaction state" -n "voided" *.po -t gnc-glossary.txt
./rename-glossary.py -o "transfer (noun)" -nc "noun" -n "transfer" *.po -t gnc-glossary.txt
./rename-glossary.py -o "transfer, to (register toolbar)" -nc "register toolbar, verb" -n "transfer" *.po -t gnc-glossary.txt
./rename-glossary.py -o "trial balance (report)" -nc "report" -n "trial balance" *.po -t gnc-glossary.txt
./rename-glossary.py -o "value (in a split)" -nc "split property" -n "value" *.po -t gnc-glossary.txt
./rename-glossary.py -o "withdraw (in the reconcile dialog)" -nc "reconcile dialog" -n "withdraw" *.po -t gnc-glossary.txt
```
2026-09-08 21:43:05 +08:00
Huang, Zhaoquan
6d18e5a78f
Format all glossary po files through rename-glossary.py
...
All the glossary .po files are processed by rename-glossary.py to simplify the diff of the following glossary renames.
The formatting diff includes:
* Metadata ordering is changed.
* Empty comments are deleted, due to `polib` doesn't flush empty comments to .po files.
The command used to do the formatting is:
```
cd po/glossary
./rename-glossary.py -o "" -n "" *.po --skip-check
```
2026-09-08 21:36:49 +08:00
Huang, Zhaoquan and Frank H. Ellenberger
9176d1964f
Add context field in gnc-glossary.txt
...
* txt-to-pot.sh is updated to populate msgctxt to the .pot file and skip the header row
* The new .pot file is `msgmerge`d into the .po files
* gnc-glossary.txt is updated to provide an empty context for each glossary
* A new script `rename-glossary.py` is introduced to rename a term in both the .txt file and all the .po files
Co-authored-by: Frank H. Ellenberger <frank.h.ellenberger@gmail.com >
2026-09-08 21:36:48 +08:00
Christopher Lam
00cc11fb05
[Transaction.cpp] use g_list_sort to partition splits
...
because g_list_sort is a stable sort, and can partition trans->splits
into neg < !neg efficiently
2026-09-06 23:34:46 +08:00