mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Merge branch 'maint'
This commit is contained in:
commit
d28ff20ff7
@ -652,6 +652,7 @@ set(gnucash_DOCS
|
|||||||
ChangeLog.2017
|
ChangeLog.2017
|
||||||
ChangeLog.2018
|
ChangeLog.2018
|
||||||
ChangeLog.2019
|
ChangeLog.2019
|
||||||
|
ChangeLog.2020
|
||||||
DOCUMENTERS
|
DOCUMENTERS
|
||||||
HACKING
|
HACKING
|
||||||
LICENSE
|
LICENSE
|
||||||
@ -788,6 +789,7 @@ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/common/config.h.cmake.in ${CONFIG_H}
|
|||||||
add_subdirectory (borrowed)
|
add_subdirectory (borrowed)
|
||||||
add_subdirectory (data)
|
add_subdirectory (data)
|
||||||
add_subdirectory (doc)
|
add_subdirectory (doc)
|
||||||
|
# Note: po should be processed before gnucash - it provides LINGUAS, used to generate desktop and appdata files
|
||||||
add_subdirectory (po)
|
add_subdirectory (po)
|
||||||
add_subdirectory (common)
|
add_subdirectory (common)
|
||||||
add_subdirectory (libgnucash)
|
add_subdirectory (libgnucash)
|
||||||
@ -806,7 +808,7 @@ add_subdirectory(cmake)
|
|||||||
|
|
||||||
if (BUILDING_FROM_VCS)
|
if (BUILDING_FROM_VCS)
|
||||||
add_custom_target(ChangeLog ALL
|
add_custom_target(ChangeLog ALL
|
||||||
COMMAND ${GIT_EXECUTABLE} log --format=\"%ad %aN %n%n%x09* %s%d%n\" --date=short --since=2020-01-01 > ${CMAKE_BINARY_DIR}/ChangeLog
|
COMMAND ${GIT_EXECUTABLE} log --format=\"%ad %aN %n%n%x09* %s%d%n\" --date=short --since=2021-01-01 > ${CMAKE_BINARY_DIR}/ChangeLog
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/ChangeLog DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
install(FILES ${CMAKE_BINARY_DIR}/ChangeLog DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||||
|
6464
ChangeLog.2020
Normal file
6464
ChangeLog.2020
Normal file
File diff suppressed because it is too large
Load Diff
197
NEWS
197
NEWS
@ -1,5 +1,200 @@
|
|||||||
Version history:
|
Version history:
|
||||||
------- -------
|
------- -------
|
||||||
|
4.5 - 28 March 2021
|
||||||
|
The sixth release of the 4.x stable series.
|
||||||
|
|
||||||
|
Between 4.4 and 4.5, the following bugfixes were accomplished:
|
||||||
|
Bug 783283 - Multi-Currency payments use wrong date
|
||||||
|
Also properly handles the user clicking the cancel button on the
|
||||||
|
transfer dialog. It will now just return to the payment window,
|
||||||
|
waiting for further user input.
|
||||||
|
Bug 797621 - GnuCash freezes temporarily and sometimes crashes when
|
||||||
|
selecting Sales Tax Table in Invoices
|
||||||
|
Bug 797630 - Check for missing dependencies of 'Get Quotes' to avoid
|
||||||
|
Gnucash crash.
|
||||||
|
Bug 797906 - GnuCash data file is locked after a "save-as" to mysql
|
||||||
|
database.
|
||||||
|
It's more general, any save-as to a different backend type, i.e.
|
||||||
|
xml->sql or sql->xml, left the previous book locked.
|
||||||
|
Bug 797924 - Crash when searching for customer to process payment.
|
||||||
|
Bug 797997 - File gnucash could note be found
|
||||||
|
On Microsoft Windows when run from a CMD shell and passing a path
|
||||||
|
that contains non-ASCII characters.
|
||||||
|
Bug 798019 - Currency rates in OFX file are ignored
|
||||||
|
Use currency_rate information from OFX file if available. Requires
|
||||||
|
LibOFX v 0.10.0 or later.
|
||||||
|
Bug 798044 - Adding splits to a lot is extremely slow
|
||||||
|
Bug 798060 - Invoices are missing on Customer report after upgrade
|
||||||
|
Bug 798070 - Opening balance does not update when creating account from
|
||||||
|
Account Hierarchy
|
||||||
|
Bug 798078 - Report 'Income Chart' prints stacktrace when end date before
|
||||||
|
start date
|
||||||
|
Bug 798085 - Incorrect transactions import of entires with large number
|
||||||
|
amount
|
||||||
|
Quicken 2005 introduces U amount which sometimes differs from T amount.
|
||||||
|
U amount has larger range, and must override T amount whenever they're
|
||||||
|
not equal.
|
||||||
|
Bug 798093 - Changing the symbol/abbreviation of a security after the
|
||||||
|
trading account was created breaks GnuCash.
|
||||||
|
Makes it possible for the user to rename trading accounts or securities
|
||||||
|
independent of each other.
|
||||||
|
Bug 798096 - can't duplicate TX previous to red line threshold
|
||||||
|
Bug 798098 - Crash popup show when have 3 Windows in OSX
|
||||||
|
Bug 798100 - Equity totals calculating incorrectly
|
||||||
|
Prevents creation of non-currency opening balance accounts.
|
||||||
|
Bug 798101 - Do not #undef __STRICT_ANSI__
|
||||||
|
Remove defines and undefines for Windows, they were needed with
|
||||||
|
MinGW classic but are not with MinGW-w64.
|
||||||
|
Bug 798104 - Menu item for "Import Account" is wrong in danish
|
||||||
|
Bug 798112 - An error occurred while processing mysql ...
|
||||||
|
A "Feature" of MYSQL is that it allows C-style backslash escapes in
|
||||||
|
string constants and replaces them with the actual character (e.g. \n
|
||||||
|
is converted to 0x0a). This causes round trip problems if the escape
|
||||||
|
is one of the allowed ones and a MYSQL error if it isn't. Disable the
|
||||||
|
feature so that MYSQL follows the SQL standard.
|
||||||
|
Bug 798132 - Invoice Importing crashes when importing low quantity values.
|
||||||
|
Bug 798135 - GtkEntry text with search list: shows selected entry again
|
||||||
|
for no reason
|
||||||
|
Bug 798147 - Notes entry crashes program
|
||||||
|
Bug 798149 - CSV transaction Import setting loses account name if it is
|
||||||
|
changed after setting is memorized
|
||||||
|
Account guid is saved as well as the full account name and when
|
||||||
|
recalled the account is looked up first by guid, if this fails the
|
||||||
|
full account name is checked which if successful immediately updates
|
||||||
|
the saved base account setting with the account guid for future use.
|
||||||
|
If unsuccessful the account combo is blank with a error message as
|
||||||
|
before. When save CSV settings button is used, both the Guid and full
|
||||||
|
paths are saved so previous versions can still use the full path as
|
||||||
|
before.
|
||||||
|
Bug 798150 - Error on report over time
|
||||||
|
Caused by incorrect handling of Daylight Savings beginning at midnight.
|
||||||
|
Bug 798154 - Tooltips wrong when multiple charts in one report
|
||||||
|
|
||||||
|
The following fixes and improvements were not associated with bug reports:
|
||||||
|
Fix building based on unix makefiles
|
||||||
|
Make the chart on the report page icon larger to align better with the
|
||||||
|
account page icon.
|
||||||
|
Allow the context menu when GncCellRendererTextView is in edit mode.
|
||||||
|
Restructure early locale initialization
|
||||||
|
* Move macOS specific bits to its own source file. As this is
|
||||||
|
objective-c use .mm extension
|
||||||
|
* Use common function signature for macOS and Windows init function
|
||||||
|
and include via common header file
|
||||||
|
Fix GncDateTime::format_zulu to emit the UTC timezone instead of the
|
||||||
|
GncDateTime's timezone with the UTC timestamp.
|
||||||
|
Fix the implementations of gnc_foo_get_day_neutral. As implemented these
|
||||||
|
returned 10:59 AM local on the day but neutral time is 10:59 UTC.
|
||||||
|
gnc_invoice_window_print_invoice return NULL if invoice is NULL.
|
||||||
|
[dialog-invoice] invoice editor reuses invoice report tab.
|
||||||
|
Allow for Header Bar use in CSV transaction Assistant
|
||||||
|
There are a couple of action buttons that are added to the CSV
|
||||||
|
transaction assistant with added alignment based on the action area
|
||||||
|
being a GtkBox which causes errors if the header bar is used so test
|
||||||
|
for the action area type and use appropriate specific functions.
|
||||||
|
Drop default locale currency special case for euro
|
||||||
|
The condition mentioned in the comment no longer applies. All European
|
||||||
|
locales on Windows (MingW64) properly present EUR as currency these
|
||||||
|
days.
|
||||||
|
Fix fencepost error in calculating the week_num for POSIX timezone rules.
|
||||||
|
Include the contents of PROJECT_DESCRIPTION in the PACKAGE_PREFIX.
|
||||||
|
If it's defined. PACKAGE_PREFIX is used to name tarballs and set their
|
||||||
|
base directory. The translation project has requested that we name
|
||||||
|
freeze-string tarballs with a pre1 suffix; this makes that possible.
|
||||||
|
Update python/gnucash_business.py to reflect rename of gncOwnerApplyPayment.
|
||||||
|
I18N: don't mark "<<", ">>" translatable
|
||||||
|
They get properly reversed for RTL writing
|
||||||
|
From Budget editor, add toolbar and Edit menu to run budget report
|
||||||
|
This parallels the invoice editor "Print Invoice" functionality.
|
||||||
|
Runs the budget report using current budget.
|
||||||
|
[gnc-plugin-page-budget] change note icon to a note page
|
||||||
|
Allow the find account dialog position to be saved when using 'X'
|
||||||
|
Update price database for imported transactions.
|
||||||
|
Replace g_memdup by memcpy
|
||||||
|
GLib is deprecating g_memdup and will immediately remove it in the
|
||||||
|
next micro-release because of a CVE.
|
||||||
|
[html-fonts] Prevent sup/sub from affecting baseline
|
||||||
|
Source: https://css-tricks.com/snippets/css/prevent-superscripts-and-subscripts-from-affecting-line-height/
|
||||||
|
Previously <sup> and <sub> would cause the baseline to move vertically.
|
||||||
|
Replace stat calls with GFile to retrieve last modified info
|
||||||
|
Avoids code-page problems with non-ASCII characters on Microsoft
|
||||||
|
Windows.
|
||||||
|
[gnc-tree-model-split-reg.c] use xaccSplitListGetUniqueTransactionsReversed
|
||||||
|
which is then reversed if required. this removes the need for double
|
||||||
|
reversal.
|
||||||
|
[Split.c]New function xaccSplitListGetUniqueTransactionsReversed
|
||||||
|
Same as xaccSplitListGetUniqueTransactions but doesn't reverse the
|
||||||
|
list prior to returning. To be used by gnc-tree-model-split-reg.c
|
||||||
|
Several optimizations
|
||||||
|
* doesn't call g_list_find and g_list_append for every iteration
|
||||||
|
* uses g_hash_table to cache list of txns already added instead of
|
||||||
|
g_list_find
|
||||||
|
* does not reverse the result, thereby returning a reversed list.
|
||||||
|
[gnc-recurrence.c] avoid O(N^2) children traversal
|
||||||
|
Ensure that any GncMainWindows containing no tabs are destroyed at shutdown.
|
||||||
|
I18N: drop translatable flag from "xxx" dummies and remove trailing spaces
|
||||||
|
from translatable strings
|
||||||
|
Update Form/Schedule line references for 2020 for the US Income Tax Report.
|
||||||
|
Fix build with glib2 2.67.x.
|
||||||
|
glib headers should not be included with 'extern "C"'.
|
||||||
|
[balsheet-pnl] Use last day of the month prices instead of first day of
|
||||||
|
next month.
|
||||||
|
[options.scm API] Remove canonically-tabbed parent-subtotal-mode
|
||||||
|
This mode had been marked experimental for 17 years and was never
|
||||||
|
improved. Any saved reports with this option will be switched to
|
||||||
|
parent-subtotal-mode enabled.
|
||||||
|
Accommodate Gwenhywfar 5.5.0 signature change for some GUI callbacks.
|
||||||
|
This is a breaking change that matters only in Win32. No ifdeffing
|
||||||
|
because Win32 builds and dependencies are well synchronized.
|
||||||
|
L10N: Move translation authority for Turkish from the GNU Translation
|
||||||
|
Project to Weblate.
|
||||||
|
Make prototypes static for autoclear unit test, fixes build on Debian
|
||||||
|
Buster.
|
||||||
|
[income-gst-statement] trep-engine currency section moved
|
||||||
|
From "General" to "Currency". Missed out in 854c11782 commit
|
||||||
|
[test-scm-utilities] test-end properly so that test failures set the exit
|
||||||
|
code correctly
|
||||||
|
Create opening balance accounts only when there are opening balances.
|
||||||
|
[qif-file.scm] Don't use match as an identifier
|
||||||
|
It is a (ice-9 match) keyword.
|
||||||
|
Change the CSV export account tree header line
|
||||||
|
Change the headings of the CSV account export header line to be more
|
||||||
|
friendly which uses existing translations.
|
||||||
|
[new-owner-report] Don't create empty rows on report when splits have no
|
||||||
|
entry in the memo field.
|
||||||
|
[gnc-report] dump backtrace to console when report crashes
|
||||||
|
Because gnc:backtrace-if-exception, not used anymore, would dump
|
||||||
|
guile backtrace to console. restore this behaviour.
|
||||||
|
[report-core] remove 2.6/2.4 compatibility code
|
||||||
|
[gnucash-commands.cpp] display report errors to stderr
|
||||||
|
|
||||||
|
New API:
|
||||||
|
[report-core.scm] create and expose gnc:render-report
|
||||||
|
similar to gnc:report-run but *always* returns a 2-element list
|
||||||
|
containing data OR captured_error
|
||||||
|
[report-core.scm] create and expose gnc:render-report
|
||||||
|
similar to gnc:report-run but *always* returns a 2-element list
|
||||||
|
containing data OR captured_error
|
||||||
|
[gnc-plugin-page-report] add gnc_plugin_page_report_reload
|
||||||
|
refreshes the report
|
||||||
|
|
||||||
|
Deprecations:
|
||||||
|
[c-interface.scm] deprecate gnc:last-captured-error
|
||||||
|
[report-core] deprecate gnc:restore-report-by-guid
|
||||||
|
gnc:get-three-months-ago
|
||||||
|
gnc:get-six-months-ago
|
||||||
|
gnc:get-one-year-ago
|
||||||
|
gnc:get-three-months-ahead
|
||||||
|
gnc:get-six-months-ahead
|
||||||
|
gnc:get-one-year-ahead
|
||||||
|
traverse-list->vec
|
||||||
|
traverse-vec->list
|
||||||
|
|
||||||
|
New and Updated Translations: Bodo, Croatian, Danish, Dutch,
|
||||||
|
English (United Kingdom), Finnish, French, German, Greek, Hebrew, Hindi,
|
||||||
|
Indonesian, Italian, Japanese, Lithuanian, Norwegian Bokmål, Polish,
|
||||||
|
Portuguese, Portuguese (Brazil), Russian, Spanish, Turkish, Ukrainian,
|
||||||
|
Urdu, Vietnamese
|
||||||
|
|
||||||
4.4 - 28 December 2020
|
4.4 - 28 December 2020
|
||||||
The fifth release of the 4.x stable series, a snap release to fix bug 798063.
|
The fifth release of the 4.x stable series, a snap release to fix bug 798063.
|
||||||
|
|
||||||
@ -5150,7 +5345,7 @@ Concurrent with the release of Gnucash 2.6.4 we're pleased to also release a new
|
|||||||
source repository and put it into the downloads directory of
|
source repository and put it into the downloads directory of
|
||||||
your gnucash build area.
|
your gnucash build area.
|
||||||
|
|
||||||
* Updated AqBanking on Win32.</li>
|
* Updated AqBanking on Win32.
|
||||||
|
|
||||||
2.3.0 - 14 May 2009
|
2.3.0 - 14 May 2009
|
||||||
o Welcome to GnuCash 2.3.0 the first of several unstable releases of
|
o Welcome to GnuCash 2.3.0 the first of several unstable releases of
|
||||||
|
@ -18,12 +18,12 @@
|
|||||||
* *
|
* *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
#include <libguile.h>
|
#include <libguile.h>
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include <config.h>
|
|
||||||
#include <glib.h>
|
|
||||||
|
|
||||||
#include "gnc-engine-guile.h"
|
#include "gnc-engine-guile.h"
|
||||||
#include "test-engine-stuff.h"
|
#include "test-engine-stuff.h"
|
||||||
|
@ -109,8 +109,6 @@
|
|||||||
PyDateTime_IMPORT;
|
PyDateTime_IMPORT;
|
||||||
struct tm t;
|
struct tm t;
|
||||||
gnc_localtime_r(&$1, &t);
|
gnc_localtime_r(&$1, &t);
|
||||||
printf("\nConverting %d hours and %d minutes in zone %ld %s to python local time\n",
|
|
||||||
t.tm_hour, t.tm_min, t.tm_gmtoff/3600, t.tm_isdst ? "DST" : "STD");
|
|
||||||
$result = PyDateTime_FromDateAndTime(t.tm_year + 1900, t.tm_mon + 1,
|
$result = PyDateTime_FromDateAndTime(t.tm_year + 1900, t.tm_mon + 1,
|
||||||
t.tm_mday, t.tm_hour, t.tm_min,
|
t.tm_mday, t.tm_hour, t.tm_min,
|
||||||
t.tm_sec, 0);
|
t.tm_sec, 0);
|
||||||
|
@ -203,6 +203,9 @@ function(gnc_add_scheme_targets _TARGET)
|
|||||||
set(_GUILE_LOAD_COMPILED_PATH "${current_bindir}")
|
set(_GUILE_LOAD_COMPILED_PATH "${current_bindir}")
|
||||||
# VERSION_GREATER_EQUAL introduced in CMake 3.7.
|
# VERSION_GREATER_EQUAL introduced in CMake 3.7.
|
||||||
if(MINGW64 AND (${GUILE_EFFECTIVE_VERSION} VERSION_GREATER_EQUAL 2.2))
|
if(MINGW64 AND (${GUILE_EFFECTIVE_VERSION} VERSION_GREATER_EQUAL 2.2))
|
||||||
|
if (NOT (DEFINED ENV{GUILE_LOAD_PATH} AND DEFINED ENV{GUILE_LOAD_COMPILED_PATH}))
|
||||||
|
message(FATAL_ERROR "$GUILE_LOAD_PATH and $GUILE_LOAD_COMPILED_PATH must be defined in the environment to configure GnuCash on Microsoft Windows.")
|
||||||
|
endif()
|
||||||
file(TO_CMAKE_PATH $ENV{GUILE_LOAD_PATH} guile_load_path)
|
file(TO_CMAKE_PATH $ENV{GUILE_LOAD_PATH} guile_load_path)
|
||||||
file(TO_CMAKE_PATH $ENV{GUILE_LOAD_COMPILED_PATH} guile_load_compiled_path)
|
file(TO_CMAKE_PATH $ENV{GUILE_LOAD_COMPILED_PATH} guile_load_compiled_path)
|
||||||
list(APPEND _GUILE_LOAD_PATH ${guile_load_path})
|
list(APPEND _GUILE_LOAD_PATH ${guile_load_path})
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 333 B |
@ -38,7 +38,7 @@ install(FILES ${DATADIR_BUILD}/gnucash/tip_of_the_day.list DESTINATION ${CMAKE_I
|
|||||||
|
|
||||||
foreach (manpage gnucash gnucash-cli)
|
foreach (manpage gnucash gnucash-cli)
|
||||||
add_custom_command(OUTPUT ${DATADIR_BUILD}/gnucash/${manpage}.1
|
add_custom_command(OUTPUT ${DATADIR_BUILD}/gnucash/${manpage}.1
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${manpage}.1.in ${VCS_INFO_FILE}
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${manpage}.1.in gnc-vcs-info
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
-D SRC=${CMAKE_CURRENT_SOURCE_DIR}/${manpage}.1.in
|
-D SRC=${CMAKE_CURRENT_SOURCE_DIR}/${manpage}.1.in
|
||||||
-D DST=${manpage}.1
|
-D DST=${manpage}.1
|
||||||
|
@ -60,7 +60,7 @@ the remainder of the transaction as it was last entered.")
|
|||||||
Transfer register column, and GnuCash will complete the name from \
|
Transfer register column, and GnuCash will complete the name from \
|
||||||
your list of accounts. For subaccounts, type the first letter(s) \
|
your list of accounts. For subaccounts, type the first letter(s) \
|
||||||
of the parent account, followed by ':' and the first letter(s) of \
|
of the parent account, followed by ':' and the first letter(s) of \
|
||||||
the subaccount (e.g. A:C for Assets:Cash.)")
|
the subaccount (e.g. A:C for Assets:Cash).")
|
||||||
|
|
||||||
N_( "Want to see all your subaccount transactions in one register? \
|
N_( "Want to see all your subaccount transactions in one register? \
|
||||||
From the Accounts tab in the main window, highlight the parent account \
|
From the Accounts tab in the main window, highlight the parent account \
|
||||||
|
@ -34,6 +34,7 @@ endif()
|
|||||||
set(gnucash_noinst_HEADERS
|
set(gnucash_noinst_HEADERS
|
||||||
gnucash-commands.hpp
|
gnucash-commands.hpp
|
||||||
gnucash-core-app.hpp
|
gnucash-core-app.hpp
|
||||||
|
gnucash-locale-platform.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set (gnucash_SOURCES
|
set (gnucash_SOURCES
|
||||||
@ -45,7 +46,9 @@ set (gnucash_SOURCES
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (MINGW)
|
if (MINGW)
|
||||||
list(APPEND gnucash_SOURCES "gnucash-windows-locale.c")
|
list(APPEND gnucash_SOURCES "gnucash-locale-windows.c")
|
||||||
|
elseif (MAC_INTEGRATION)
|
||||||
|
list(APPEND gnucash_SOURCES "gnucash-locale-macos.mm")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable (gnucash
|
add_executable (gnucash
|
||||||
@ -71,7 +74,9 @@ set(gnucash_cli_SOURCES
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (MINGW)
|
if (MINGW)
|
||||||
list(APPEND gnucash_cli_SOURCES "gnucash-windows-locale.c")
|
list(APPEND gnucash_cli_SOURCES "gnucash-locale-windows.c")
|
||||||
|
elseif (MAC_INTEGRATION)
|
||||||
|
list(APPEND gnucash_cli_SOURCES "gnucash-locale-macos.mm")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable (gnucash-cli
|
add_executable (gnucash-cli
|
||||||
@ -266,7 +271,7 @@ gnc_add_scheme_targets(price-quotes
|
|||||||
|
|
||||||
set_local_dist(gnucash_DIST_local CMakeLists.txt environment.in generate-gnc-script
|
set_local_dist(gnucash_DIST_local CMakeLists.txt environment.in generate-gnc-script
|
||||||
gnucash.cpp gnucash-commands.cpp gnucash-cli.cpp gnucash-core-app.cpp
|
gnucash.cpp gnucash-commands.cpp gnucash-cli.cpp gnucash-core-app.cpp
|
||||||
gnucash-windows-locale.c gnucash.rc.in gnucash-valgrind.in
|
gnucash-locale-macos.mm gnucash-locale-windows.c gnucash.rc.in gnucash-valgrind.in
|
||||||
gnucash-gresources.xml ${gresource_files} price-quotes.scm
|
gnucash-gresources.xml ${gresource_files} price-quotes.scm
|
||||||
${gnucash_noinst_HEADERS} ${gnucash_EXTRA_DIST})
|
${gnucash_noinst_HEADERS} ${gnucash_EXTRA_DIST})
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ gnc_dup_trans_dialog_create (GtkWidget * parent, DupTransDialog *dt_dialog,
|
|||||||
{
|
{
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
GtkBuilder *builder;
|
GtkBuilder *builder;
|
||||||
const gchar *tt = _("Use +- keys to increment/decrement number");
|
const gchar *tt = _("Use +- keys to increment/decrement number.");
|
||||||
|
|
||||||
builder = gtk_builder_new ();
|
builder = gtk_builder_new ();
|
||||||
gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "num_adjustment");
|
gnc_builder_add_from_file (builder, "gnc-plugin-page-register.glade", "num_adjustment");
|
||||||
|
@ -71,13 +71,20 @@ gcrtv_editing_done (GtkCellEditable *editable,
|
|||||||
gchar *path;
|
gchar *path;
|
||||||
const gchar *new_text;
|
const gchar *new_text;
|
||||||
|
|
||||||
if (GNC_CELL_VIEW (editable)->focus_out_id > 0)
|
if (GNC_CELL_VIEW(editable)->focus_out_id > 0)
|
||||||
{
|
{
|
||||||
g_signal_handler_disconnect (GNC_CELL_VIEW(editable)->text_view,
|
g_signal_handler_disconnect (GNC_CELL_VIEW(editable)->text_view,
|
||||||
GNC_CELL_VIEW(editable)->focus_out_id);
|
GNC_CELL_VIEW(editable)->focus_out_id);
|
||||||
GNC_CELL_VIEW(editable)->focus_out_id = 0;
|
GNC_CELL_VIEW(editable)->focus_out_id = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GNC_CELL_VIEW(editable)->populate_popup_id > 0)
|
||||||
|
{
|
||||||
|
g_signal_handler_disconnect (GNC_CELL_VIEW(editable)->text_view,
|
||||||
|
GNC_CELL_VIEW(editable)->populate_popup_id);
|
||||||
|
GNC_CELL_VIEW(editable)->populate_popup_id = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (GNC_CELL_VIEW(editable)->editing_canceled)
|
if (GNC_CELL_VIEW(editable)->editing_canceled)
|
||||||
{
|
{
|
||||||
gtk_cell_renderer_stop_editing (GTK_CELL_RENDERER(cell_tv), TRUE);
|
gtk_cell_renderer_stop_editing (GTK_CELL_RENDERER(cell_tv), TRUE);
|
||||||
@ -89,6 +96,8 @@ gcrtv_editing_done (GtkCellEditable *editable,
|
|||||||
|
|
||||||
new_text = gnc_cell_view_get_text (GNC_CELL_VIEW(editable));
|
new_text = gnc_cell_view_get_text (GNC_CELL_VIEW(editable));
|
||||||
|
|
||||||
|
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE(editable));
|
||||||
|
|
||||||
g_signal_emit_by_name (cell_tv, "edited", path, new_text);
|
g_signal_emit_by_name (cell_tv, "edited", path, new_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,9 +127,8 @@ gcrtv_start_editing (GtkCellRenderer *cell,
|
|||||||
g_object_get (G_OBJECT(cell_tv), "editable", &iseditable, NULL);
|
g_object_get (G_OBJECT(cell_tv), "editable", &iseditable, NULL);
|
||||||
|
|
||||||
/* If the cell isn't editable we return NULL. */
|
/* If the cell isn't editable we return NULL. */
|
||||||
if (iseditable == FALSE) {
|
if (iseditable == FALSE)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
editable = g_object_new (GNC_TYPE_CELL_VIEW, NULL);
|
editable = g_object_new (GNC_TYPE_CELL_VIEW, NULL);
|
||||||
|
|
||||||
|
@ -53,9 +53,14 @@ G_DEFINE_TYPE_WITH_CODE (GncCellView, gnc_cell_view, GTK_TYPE_EVENT_BOX,
|
|||||||
gnc_cell_view_editable_init))
|
gnc_cell_view_editable_init))
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gnc_cell_view_finalize (GObject *gobject)
|
gnc_cell_view_dispose (GObject *gobject)
|
||||||
{
|
{
|
||||||
G_OBJECT_CLASS (gnc_cell_view_parent_class)->finalize (gobject);
|
if (GNC_CELL_VIEW(gobject)->tooltip_id > 0)
|
||||||
|
{
|
||||||
|
g_source_remove (GNC_CELL_VIEW(gobject)->tooltip_id);
|
||||||
|
GNC_CELL_VIEW(gobject)->tooltip_id = 0;
|
||||||
|
}
|
||||||
|
G_OBJECT_CLASS (gnc_cell_view_parent_class)->dispose (gobject);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -75,6 +80,10 @@ gnc_cell_view_init (GncCellView *cv)
|
|||||||
gtk_container_add (GTK_CONTAINER(cv), GTK_WIDGET(cv->text_view));
|
gtk_container_add (GTK_CONTAINER(cv), GTK_WIDGET(cv->text_view));
|
||||||
gtk_widget_show (cv->text_view);
|
gtk_widget_show (cv->text_view);
|
||||||
|
|
||||||
|
cv->focus_out_id = 0;
|
||||||
|
cv->populate_popup_id = 0;
|
||||||
|
cv->tooltip_id = 0;
|
||||||
|
|
||||||
gtk_widget_set_can_focus (GTK_WIDGET(cv->text_view), TRUE);
|
gtk_widget_set_can_focus (GTK_WIDGET(cv->text_view), TRUE);
|
||||||
gtk_widget_add_events (GTK_WIDGET(cv), GDK_KEY_PRESS_MASK);
|
gtk_widget_add_events (GTK_WIDGET(cv), GDK_KEY_PRESS_MASK);
|
||||||
gtk_widget_add_events (GTK_WIDGET(cv), GDK_KEY_RELEASE_MASK);
|
gtk_widget_add_events (GTK_WIDGET(cv), GDK_KEY_RELEASE_MASK);
|
||||||
@ -86,7 +95,7 @@ gnc_cell_view_class_init (GncCellViewClass *klass)
|
|||||||
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
|
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
|
||||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
|
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
|
||||||
|
|
||||||
gobject_class->finalize = gnc_cell_view_finalize;
|
gobject_class->dispose = gnc_cell_view_dispose;
|
||||||
|
|
||||||
gobject_class->set_property = gnc_cell_view_set_property;
|
gobject_class->set_property = gnc_cell_view_set_property;
|
||||||
gobject_class->get_property = gnc_cell_view_get_property;
|
gobject_class->get_property = gnc_cell_view_get_property;
|
||||||
@ -144,11 +153,9 @@ gtk_cell_editable_key_press_event (GtkTextView *text_view,
|
|||||||
if (key_event->keyval == GDK_KEY_Escape)
|
if (key_event->keyval == GDK_KEY_Escape)
|
||||||
{
|
{
|
||||||
cv->editing_canceled = TRUE;
|
cv->editing_canceled = TRUE;
|
||||||
|
|
||||||
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE(cv));
|
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE(cv));
|
||||||
|
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE(cv));
|
||||||
if (GTK_IS_CELL_EDITABLE(cv))
|
|
||||||
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE(cv));
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,18 +163,33 @@ gtk_cell_editable_key_press_event (GtkTextView *text_view,
|
|||||||
&& (key_event->state & GDK_SHIFT_MASK))
|
&& (key_event->state & GDK_SHIFT_MASK))
|
||||||
{
|
{
|
||||||
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE(cv));
|
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE(cv));
|
||||||
|
|
||||||
if (GTK_IS_CELL_EDITABLE(cv))
|
|
||||||
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE(cv));
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcv_popup_unmap (GtkMenu *menu, GncCellView *cv)
|
||||||
|
{
|
||||||
|
cv->in_popup_menu = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcv_populate_popup (GtkTextView *text_view,
|
||||||
|
GtkWidget *popup,
|
||||||
|
GncCellView *cv)
|
||||||
|
{
|
||||||
|
cv->in_popup_menu = TRUE;
|
||||||
|
g_signal_connect (popup, "unmap",
|
||||||
|
G_CALLBACK (gcv_popup_unmap), cv);
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gcv_focus_out_event (GtkWidget *widget, GdkEvent *event, GncCellView *cv)
|
gcv_focus_out_event (GtkWidget *widget, GdkEvent *event, GncCellView *cv)
|
||||||
{
|
{
|
||||||
|
if (cv->in_popup_menu)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
cv->editing_canceled = TRUE;
|
cv->editing_canceled = TRUE;
|
||||||
|
|
||||||
if (cv->focus_out_id > 0)
|
if (cv->focus_out_id > 0)
|
||||||
@ -175,6 +197,11 @@ gcv_focus_out_event (GtkWidget *widget, GdkEvent *event, GncCellView *cv)
|
|||||||
g_signal_handler_disconnect (cv->text_view, cv->focus_out_id);
|
g_signal_handler_disconnect (cv->text_view, cv->focus_out_id);
|
||||||
cv->focus_out_id = 0;
|
cv->focus_out_id = 0;
|
||||||
}
|
}
|
||||||
|
if (cv->populate_popup_id > 0)
|
||||||
|
{
|
||||||
|
g_signal_handler_disconnect (cv->text_view, cv->populate_popup_id);
|
||||||
|
cv->populate_popup_id = 0;
|
||||||
|
}
|
||||||
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE(cv));
|
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE(cv));
|
||||||
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE(cv));
|
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE(cv));
|
||||||
|
|
||||||
@ -184,8 +211,11 @@ gcv_focus_out_event (GtkWidget *widget, GdkEvent *event, GncCellView *cv)
|
|||||||
static gboolean
|
static gboolean
|
||||||
gcv_remove_tooltip (GncCellView *cv)
|
gcv_remove_tooltip (GncCellView *cv)
|
||||||
{
|
{
|
||||||
if (GTK_IS_WIDGET(cv->text_view))
|
if (cv->tooltip_id > 0)
|
||||||
|
{
|
||||||
gtk_widget_set_tooltip_text (GTK_WIDGET(cv->text_view), NULL);
|
gtk_widget_set_tooltip_text (GTK_WIDGET(cv->text_view), NULL);
|
||||||
|
cv->tooltip_id = 0;
|
||||||
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,8 +226,8 @@ gcv_start_editing (GtkCellEditable *cell_editable,
|
|||||||
GncCellView *cv = GNC_CELL_VIEW(cell_editable);
|
GncCellView *cv = GNC_CELL_VIEW(cell_editable);
|
||||||
GtkTextIter siter, eiter;
|
GtkTextIter siter, eiter;
|
||||||
|
|
||||||
// Remove the text_view tooltip after 5secs
|
// Remove the text_view tooltip after 5secs to stop it recuring
|
||||||
g_timeout_add (5000, (GSourceFunc) gcv_remove_tooltip, cv);
|
cv->tooltip_id = g_timeout_add (5000, (GSourceFunc) gcv_remove_tooltip, cv);
|
||||||
|
|
||||||
gtk_text_buffer_get_bounds (cv->buffer, &siter, &eiter);
|
gtk_text_buffer_get_bounds (cv->buffer, &siter, &eiter);
|
||||||
gtk_text_buffer_select_range (cv->buffer, &eiter, &siter);
|
gtk_text_buffer_select_range (cv->buffer, &eiter, &siter);
|
||||||
@ -212,6 +242,11 @@ gcv_start_editing (GtkCellEditable *cell_editable,
|
|||||||
cv->focus_out_id = g_signal_connect (G_OBJECT(cv->text_view),
|
cv->focus_out_id = g_signal_connect (G_OBJECT(cv->text_view),
|
||||||
"focus-out-event",
|
"focus-out-event",
|
||||||
G_CALLBACK(gcv_focus_out_event), cv);
|
G_CALLBACK(gcv_focus_out_event), cv);
|
||||||
|
|
||||||
|
cv->populate_popup_id = g_signal_connect (G_OBJECT(cv->text_view),
|
||||||
|
"populate-popup",
|
||||||
|
G_CALLBACK(gcv_populate_popup),
|
||||||
|
cv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -43,6 +43,9 @@ struct _GncCellView
|
|||||||
GtkTextBuffer *buffer;
|
GtkTextBuffer *buffer;
|
||||||
|
|
||||||
gulong focus_out_id;
|
gulong focus_out_id;
|
||||||
|
gulong populate_popup_id;
|
||||||
|
guint tooltip_id;
|
||||||
|
gboolean in_popup_menu;
|
||||||
gboolean editing_canceled;
|
gboolean editing_canceled;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4363,62 +4363,61 @@ gnc_main_window_cmd_file_quit (GtkAction *action, GncMainWindow *window)
|
|||||||
static void
|
static void
|
||||||
gnc_main_window_cmd_edit_cut (GtkAction *action, GncMainWindow *window)
|
gnc_main_window_cmd_edit_cut (GtkAction *action, GncMainWindow *window)
|
||||||
{
|
{
|
||||||
GtkWidget *widget = gtk_window_get_focus (GTK_WINDOW (window));
|
GtkWidget *widget = gtk_window_get_focus (GTK_WINDOW(window));
|
||||||
GtkTextBuffer *text_buffer;
|
|
||||||
GtkClipboard *clipboard;
|
|
||||||
gboolean editable;
|
|
||||||
|
|
||||||
if (GTK_IS_EDITABLE (widget))
|
if (GTK_IS_EDITABLE(widget))
|
||||||
{
|
{
|
||||||
gtk_editable_cut_clipboard (GTK_EDITABLE (widget));
|
gtk_editable_cut_clipboard (GTK_EDITABLE(widget));
|
||||||
}
|
}
|
||||||
else if (GTK_IS_TEXT_VIEW (widget))
|
else if (GTK_IS_TEXT_VIEW(widget))
|
||||||
{
|
{
|
||||||
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(widget));
|
GtkTextBuffer *text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(widget));
|
||||||
clipboard = gtk_widget_get_clipboard (GTK_WIDGET(text_buffer),
|
GtkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET(widget),
|
||||||
GDK_SELECTION_CLIPBOARD);
|
GDK_SELECTION_CLIPBOARD);
|
||||||
editable = gtk_text_view_get_editable (GTK_TEXT_VIEW (widget));
|
gboolean editable = gtk_text_view_get_editable (GTK_TEXT_VIEW(widget));
|
||||||
gtk_text_buffer_cut_clipboard (text_buffer, clipboard, editable);
|
|
||||||
|
if (clipboard)
|
||||||
|
gtk_text_buffer_cut_clipboard (text_buffer, clipboard, editable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gnc_main_window_cmd_edit_copy (GtkAction *action, GncMainWindow *window)
|
gnc_main_window_cmd_edit_copy (GtkAction *action, GncMainWindow *window)
|
||||||
{
|
{
|
||||||
GtkWidget *widget = gtk_window_get_focus (GTK_WINDOW (window));
|
GtkWidget *widget = gtk_window_get_focus (GTK_WINDOW(window));
|
||||||
GtkTextBuffer *text_buffer;
|
|
||||||
GtkClipboard *clipboard;
|
|
||||||
|
|
||||||
if (GTK_IS_EDITABLE (widget))
|
if (GTK_IS_EDITABLE(widget))
|
||||||
{
|
{
|
||||||
gtk_editable_copy_clipboard (GTK_EDITABLE (widget));
|
gtk_editable_copy_clipboard (GTK_EDITABLE(widget));
|
||||||
}
|
}
|
||||||
else if (GTK_IS_TEXT_VIEW (widget))
|
else if (GTK_IS_TEXT_VIEW(widget))
|
||||||
{
|
{
|
||||||
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(widget));
|
GtkTextBuffer *text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(widget));
|
||||||
clipboard = gtk_widget_get_clipboard (GTK_WIDGET(text_buffer),
|
GtkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET(widget),
|
||||||
GDK_SELECTION_CLIPBOARD);
|
GDK_SELECTION_CLIPBOARD);
|
||||||
gtk_text_buffer_copy_clipboard (text_buffer, clipboard);
|
if (clipboard)
|
||||||
|
gtk_text_buffer_copy_clipboard (text_buffer, clipboard);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gnc_main_window_cmd_edit_paste (GtkAction *action, GncMainWindow *window)
|
gnc_main_window_cmd_edit_paste (GtkAction *action, GncMainWindow *window)
|
||||||
{
|
{
|
||||||
GtkWidget *widget = gtk_window_get_focus (GTK_WINDOW (window));
|
GtkWidget *widget = gtk_window_get_focus (GTK_WINDOW(window));
|
||||||
GtkTextBuffer *text_buffer;
|
|
||||||
GtkClipboard *clipboard;
|
|
||||||
|
|
||||||
if (GTK_IS_EDITABLE (widget))
|
if (GTK_IS_EDITABLE(widget))
|
||||||
{
|
{
|
||||||
gtk_editable_paste_clipboard (GTK_EDITABLE (widget));
|
gtk_editable_paste_clipboard (GTK_EDITABLE(widget));
|
||||||
}
|
}
|
||||||
else if (GTK_IS_TEXT_VIEW (widget))
|
else if (GTK_IS_TEXT_VIEW(widget))
|
||||||
{
|
{
|
||||||
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(widget));
|
GtkTextBuffer *text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(widget));
|
||||||
clipboard = gtk_widget_get_clipboard (GTK_WIDGET(text_buffer),
|
GtkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET(widget),
|
||||||
GDK_SELECTION_CLIPBOARD);
|
GDK_SELECTION_CLIPBOARD);
|
||||||
gtk_text_buffer_paste_clipboard (text_buffer, clipboard, NULL, FALSE);
|
gboolean editable = gtk_text_view_get_editable (GTK_TEXT_VIEW(widget));
|
||||||
|
|
||||||
|
if (clipboard)
|
||||||
|
gtk_text_buffer_paste_clipboard (text_buffer, clipboard, NULL, editable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,7 +196,7 @@ endif()
|
|||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml
|
||||||
DEPENDS ${GNC_APPDATA_IN} ${VCS_INFO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.releases.xml
|
DEPENDS ${GNC_APPDATA_IN} gnc-vcs-info ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.releases.xml
|
||||||
COMMAND ${CMAKE_COMMAND} -D SRC=${GNC_APPDATA_IN}
|
COMMAND ${CMAKE_COMMAND} -D SRC=${GNC_APPDATA_IN}
|
||||||
-D DST=${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml
|
-D DST=${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml
|
||||||
-D VCS_INFO_FILE=${VCS_INFO_FILE}
|
-D VCS_INFO_FILE=${VCS_INFO_FILE}
|
||||||
@ -223,7 +223,7 @@ add_custom_command (
|
|||||||
|
|
||||||
add_custom_command (
|
add_custom_command (
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop
|
||||||
DEPENDS ${GNC_DESKTOP_IN} ${VCS_INFO_FILE}
|
DEPENDS ${GNC_DESKTOP_IN} gnc-vcs-info
|
||||||
COMMAND ${CMAKE_COMMAND} -D SRC=${GNC_DESKTOP_IN}
|
COMMAND ${CMAKE_COMMAND} -D SRC=${GNC_DESKTOP_IN}
|
||||||
-D DST=${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop
|
-D DST=${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop
|
||||||
-D VCS_INFO_FILE=${VCS_INFO_FILE}
|
-D VCS_INFO_FILE=${VCS_INFO_FILE}
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
|
|
||||||
#include "gnc-plugin-business.h"
|
#include "gnc-plugin-business.h"
|
||||||
#include "gnc-plugin-page-invoice.h"
|
#include "gnc-plugin-page-invoice.h"
|
||||||
|
#include "gnc-plugin-page-report.h"
|
||||||
#include "gnc-main-window.h"
|
#include "gnc-main-window.h"
|
||||||
#include "gnc-state.h"
|
#include "gnc-state.h"
|
||||||
|
|
||||||
@ -211,6 +212,11 @@ struct _invoice_window
|
|||||||
GncOwner proj_cust;
|
GncOwner proj_cust;
|
||||||
GncOwner proj_job;
|
GncOwner proj_job;
|
||||||
|
|
||||||
|
/* the cached reportPage for this invoice. note this is not saved
|
||||||
|
into .gcm file therefore the invoice editor->report link is lost
|
||||||
|
upon restart. */
|
||||||
|
GncPluginPage *reportPage;
|
||||||
|
|
||||||
/* for Unposting */
|
/* for Unposting */
|
||||||
gboolean reset_tax_tables;
|
gboolean reset_tax_tables;
|
||||||
};
|
};
|
||||||
@ -781,20 +787,21 @@ gnc_invoice_window_blankCB (GtkWidget *widget, gpointer data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static GncPluginPage *
|
||||||
gnc_invoice_window_print_invoice(GtkWindow *parent, GncInvoice *invoice)
|
gnc_invoice_window_print_invoice(GtkWindow *parent, GncInvoice *invoice)
|
||||||
{
|
{
|
||||||
SCM func, arg, arg2;
|
SCM func, arg, arg2;
|
||||||
SCM args = SCM_EOL;
|
SCM args = SCM_EOL;
|
||||||
int report_id;
|
int report_id;
|
||||||
const char *reportname = gnc_plugin_business_get_invoice_printreport();
|
const char *reportname = gnc_plugin_business_get_invoice_printreport();
|
||||||
|
GncPluginPage *reportPage = NULL;
|
||||||
|
|
||||||
g_return_if_fail (invoice);
|
g_return_val_if_fail (invoice, NULL);
|
||||||
if (!reportname)
|
if (!reportname)
|
||||||
reportname = "5123a759ceb9483abf2182d01c140e8d"; // fallback if the option lookup failed
|
reportname = "5123a759ceb9483abf2182d01c140e8d"; // fallback if the option lookup failed
|
||||||
|
|
||||||
func = scm_c_eval_string ("gnc:invoice-report-create");
|
func = scm_c_eval_string ("gnc:invoice-report-create");
|
||||||
g_return_if_fail (scm_is_procedure (func));
|
g_return_val_if_fail (scm_is_procedure (func), NULL);
|
||||||
|
|
||||||
arg = SWIG_NewPointerObj(invoice, SWIG_TypeQuery("_p__gncInvoice"), 0);
|
arg = SWIG_NewPointerObj(invoice, SWIG_TypeQuery("_p__gncInvoice"), 0);
|
||||||
arg2 = scm_from_utf8_string(reportname);
|
arg2 = scm_from_utf8_string(reportname);
|
||||||
@ -803,18 +810,37 @@ gnc_invoice_window_print_invoice(GtkWindow *parent, GncInvoice *invoice)
|
|||||||
/* scm_gc_protect_object(func); */
|
/* scm_gc_protect_object(func); */
|
||||||
|
|
||||||
arg = scm_apply (func, args, SCM_EOL);
|
arg = scm_apply (func, args, SCM_EOL);
|
||||||
g_return_if_fail (scm_is_exact (arg));
|
g_return_val_if_fail (scm_is_exact (arg), NULL);
|
||||||
report_id = scm_to_int (arg);
|
report_id = scm_to_int (arg);
|
||||||
|
|
||||||
/* scm_gc_unprotect_object(func); */
|
/* scm_gc_unprotect_object(func); */
|
||||||
if (report_id >= 0)
|
if (report_id >= 0)
|
||||||
reportWindow (report_id, parent);
|
{
|
||||||
|
reportPage = gnc_plugin_page_report_new (report_id);
|
||||||
|
gnc_main_window_open_page (GNC_MAIN_WINDOW (parent), reportPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
return reportPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* From the invoice editor, open the invoice report. This will reuse the
|
||||||
|
invoice report if generated from the current invoice editor. Note the
|
||||||
|
link is lost when GnuCash is restarted. This link may be restored
|
||||||
|
by: scan the current session tabs, identify reports, checking
|
||||||
|
whereby report's report-type matches an invoice report, and the
|
||||||
|
report's invoice option value matches the current invoice. */
|
||||||
void
|
void
|
||||||
gnc_invoice_window_printCB (GtkWindow* parent, gpointer data)
|
gnc_invoice_window_printCB (GtkWindow* parent, gpointer data)
|
||||||
{
|
{
|
||||||
InvoiceWindow *iw = data;
|
InvoiceWindow *iw = data;
|
||||||
gnc_invoice_window_print_invoice (parent, iw_get_invoice (iw));
|
|
||||||
|
if (iw->reportPage && GNC_IS_PLUGIN_PAGE (iw->reportPage))
|
||||||
|
gnc_plugin_page_report_reload (GNC_PLUGIN_PAGE_REPORT (iw->reportPage));
|
||||||
|
else
|
||||||
|
iw->reportPage = gnc_invoice_window_print_invoice
|
||||||
|
(parent, iw_get_invoice (iw));
|
||||||
|
|
||||||
|
gnc_main_window_open_page (GNC_MAIN_WINDOW (iw->dialog), iw->reportPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -2895,6 +2921,7 @@ gnc_invoice_window_new_invoice (GtkWindow *parent, InvoiceDialogType dialog_type
|
|||||||
iw);
|
iw);
|
||||||
|
|
||||||
/* Setup initial values */
|
/* Setup initial values */
|
||||||
|
iw->reportPage = NULL;
|
||||||
iw->invoice_guid = *gncInvoiceGetGUID (invoice);
|
iw->invoice_guid = *gncInvoiceGetGUID (invoice);
|
||||||
iw->is_credit_note = gncInvoiceGetIsCreditNote (invoice);
|
iw->is_credit_note = gncInvoiceGetIsCreditNote (invoice);
|
||||||
|
|
||||||
|
@ -378,7 +378,7 @@ static action_toolbar_labels invoice_action_tooltips[] = {
|
|||||||
{"BusinessNewInvoiceAction", N_("Create a new invoice for the same owner as the current one")},
|
{"BusinessNewInvoiceAction", N_("Create a new invoice for the same owner as the current one")},
|
||||||
{"BlankEntryAction", N_("Move to the blank entry at the bottom of the invoice")},
|
{"BlankEntryAction", N_("Move to the blank entry at the bottom of the invoice")},
|
||||||
{"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this invoice") },
|
{"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this invoice") },
|
||||||
{"ReportsCompanyReportAction", N_("Open a company report window for the owner of this invoice") },
|
{"ReportsCompanyReportAction", N_("Open a customer report window for the owner of this invoice") },
|
||||||
{"BusinessLinkAction", N_("Manage Document Link")},
|
{"BusinessLinkAction", N_("Manage Document Link")},
|
||||||
{"BusinessLinkOpenAction", N_("Open Linked Document")},
|
{"BusinessLinkOpenAction", N_("Open Linked Document")},
|
||||||
{NULL, NULL},
|
{NULL, NULL},
|
||||||
@ -399,7 +399,7 @@ static action_toolbar_labels bill_action_tooltips[] = {
|
|||||||
{"BusinessNewInvoiceAction", N_("Create a new bill for the same owner as the current one")},
|
{"BusinessNewInvoiceAction", N_("Create a new bill for the same owner as the current one")},
|
||||||
{"BlankEntryAction", N_("Move to the blank entry at the bottom of the bill")},
|
{"BlankEntryAction", N_("Move to the blank entry at the bottom of the bill")},
|
||||||
{"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this bill") },
|
{"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this bill") },
|
||||||
{"ReportsCompanyReportAction", N_("Open a company report window for the owner of this bill") },
|
{"ReportsCompanyReportAction", N_("Open a vendor report window for the owner of this bill") },
|
||||||
{"BusinessLinkAction", N_("Manage Document Link")},
|
{"BusinessLinkAction", N_("Manage Document Link")},
|
||||||
{"BusinessLinkOpenAction", N_("Open Linked Document")},
|
{"BusinessLinkOpenAction", N_("Open Linked Document")},
|
||||||
{NULL, NULL},
|
{NULL, NULL},
|
||||||
@ -420,7 +420,7 @@ static action_toolbar_labels voucher_action_tooltips[] = {
|
|||||||
{"BusinessNewInvoiceAction", N_("Create a new voucher for the same owner as the current one")},
|
{"BusinessNewInvoiceAction", N_("Create a new voucher for the same owner as the current one")},
|
||||||
{"BlankEntryAction", N_("Move to the blank entry at the bottom of the voucher")},
|
{"BlankEntryAction", N_("Move to the blank entry at the bottom of the voucher")},
|
||||||
{"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this voucher") },
|
{"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this voucher") },
|
||||||
{"ReportsCompanyReportAction", N_("Open a company report window for the owner of this voucher") },
|
{"ReportsCompanyReportAction", N_("Open a employee report window for the owner of this voucher") },
|
||||||
{"BusinessLinkAction", N_("Manage Document Link")},
|
{"BusinessLinkAction", N_("Manage Document Link")},
|
||||||
{"BusinessLinkOpenAction", N_("Open Linked Document")},
|
{"BusinessLinkOpenAction", N_("Open Linked Document")},
|
||||||
{NULL, NULL},
|
{NULL, NULL},
|
||||||
|
@ -1194,10 +1194,10 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
|
|||||||
gchar *saved_reports_path = gnc_build_userdata_path (SAVED_REPORTS_FILE);
|
gchar *saved_reports_path = gnc_build_userdata_path (SAVED_REPORTS_FILE);
|
||||||
gchar *report_save_str = g_strdup_printf (
|
gchar *report_save_str = g_strdup_printf (
|
||||||
_("Update the current report's saved configuration. "
|
_("Update the current report's saved configuration. "
|
||||||
"The report configuration will be saved in the file %s. "), saved_reports_path);
|
"The report configuration will be saved in the file %s."), saved_reports_path);
|
||||||
gchar *report_saveas_str = g_strdup_printf (
|
gchar *report_saveas_str = g_strdup_printf (
|
||||||
_("Add the current report's configuration to the `Reports->Saved Report Configurations' menu. "
|
_("Add the current report's configuration to the 'Reports->Saved Report Configurations' menu. "
|
||||||
"The report configuration will be saved in the file %s. "), saved_reports_path);
|
"The report configuration will be saved in the file %s."), saved_reports_path);
|
||||||
|
|
||||||
GtkActionEntry report_actions[] =
|
GtkActionEntry report_actions[] =
|
||||||
{
|
{
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
#include <libguile.h>
|
#include <libguile.h>
|
||||||
#include <guile-mappings.h>
|
#include <guile-mappings.h>
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
extern "C" void set_win32_thread_locale(char**);
|
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#endif
|
#endif
|
||||||
@ -46,6 +45,7 @@ extern "C" {
|
|||||||
#include <gnc-report.h>
|
#include <gnc-report.h>
|
||||||
#include <gnc-splash.h>
|
#include <gnc-splash.h>
|
||||||
#include <gnc-version.h>
|
#include <gnc-version.h>
|
||||||
|
#include "gnucash-locale-platform.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <boost/algorithm/string.hpp>
|
#include <boost/algorithm/string.hpp>
|
||||||
@ -63,10 +63,6 @@ static QofLogModule log_module = GNC_MOD_GUI;
|
|||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <gnc-locale-utils.hpp>
|
#include <gnc-locale-utils.hpp>
|
||||||
|
|
||||||
#ifdef MAC_INTEGRATION
|
|
||||||
# include <Foundation/Foundation.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* GNC_VCS is defined whenever we're building from an svn/svk/git/bzr tree */
|
/* GNC_VCS is defined whenever we're building from an svn/svk/git/bzr tree */
|
||||||
#ifdef GNC_VCS
|
#ifdef GNC_VCS
|
||||||
static int is_development_version = TRUE;
|
static int is_development_version = TRUE;
|
||||||
@ -90,187 +86,6 @@ gnc_print_unstable_message(void)
|
|||||||
<< bl::format (bl::translate ("To find the last stable version, please refer to {1}")) % PACKAGE_URL << "\n";
|
<< bl::format (bl::translate ("To find the last stable version, please refer to {1}")) % PACKAGE_URL << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MAC_INTEGRATION
|
|
||||||
static void
|
|
||||||
mac_set_currency_locale(NSLocale *locale, NSString *locale_str)
|
|
||||||
{
|
|
||||||
/* If the currency doesn't match the base locale, we need to find a locale that does match, because setlocale won't know what to do with just a currency identifier. */
|
|
||||||
NSLocale *cur_locale = [ [NSLocale alloc] initWithLocaleIdentifier: locale_str];
|
|
||||||
if (![ [locale objectForKey: NSLocaleCurrencyCode] isEqualToString:
|
|
||||||
[cur_locale objectForKey: NSLocaleCurrencyCode] ])
|
|
||||||
{
|
|
||||||
NSArray *all_locales = [NSLocale availableLocaleIdentifiers];
|
|
||||||
NSEnumerator *locale_iter = [all_locales objectEnumerator];
|
|
||||||
NSString *this_locale;
|
|
||||||
NSString *currency = [locale objectForKey: NSLocaleCurrencyCode];
|
|
||||||
NSString *money_locale = nil;
|
|
||||||
while ((this_locale = (NSString*)[locale_iter nextObject]))
|
|
||||||
{
|
|
||||||
NSLocale *templocale = [ [NSLocale alloc]
|
|
||||||
initWithLocaleIdentifier: this_locale];
|
|
||||||
if ([ [templocale objectForKey: NSLocaleCurrencyCode]
|
|
||||||
isEqualToString: currency])
|
|
||||||
{
|
|
||||||
money_locale = this_locale;
|
|
||||||
[templocale release];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
[templocale release];
|
|
||||||
}
|
|
||||||
if (money_locale)
|
|
||||||
setlocale(LC_MONETARY, [money_locale UTF8String]);
|
|
||||||
}
|
|
||||||
[cur_locale release];
|
|
||||||
}
|
|
||||||
/* The locale that we got from AppKit isn't a supported POSIX one, so we need to
|
|
||||||
* find something close. First see if we can find another locale for the
|
|
||||||
* country; failing that, try the language. Ultimately fall back on en_US.
|
|
||||||
*/
|
|
||||||
static NSString*
|
|
||||||
mac_find_close_country(NSString *locale_str, NSString *country_str,
|
|
||||||
NSString *lang_str)
|
|
||||||
{
|
|
||||||
NSArray *all_locales = [NSLocale availableLocaleIdentifiers];
|
|
||||||
NSEnumerator *locale_iter = [all_locales objectEnumerator];
|
|
||||||
NSString *this_locale, *new_locale = nil;
|
|
||||||
PWARN("Apple Locale is set to a value %s not supported"
|
|
||||||
" by the C runtime", [locale_str UTF8String]);
|
|
||||||
while ((this_locale = [(NSString*)[locale_iter nextObject] stringByAppendingString: @".UTF-8"]))
|
|
||||||
if ([ [ [NSLocale componentsFromLocaleIdentifier: this_locale]
|
|
||||||
objectForKey: NSLocaleCountryCode]
|
|
||||||
isEqualToString: country_str] &&
|
|
||||||
setlocale (LC_ALL, [this_locale UTF8String]))
|
|
||||||
{
|
|
||||||
new_locale = this_locale;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (!new_locale)
|
|
||||||
while ((this_locale = (NSString*)[locale_iter nextObject]))
|
|
||||||
if ([ [ [NSLocale componentsFromLocaleIdentifier: this_locale]
|
|
||||||
objectForKey: NSLocaleLanguageCode]
|
|
||||||
isEqualToString: lang_str] &&
|
|
||||||
setlocale (LC_ALL, [this_locale UTF8String]))
|
|
||||||
{
|
|
||||||
new_locale = this_locale;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (new_locale)
|
|
||||||
locale_str = new_locale;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
locale_str = @"en_US.UTF-8";
|
|
||||||
setlocale(LC_ALL, [locale_str UTF8String]);
|
|
||||||
}
|
|
||||||
PWARN("Using %s instead.", [locale_str UTF8String]);
|
|
||||||
return locale_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Language subgroups (e.g., US English) are reported in the form "ll-SS"
|
|
||||||
* (e.g. again, "en-US"), not what gettext wants. We convert those to
|
|
||||||
* old-style locales, which is easy for most cases. There are two where it
|
|
||||||
* isn't, though: Simplified Chinese (zh-Hans) and traditional Chinese
|
|
||||||
* (zh-Hant), which are normally assigned the locales zh_CN and zh_TW,
|
|
||||||
* respectively. Those are handled specially.
|
|
||||||
*/
|
|
||||||
static NSString*
|
|
||||||
mac_convert_complex_language(NSString* this_lang)
|
|
||||||
{
|
|
||||||
NSArray *elements = [this_lang componentsSeparatedByString: @"-"];
|
|
||||||
if ([elements count] == 1)
|
|
||||||
return this_lang;
|
|
||||||
if ([ [elements objectAtIndex: 0] isEqualToString: @"zh"]) {
|
|
||||||
if ([ [elements objectAtIndex: 1] isEqualToString: @"Hans"])
|
|
||||||
this_lang = @"zh_CN";
|
|
||||||
else
|
|
||||||
this_lang = @"zh_TW";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
this_lang = [elements componentsJoinedByString: @"_"];
|
|
||||||
return this_lang;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
mac_set_languages(NSArray* languages, NSString *lang_str)
|
|
||||||
{
|
|
||||||
/* Process the language list. */
|
|
||||||
|
|
||||||
const gchar *langs = NULL;
|
|
||||||
NSEnumerator *lang_iter = [languages objectEnumerator];
|
|
||||||
NSArray *new_languages = [NSArray array];
|
|
||||||
NSString *this_lang = NULL;
|
|
||||||
NSRange not_found = {NSNotFound, 0};
|
|
||||||
while ((this_lang = [lang_iter nextObject])) {
|
|
||||||
this_lang = [this_lang stringByTrimmingCharactersInSet:
|
|
||||||
[NSCharacterSet characterSetWithCharactersInString: @"\""] ];
|
|
||||||
this_lang = mac_convert_complex_language(this_lang);
|
|
||||||
new_languages = [new_languages arrayByAddingObject: this_lang];
|
|
||||||
/* If it's an English language, add the "C" locale after it so that
|
|
||||||
* any messages can default to it */
|
|
||||||
if (!NSEqualRanges([this_lang rangeOfString: @"en"], not_found))
|
|
||||||
new_languages = [new_languages arrayByAddingObject: @"C"];
|
|
||||||
if (![new_languages containsObject: lang_str]) {
|
|
||||||
NSArray *temp_array = [NSArray arrayWithObject: lang_str];
|
|
||||||
new_languages = [temp_array arrayByAddingObjectsFromArray: new_languages];
|
|
||||||
}
|
|
||||||
langs = [ [new_languages componentsJoinedByString:@":"] UTF8String];
|
|
||||||
}
|
|
||||||
if (langs && strlen(langs) > 0)
|
|
||||||
{
|
|
||||||
PWARN("Language list: %s", langs);
|
|
||||||
g_setenv("LANGUAGE", langs, TRUE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
set_mac_locale()
|
|
||||||
{
|
|
||||||
NSAutoreleasePool *pool = [ [NSAutoreleasePool alloc] init];
|
|
||||||
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
|
|
||||||
NSLocale *locale = [NSLocale currentLocale];
|
|
||||||
NSString *lang_str, *country_str, *locale_str;
|
|
||||||
NSArray *languages = [ [defs arrayForKey: @"AppleLanguages"] retain];
|
|
||||||
@try
|
|
||||||
{
|
|
||||||
lang_str = [locale objectForKey: NSLocaleLanguageCode];
|
|
||||||
country_str = [locale objectForKey: NSLocaleCountryCode];
|
|
||||||
locale_str = [ [ [lang_str stringByAppendingString: @"_"]
|
|
||||||
stringByAppendingString: country_str]
|
|
||||||
stringByAppendingString: @".UTF-8"];
|
|
||||||
}
|
|
||||||
@catch (NSException *err)
|
|
||||||
{
|
|
||||||
PWARN("Locale detection raised error %s: %s. "
|
|
||||||
"Check that your locale settings in "
|
|
||||||
"System Preferences>Languages & Text are set correctly.",
|
|
||||||
[ [err name] UTF8String], [ [err reason] UTF8String]);
|
|
||||||
locale_str = @"_";
|
|
||||||
}
|
|
||||||
/* If we didn't get a valid current locale, the string will be just "_" */
|
|
||||||
if ([locale_str isEqualToString: @"_"])
|
|
||||||
locale_str = @"en_US.UTF-8";
|
|
||||||
|
|
||||||
lang_str = mac_convert_complex_language(lang_str);
|
|
||||||
if (!setlocale(LC_ALL, [locale_str UTF8String]))
|
|
||||||
locale_str = mac_find_close_country(locale_str, country_str, lang_str);
|
|
||||||
if (g_getenv("LANG") == NULL)
|
|
||||||
g_setenv("LANG", [locale_str UTF8String], TRUE);
|
|
||||||
mac_set_currency_locale(locale, locale_str);
|
|
||||||
/* Now call gnc_localeconv() to force creation of the app locale
|
|
||||||
* before another call to setlocale messes it up. */
|
|
||||||
gnc_localeconv ();
|
|
||||||
/* Process the languages, including the one from the Apple locale. */
|
|
||||||
if (g_getenv("LANGUAGE") == NULL)
|
|
||||||
{
|
|
||||||
if ([languages count] > 0)
|
|
||||||
mac_set_languages(languages, lang_str);
|
|
||||||
else
|
|
||||||
g_setenv("LANGUAGE", [lang_str UTF8String], TRUE);
|
|
||||||
}
|
|
||||||
[languages release];
|
|
||||||
[pool drain];
|
|
||||||
}
|
|
||||||
#endif /* MAC_INTEGRATION */
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
try_load_config_array(const gchar *fns[])
|
try_load_config_array(const gchar *fns[])
|
||||||
{
|
{
|
||||||
@ -415,10 +230,8 @@ Gnucash::CoreApp::CoreApp ()
|
|||||||
* The user may have configured a different language via
|
* The user may have configured a different language via
|
||||||
* the environment file.
|
* the environment file.
|
||||||
*/
|
*/
|
||||||
#ifdef MAC_INTEGRATION
|
#if defined MAC_INTEGRATION || defined __MINGW32__
|
||||||
set_mac_locale();
|
sys_locale = set_platform_locale();
|
||||||
#elif defined __MINGW32__
|
|
||||||
set_win32_thread_locale(&sys_locale);
|
|
||||||
#endif
|
#endif
|
||||||
gnc_environment_setup();
|
gnc_environment_setup();
|
||||||
#if ! defined MAC_INTEGRATION && ! defined __MINGW32__/* setlocale already done */
|
#if ! defined MAC_INTEGRATION && ! defined __MINGW32__/* setlocale already done */
|
||||||
|
222
gnucash/gnucash-locale-macos.mm
Normal file
222
gnucash/gnucash-locale-macos.mm
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
/*
|
||||||
|
* gnucash-mac-locale.mm -- Macos specific locale handling
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020 John Ralls <jralls@ceridwen.us>
|
||||||
|
* Copyright (C) 2021 Geert Janssens <geert@kobaltwit.be>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, contact:
|
||||||
|
*
|
||||||
|
* Free Software Foundation Voice: +1-617-542-5942
|
||||||
|
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652
|
||||||
|
* Boston, MA 02110-1301, USA gnu@gnu.org
|
||||||
|
*/
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
#include <glib.h>
|
||||||
|
#include <qoflog.h>
|
||||||
|
#include <gnc-engine.h>
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include <gnc-locale-utils.h>
|
||||||
|
#include "gnucash-locale-platform.h"
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This static indicates the debugging module that this .o belongs to. */
|
||||||
|
static QofLogModule log_module = GNC_MOD_GUI;
|
||||||
|
|
||||||
|
static void
|
||||||
|
mac_set_currency_locale(NSLocale *locale, NSString *locale_str)
|
||||||
|
{
|
||||||
|
/* If the currency doesn't match the base locale, we need to find a locale that does match, because setlocale won't know what to do with just a currency identifier. */
|
||||||
|
NSLocale *cur_locale = [ [NSLocale alloc] initWithLocaleIdentifier: locale_str];
|
||||||
|
if (![ [locale objectForKey: NSLocaleCurrencyCode] isEqualToString:
|
||||||
|
[cur_locale objectForKey: NSLocaleCurrencyCode] ])
|
||||||
|
{
|
||||||
|
NSArray *all_locales = [NSLocale availableLocaleIdentifiers];
|
||||||
|
NSEnumerator *locale_iter = [all_locales objectEnumerator];
|
||||||
|
NSString *this_locale;
|
||||||
|
NSString *currency = [locale objectForKey: NSLocaleCurrencyCode];
|
||||||
|
NSString *money_locale = nil;
|
||||||
|
while ((this_locale = (NSString*)[locale_iter nextObject]))
|
||||||
|
{
|
||||||
|
NSLocale *templocale = [ [NSLocale alloc]
|
||||||
|
initWithLocaleIdentifier: this_locale];
|
||||||
|
if ([ [templocale objectForKey: NSLocaleCurrencyCode]
|
||||||
|
isEqualToString: currency])
|
||||||
|
{
|
||||||
|
money_locale = this_locale;
|
||||||
|
[templocale release];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
[templocale release];
|
||||||
|
}
|
||||||
|
if (money_locale)
|
||||||
|
setlocale(LC_MONETARY, [money_locale UTF8String]);
|
||||||
|
}
|
||||||
|
[cur_locale release];
|
||||||
|
}
|
||||||
|
/* The locale that we got from AppKit isn't a supported POSIX one, so we need to
|
||||||
|
* find something close. First see if we can find another locale for the
|
||||||
|
* country; failing that, try the language. Ultimately fall back on en_US.
|
||||||
|
*/
|
||||||
|
static NSString*
|
||||||
|
mac_find_close_country(NSString *locale_str, NSString *country_str,
|
||||||
|
NSString *lang_str)
|
||||||
|
{
|
||||||
|
NSArray *all_locales = [NSLocale availableLocaleIdentifiers];
|
||||||
|
NSEnumerator *locale_iter = [all_locales objectEnumerator];
|
||||||
|
NSString *this_locale, *new_locale = nil;
|
||||||
|
PWARN("Apple Locale is set to a value %s not supported"
|
||||||
|
" by the C runtime", [locale_str UTF8String]);
|
||||||
|
while ((this_locale = [(NSString*)[locale_iter nextObject] stringByAppendingString: @".UTF-8"]))
|
||||||
|
if ([ [ [NSLocale componentsFromLocaleIdentifier: this_locale]
|
||||||
|
objectForKey: NSLocaleCountryCode]
|
||||||
|
isEqualToString: country_str] &&
|
||||||
|
setlocale (LC_ALL, [this_locale UTF8String]))
|
||||||
|
{
|
||||||
|
new_locale = this_locale;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!new_locale)
|
||||||
|
while ((this_locale = (NSString*)[locale_iter nextObject]))
|
||||||
|
if ([ [ [NSLocale componentsFromLocaleIdentifier: this_locale]
|
||||||
|
objectForKey: NSLocaleLanguageCode]
|
||||||
|
isEqualToString: lang_str] &&
|
||||||
|
setlocale (LC_ALL, [this_locale UTF8String]))
|
||||||
|
{
|
||||||
|
new_locale = this_locale;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (new_locale)
|
||||||
|
locale_str = new_locale;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
locale_str = @"en_US.UTF-8";
|
||||||
|
setlocale(LC_ALL, [locale_str UTF8String]);
|
||||||
|
}
|
||||||
|
PWARN("Using %s instead.", [locale_str UTF8String]);
|
||||||
|
return locale_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Language subgroups (e.g., US English) are reported in the form "ll-SS"
|
||||||
|
* (e.g. again, "en-US"), not what gettext wants. We convert those to
|
||||||
|
* old-style locales, which is easy for most cases. There are two where it
|
||||||
|
* isn't, though: Simplified Chinese (zh-Hans) and traditional Chinese
|
||||||
|
* (zh-Hant), which are normally assigned the locales zh_CN and zh_TW,
|
||||||
|
* respectively. Those are handled specially.
|
||||||
|
*/
|
||||||
|
static NSString*
|
||||||
|
mac_convert_complex_language(NSString* this_lang)
|
||||||
|
{
|
||||||
|
NSArray *elements = [this_lang componentsSeparatedByString: @"-"];
|
||||||
|
if ([elements count] == 1)
|
||||||
|
return this_lang;
|
||||||
|
if ([ [elements objectAtIndex: 0] isEqualToString: @"zh"]) {
|
||||||
|
if ([ [elements objectAtIndex: 1] isEqualToString: @"Hans"])
|
||||||
|
this_lang = @"zh_CN";
|
||||||
|
else
|
||||||
|
this_lang = @"zh_TW";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
this_lang = [elements componentsJoinedByString: @"_"];
|
||||||
|
return this_lang;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
mac_set_languages(NSArray* languages, NSString *lang_str)
|
||||||
|
{
|
||||||
|
/* Process the language list. */
|
||||||
|
|
||||||
|
const char *langs = NULL;
|
||||||
|
NSEnumerator *lang_iter = [languages objectEnumerator];
|
||||||
|
NSArray *new_languages = [NSArray array];
|
||||||
|
NSString *this_lang = NULL;
|
||||||
|
NSRange not_found = {NSNotFound, 0};
|
||||||
|
while ((this_lang = [lang_iter nextObject])) {
|
||||||
|
this_lang = [this_lang stringByTrimmingCharactersInSet:
|
||||||
|
[NSCharacterSet characterSetWithCharactersInString: @"\""] ];
|
||||||
|
this_lang = mac_convert_complex_language(this_lang);
|
||||||
|
new_languages = [new_languages arrayByAddingObject: this_lang];
|
||||||
|
/* If it's an English language, add the "C" locale after it so that
|
||||||
|
* any messages can default to it */
|
||||||
|
if (!NSEqualRanges([this_lang rangeOfString: @"en"], not_found))
|
||||||
|
new_languages = [new_languages arrayByAddingObject: @"C"];
|
||||||
|
if (![new_languages containsObject: lang_str]) {
|
||||||
|
NSArray *temp_array = [NSArray arrayWithObject: lang_str];
|
||||||
|
new_languages = [temp_array arrayByAddingObjectsFromArray: new_languages];
|
||||||
|
}
|
||||||
|
langs = [ [new_languages componentsJoinedByString:@":"] UTF8String];
|
||||||
|
}
|
||||||
|
if (langs && strlen(langs) > 0)
|
||||||
|
{
|
||||||
|
PWARN("Language list: %s", langs);
|
||||||
|
g_setenv("LANGUAGE", langs, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
set_platform_locale()
|
||||||
|
{
|
||||||
|
NSAutoreleasePool *pool = [ [NSAutoreleasePool alloc] init];
|
||||||
|
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
|
||||||
|
NSLocale *locale = [NSLocale currentLocale];
|
||||||
|
NSString *lang_str, *country_str, *locale_str;
|
||||||
|
NSArray *languages = [ [defs arrayForKey: @"AppleLanguages"] retain];
|
||||||
|
char *gnc_locale = NULL;
|
||||||
|
@try
|
||||||
|
{
|
||||||
|
lang_str = [locale objectForKey: NSLocaleLanguageCode];
|
||||||
|
country_str = [locale objectForKey: NSLocaleCountryCode];
|
||||||
|
locale_str = [ [ [lang_str stringByAppendingString: @"_"]
|
||||||
|
stringByAppendingString: country_str]
|
||||||
|
stringByAppendingString: @".UTF-8"];
|
||||||
|
}
|
||||||
|
@catch (NSException *err)
|
||||||
|
{
|
||||||
|
PWARN("Locale detection raised error %s: %s. "
|
||||||
|
"Check that your locale settings in "
|
||||||
|
"System Preferences>Languages & Text are set correctly.",
|
||||||
|
[ [err name] UTF8String], [ [err reason] UTF8String]);
|
||||||
|
locale_str = @"_";
|
||||||
|
}
|
||||||
|
/* If we didn't get a valid current locale, the string will be just "_" */
|
||||||
|
if ([locale_str isEqualToString: @"_"])
|
||||||
|
locale_str = @"en_US.UTF-8";
|
||||||
|
|
||||||
|
lang_str = mac_convert_complex_language(lang_str);
|
||||||
|
if (!setlocale(LC_ALL, [locale_str UTF8String]))
|
||||||
|
locale_str = mac_find_close_country(locale_str, country_str, lang_str);
|
||||||
|
/* Cache the final locale string to be returned to the calling program */
|
||||||
|
gnc_locale = g_strdup ([locale_str UTF8String]);
|
||||||
|
|
||||||
|
if (g_getenv("LANG") == NULL)
|
||||||
|
g_setenv("LANG", [locale_str UTF8String], TRUE);
|
||||||
|
mac_set_currency_locale(locale, locale_str);
|
||||||
|
|
||||||
|
/* Now call gnc_localeconv() to force creation of the app locale
|
||||||
|
* before another call to setlocale messes it up. */
|
||||||
|
gnc_localeconv ();
|
||||||
|
/* Process the languages, including the one from the Apple locale. */
|
||||||
|
if (g_getenv("LANGUAGE") == NULL)
|
||||||
|
{
|
||||||
|
if ([languages count] > 0)
|
||||||
|
mac_set_languages(languages, lang_str);
|
||||||
|
else
|
||||||
|
g_setenv("LANGUAGE", [lang_str UTF8String], TRUE);
|
||||||
|
}
|
||||||
|
[languages release];
|
||||||
|
[pool drain];
|
||||||
|
return gnc_locale;
|
||||||
|
}
|
30
gnucash/gnucash-locale-platform.h
Normal file
30
gnucash/gnucash-locale-platform.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* gnucash-locale-platform.h -- Common header for platform specific locale handling
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Geert Janssens <geert@kobaltwit.be>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, contact:
|
||||||
|
*
|
||||||
|
* Free Software Foundation Voice: +1-617-542-5942
|
||||||
|
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652
|
||||||
|
* Boston, MA 02110-1301, USA gnu@gnu.org
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef GNUCASH_LOCALE_PLATFORM_H
|
||||||
|
#define GNUCASH_LOCALE_PLATFORM_H
|
||||||
|
|
||||||
|
char *set_platform_locale(void);
|
||||||
|
|
||||||
|
#endif
|
@ -1,7 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* gnucash-core-app.cpp -- Basic application object for gnucash binaries
|
* gnucash-locale-windows.c -- Windows specific locale handling
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020 John Ralls <jralls@ceridwen.us>
|
* Copyright (C) 2020 John Ralls <jralls@ceridwen.us>
|
||||||
|
* Copyright (C) 2021 Geert Janssens <geert@kobaltwit.be>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License as
|
* modify it under the terms of the GNU General Public License as
|
||||||
@ -24,17 +25,15 @@
|
|||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
|
#include "gnucash-locale-platform.h"
|
||||||
//sacrificial prototype
|
|
||||||
void set_win32_thread_locale(char **sys_locale);
|
|
||||||
|
|
||||||
/* If one of the Unix locale variables LC_ALL, LC_MESSAGES, or LANG is
|
/* If one of the Unix locale variables LC_ALL, LC_MESSAGES, or LANG is
|
||||||
* set in the environment check to see if it's a valid locale and if
|
* set in the environment check to see if it's a valid locale and if
|
||||||
* it is set both the Windows and POSIX locales to that. If not
|
* it is set both the Windows and POSIX locales to that. If not
|
||||||
* retrieve the Windows locale and set POSIX to match.
|
* retrieve the Windows locale and set POSIX to match.
|
||||||
*/
|
*/
|
||||||
void
|
char *
|
||||||
set_win32_thread_locale(char **sys_locale)
|
set_platform_locale(void)
|
||||||
{
|
{
|
||||||
WCHAR lpLocaleName[LOCALE_NAME_MAX_LENGTH];
|
WCHAR lpLocaleName[LOCALE_NAME_MAX_LENGTH];
|
||||||
char *locale = NULL;
|
char *locale = NULL;
|
||||||
@ -43,31 +42,31 @@ set_win32_thread_locale(char **sys_locale)
|
|||||||
((locale = getenv ("LC_MESSAGES")) != NULL && locale[0] != '\0') ||
|
((locale = getenv ("LC_MESSAGES")) != NULL && locale[0] != '\0') ||
|
||||||
((locale = getenv ("LANG")) != NULL && locale[0] != '\0'))
|
((locale = getenv ("LANG")) != NULL && locale[0] != '\0'))
|
||||||
{
|
{
|
||||||
gunichar2* wlocale = NULL;
|
gunichar2* wlocale = NULL;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
len = strchr(locale, '.') - locale;
|
len = strchr(locale, '.') - locale;
|
||||||
locale[2] = '-';
|
locale[2] = '-';
|
||||||
wlocale = g_utf8_to_utf16 (locale, len, NULL, NULL, NULL);
|
wlocale = g_utf8_to_utf16 (locale, len, NULL, NULL, NULL);
|
||||||
if (IsValidLocaleName(wlocale))
|
if (IsValidLocaleName(wlocale))
|
||||||
{
|
{
|
||||||
LCID lcid = LocaleNameToLCID(wlocale, LOCALE_ALLOW_NEUTRAL_NAMES);
|
LCID lcid = LocaleNameToLCID(wlocale, LOCALE_ALLOW_NEUTRAL_NAMES);
|
||||||
SetThreadLocale(lcid);
|
SetThreadLocale(lcid);
|
||||||
locale[2] = '_';
|
locale[2] = '_';
|
||||||
setlocale (LC_ALL, locale);
|
setlocale (LC_ALL, locale);
|
||||||
*sys_locale = g_strdup (locale);
|
g_free(wlocale);
|
||||||
g_free(wlocale);
|
return g_strdup (locale);
|
||||||
return;
|
}
|
||||||
}
|
g_free(locale);
|
||||||
g_free(locale);
|
g_free(wlocale);
|
||||||
g_free(wlocale);
|
|
||||||
}
|
}
|
||||||
if (GetUserDefaultLocaleName(lpLocaleName, LOCALE_NAME_MAX_LENGTH))
|
if (GetUserDefaultLocaleName(lpLocaleName, LOCALE_NAME_MAX_LENGTH))
|
||||||
{
|
{
|
||||||
*sys_locale = g_utf16_to_utf8((gunichar2*)lpLocaleName,
|
locale = g_utf16_to_utf8((gunichar2*)lpLocaleName,
|
||||||
LOCALE_NAME_MAX_LENGTH,
|
LOCALE_NAME_MAX_LENGTH,
|
||||||
NULL, NULL, NULL);
|
NULL, NULL, NULL);
|
||||||
(*sys_locale)[2] = '_';
|
(locale)[2] = '_';
|
||||||
setlocale (LC_ALL, *sys_locale);
|
setlocale (LC_ALL, locale);
|
||||||
return;
|
return locale;
|
||||||
}
|
}
|
||||||
|
return g_strdup("C");
|
||||||
}
|
}
|
@ -399,7 +399,7 @@ main(int argc, char ** argv)
|
|||||||
std::cerr << bl::format (bl::translate ("Run '{1} --help' to see a full list of available command line options.")) % *argv[0]
|
std::cerr << bl::format (bl::translate ("Run '{1} --help' to see a full list of available command line options.")) % *argv[0]
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< bl::translate ("Error: could not initialize graphical user interface and option add-price-quotes was not set.\n"
|
<< bl::translate ("Error: could not initialize graphical user interface and option add-price-quotes was not set.\n"
|
||||||
" Perhaps you need to set the $DISPLAY environment variable?");
|
"Perhaps you need to set the $DISPLAY environment variable?");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,12 +277,12 @@
|
|||||||
</key>
|
</key>
|
||||||
<key name="default-style-ledger" type="b">
|
<key name="default-style-ledger" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>Show all transactions on one line. (Two in double line mode.)</summary>
|
<summary>Show all transactions on one line or in double line mode on two.</summary>
|
||||||
<description>This field specifies the default view style when opening a new register window. Possible values are "ledger", "auto-ledger" and "journal". The "ledger" setting says to show each transaction on one or two lines. The "auto-ledger" setting does the same, but also expands only the current transaction to show all splits. The "journal" setting shows all transactions in expanded form.</description>
|
<description>This field specifies the default view style when opening a new register window. Possible values are "ledger", "auto-ledger" and "journal". The "ledger" setting says to show each transaction on one or two lines. The "auto-ledger" setting does the same, but also expands only the current transaction to show all splits. The "journal" setting shows all transactions in expanded form.</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="default-style-autoledger" type="b">
|
<key name="default-style-autoledger" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<summary>Automatically expand the current transaction to show all splits. All other transactions are shown on one line. (Two in double line mode.)</summary>
|
<summary>Automatically expand the current transaction to show all splits. All other transactions are shown on one line or in double line mode on two.</summary>
|
||||||
<description>This field specifies the default view style when opening a new register window. Possible values are "ledger", "auto-ledger" and "journal". The "ledger" setting says to show each transaction on one or two lines. The "auto-ledger" setting does the same, but also expands only the current transaction to show all splits. The "journal" setting shows all transactions in expanded form.</description>
|
<description>This field specifies the default view style when opening a new register window. Possible values are "ledger", "auto-ledger" and "journal". The "ledger" setting says to show each transaction on one or two lines. The "auto-ledger" setting does the same, but also expands only the current transaction to show all splits. The "journal" setting shows all transactions in expanded form.</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="default-style-journal" type="b">
|
<key name="default-style-journal" type="b">
|
||||||
@ -366,7 +366,7 @@ For example setting this to 2.0 will display reports at twice their typical size
|
|||||||
<key name="filename-format" type="s">
|
<key name="filename-format" type="s">
|
||||||
<default>'%1$s-%2$s-%3$s'</default>
|
<default>'%1$s-%2$s-%3$s'</default>
|
||||||
<summary>PDF export file name format</summary>
|
<summary>PDF export file name format</summary>
|
||||||
<description>This setting chooses the file name for PDF export. This is a sprintf(3) string with three arguments: "%1$s" is the report name such as "Invoice". "%2$s" is the number of the report, which for an invoice report is the invoice number. "%3$s" is the date of the report, formatted according to the filename-date-format setting. (Note: Any characters that are not allowed in filenames, such as '/', will be replaced with underscores '_' in the resulting file name.)</description>
|
<description>This setting chooses the file name for PDF export. This is a sprintf(3) string with three arguments: "%1$s" is the report name such as "Invoice". "%2$s" is the number of the report, which for an invoice report is the invoice number. "%3$s" is the date of the report, formatted according to the filename-date-format setting. Note: Any characters that are not allowed in filenames, such as '/', will be replaced with underscores '_' in the resulting file name.</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="filename-date-format" type="s">
|
<key name="filename-date-format" type="s">
|
||||||
<default>'locale'</default>
|
<default>'locale'</default>
|
||||||
|
@ -72,7 +72,7 @@ Examples are "FTSE","RR.L","21/11/2016",5.345,"GBP" and CURRENCY;USD;2016-11-21;
|
|||||||
|
|
||||||
There is an option for specifying the start row, end row and an option to skip alternate rows beginning from the start row which can be used if you have some header text. Also there is an option to over write existing prices for that day if required.
|
There is an option for specifying the start row, end row and an option to skip alternate rows beginning from the start row which can be used if you have some header text. Also there is an option to over write existing prices for that day if required.
|
||||||
|
|
||||||
Lastly, for repeated imports the preview page has buttons to Load and Save the settings. To save the settings, tweak the settings to your preferences (optionally starting from an existing preset), then (optionally change the settings name and press the Save Settings button. Note you can't save to built-in presets.
|
Lastly, for repeated imports the preview page has buttons to Load and Save the settings. To save the settings, tweak the settings to your preferences (optionally) starting from an existing preset), then (optionally change the settings name and press the Save Settings button. Note you can't save to built-in presets.
|
||||||
|
|
||||||
This operation is not reversible, so make sure you have a working backup.
|
This operation is not reversible, so make sure you have a working backup.
|
||||||
|
|
||||||
@ -1023,8 +1023,8 @@ For example
|
|||||||
<object class="GtkLabel" id="finish_label">
|
<object class="GtkLabel" id="finish_label">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="label" translatable="yes"><b>Press Apply to add the Prices.
|
<property name="label" translatable="yes"><b>Press "Apply" to add the Prices.
|
||||||
Cancel to abort.</b></property>
|
"Cancel" to abort.</b></property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
<property name="justify">center</property>
|
<property name="justify">center</property>
|
||||||
<property name="wrap">True</property>
|
<property name="wrap">True</property>
|
||||||
|
@ -66,7 +66,7 @@ Apart from a choice of delimiter, there are several options to tweak the importe
|
|||||||
|
|
||||||
The importer can handle files where transactions are split over multiple lines, with each line representing one split.
|
The importer can handle files where transactions are split over multiple lines, with each line representing one split.
|
||||||
|
|
||||||
Lastly, for repeated imports the preview page has buttons to Load and Save the settings. To save the settings, tweak the settings to your preferences (optionally starting from an existing preset), then (optionally change the settings name and press the Save Settings button. Note you can't save to built-in presets.</property>
|
Lastly, for repeated imports the preview page has buttons to Load and Save the settings. To save the settings, tweak the settings to your preferences (optionally starting from an existing preset), then (optionally) change the settings name and press the Save Settings button. Note you can't save to built-in presets.</property>
|
||||||
<property name="wrap">True</property>
|
<property name="wrap">True</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -1856,7 +1856,7 @@ many months before the current month</property>
|
|||||||
<object class="GtkBox" id="pref/general/assoc-head">
|
<object class="GtkBox" id="pref/general/assoc-head">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="tooltip_markup" translatable="yes">Path head for Linked File Relative Paths</property>
|
<property name="tooltip_markup" translatable="yes">Path head for Linked Files Relative Paths</property>
|
||||||
<child>
|
<child>
|
||||||
<placeholder/>
|
<placeholder/>
|
||||||
</child>
|
</child>
|
||||||
@ -2754,8 +2754,8 @@ many months before the current month</property>
|
|||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
<property name="has_tooltip">True</property>
|
<property name="has_tooltip">True</property>
|
||||||
<property name="tooltip_markup">Show all transactions on one line. (Two in double line mode.)</property>
|
<property name="tooltip_markup">Show all transactions on one line or in double line mode on two.</property>
|
||||||
<property name="tooltip_text" translatable="yes">Show all transactions on one line. (Two in double line mode.)</property>
|
<property name="tooltip_text" translatable="yes">Show all transactions on one line or in double line mode on two.</property>
|
||||||
<property name="halign">start</property>
|
<property name="halign">start</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<property name="active">True</property>
|
<property name="active">True</property>
|
||||||
@ -2773,8 +2773,8 @@ many months before the current month</property>
|
|||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
<property name="has_tooltip">True</property>
|
<property name="has_tooltip">True</property>
|
||||||
<property name="tooltip_markup">Automatically expand the current transaction to show all splits. All other transactions are shown on one line. (Two in double line mode.)</property>
|
<property name="tooltip_markup">Automatically expand the current transaction to show all splits. All other transactions are shown on one line or in double line mode on two.</property>
|
||||||
<property name="tooltip_text" translatable="yes">Automatically expand the current transaction to show all splits. All other transactions are shown on one line. (Two in double line mode.)</property>
|
<property name="tooltip_text" translatable="yes">Automatically expand the current transaction to show all splits. All other transactions are shown on one line or in double line mode on two.</property>
|
||||||
<property name="halign">start</property>
|
<property name="halign">start</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<property name="draw_indicator">True</property>
|
<property name="draw_indicator">True</property>
|
||||||
|
@ -51,17 +51,15 @@ You first need to apply for Online Banking access at your bank. If your bank dec
|
|||||||
* The Internet address of your bank's Online Banking server
|
* The Internet address of your bank's Online Banking server
|
||||||
* For HBCI Online Banking, information about the cryptographic public key of your bank ("Ini-Letter").
|
* For HBCI Online Banking, information about the cryptographic public key of your bank ("Ini-Letter").
|
||||||
|
|
||||||
This information will be needed in the following. Press "Next" now.
|
This information will be needed in the following.
|
||||||
|
|
||||||
NOTE: NO WARRANTIES FOR ANYTHING. Some banks run a poorly implemented Online Banking server. You should not rely on time-critical transfers through Online Banking, because sometimes the bank does not give you correct feedback when a transfer is rejected.
|
NOTE: NO WARRANTIES FOR ANYTHING. Some banks run a poorly implemented Online Banking server. You should not rely on time-critical transfers through Online Banking, because sometimes the bank does not give you correct feedback when a transfer is rejected.
|
||||||
|
|
||||||
Press "Cancel" if you do not wish to setup any Online Banking connection now.
|
Lastly, for repeated imports the preview page has buttons to Load and Save the settings. To save the settings, tweak the settings to your preferences (optionally starting from an existing preset), then (optionally) change the settings name and press the Save Settings button. Note you can't save to built-in presets.
|
||||||
|
|
||||||
Lastly, for repeated imports the preview page has buttons to Load and Save the settings. To save the settings, tweak the settings to your preferences (optionally starting from an existing preset), then (optionally change the settings name and press the Save Settings button. Note you can't save to built-in presets.
|
|
||||||
|
|
||||||
This operation is not reversible, so make sure you have a working backup.
|
This operation is not reversible, so make sure you have a working backup.
|
||||||
|
|
||||||
Click on "Next" to proceed or "Cancel" to Abort Import.</property>
|
Click on "Next" to proceed or "Cancel" if you don not wish to setup any online banking connection now.</property>
|
||||||
<property name="wrap">True</property>
|
<property name="wrap">True</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -94,36 +94,31 @@ static const gchar *finish_trans_search_gl_string = N_(
|
|||||||
"You can also verify your selections by clicking on \"Back\" or \"Cancel\" to abort the export.\n");
|
"You can also verify your selections by clicking on \"Back\" or \"Cancel\" to abort the export.\n");
|
||||||
|
|
||||||
static const gchar *start_tree_string = N_(
|
static const gchar *start_tree_string = N_(
|
||||||
"This assistant will help you export the Account Tree to a file\n"
|
"This assistant will help you export the Account Tree to a file"
|
||||||
"with the separator specified below.\n\n"
|
"with the separator specified below.\n\n"
|
||||||
"Select the settings you require for the file and then click \"Next\" "
|
"Select the settings you require for the file and then click \"Next\" "
|
||||||
"to proceed or \"Cancel\" to abort the export.\n");
|
"to proceed or \"Cancel\" to abort the export.\n");
|
||||||
|
|
||||||
static const gchar *start_trans_string = N_(
|
static const gchar *start_trans_common_string = N_(
|
||||||
"This assistant will help you export the Transactions to a file\n"
|
"This assistant will help you export the Transactions to a file "
|
||||||
"with the separator specified below.\n\n"
|
"with the separator specified below.\n\n"
|
||||||
"There will be multiple rows for each transaction and may "
|
"%s\n\n"
|
||||||
"require further manipulation to get them in a format you can use.\n\n"
|
"While a transaction may have splits in several of the selected accounts "
|
||||||
"Each Transaction will appear once in the export and will be listed in "
|
"it will only be exported once. It will appear under the first processed "
|
||||||
"the order the accounts were processed\n\n"
|
"account it has a split in.\n\n"
|
||||||
"Price/Rate output format is controlled by the Preference setting,\n"
|
"Price/Rate output format is controlled by the Preference setting,\n"
|
||||||
"General->Force Prices to display as decimals\n\n"
|
"Numbers, Date, Time->Force Prices to display as decimals\n\n"
|
||||||
"Select the settings you require for the file and then click \"Next\" "
|
"Select the settings you require for the file and then click \"Next\" "
|
||||||
"to proceed or \"Cancel\" to abort the export.\n");
|
"to proceed or \"Cancel\" to abort the export.\n");
|
||||||
|
|
||||||
|
static const gchar *start_trans__multi_string = N_(
|
||||||
|
"There will be multiple rows for each transaction with each row "
|
||||||
|
"representing one split.\n\n");
|
||||||
|
|
||||||
static const gchar *start_trans_simple_string = N_(
|
static const gchar *start_trans_simple_string = N_(
|
||||||
"This assistant will help you export the Transactions to a file\n"
|
"There will be one row for each transaction, equivalent to a single row "
|
||||||
"with the separator specified below.\n\n"
|
"in a register in 'Basic Ledger' mode. As such some transfer detail "
|
||||||
"There will be multiple rows for each transaction and may require further "
|
"could be lost.\n\n");
|
||||||
"manipulation to get them in a format you can use. Each Transaction will "
|
|
||||||
"appear once in the export and will be listed in the order the accounts "
|
|
||||||
"were processed\n\n"
|
|
||||||
"Price/Rate output format is controlled by the Preference setting,\n"
|
|
||||||
"General->Force Prices to display as decimals\n\n"
|
|
||||||
"By selecting the simple layout, the output will be equivalent to a single "
|
|
||||||
"row register view and as such some of the transfer detail could be lost.\n\n"
|
|
||||||
"Select the settings you require for the file and then click \"Next\" "
|
|
||||||
"to proceed or \"Cancel\" to abort the export.\n");
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************
|
/**************************************************
|
||||||
@ -668,16 +663,22 @@ csv_export_assistant_start_page_prepare (GtkAssistant *assistant,
|
|||||||
{
|
{
|
||||||
CsvExportInfo *info = user_data;
|
CsvExportInfo *info = user_data;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Set Start page text */
|
/* Set Start page text */
|
||||||
if (info->export_type == XML_EXPORT_TREE)
|
if (info->export_type == XML_EXPORT_TREE)
|
||||||
gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_tree_string));
|
gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_tree_string));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
gchar *label_string = NULL;
|
||||||
/* General Journal and search registers are always multi-line exported */
|
/* General Journal and search registers are always multi-line exported */
|
||||||
if ((info->export_type == XML_EXPORT_REGISTER) && (info->account == NULL))
|
if ((info->export_type == XML_EXPORT_REGISTER) && (info->account == NULL))
|
||||||
gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_trans_string));
|
label_string = g_strdup_printf (_(start_trans_common_string), _(start_trans__multi_string));
|
||||||
else
|
else
|
||||||
gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_trans_simple_string));
|
label_string = g_strdup_printf (_(start_trans_common_string), _(start_trans_simple_string));
|
||||||
|
|
||||||
|
gtk_label_set_text (GTK_LABEL(info->start_label), label_string);
|
||||||
|
g_free (label_string);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enable the Assistant Buttons */
|
/* Enable the Assistant Buttons */
|
||||||
|
@ -2028,6 +2028,14 @@ CsvImpTransAssist::assist_doc_page_prepare ()
|
|||||||
/* Add the Cancel button for the matcher */
|
/* Add the Cancel button for the matcher */
|
||||||
cancel_button = gtk_button_new_with_mnemonic (_("_Cancel"));
|
cancel_button = gtk_button_new_with_mnemonic (_("_Cancel"));
|
||||||
gtk_assistant_add_action_widget (csv_imp_asst, cancel_button);
|
gtk_assistant_add_action_widget (csv_imp_asst, cancel_button);
|
||||||
|
auto button_area = gtk_widget_get_parent (cancel_button);
|
||||||
|
|
||||||
|
if (GTK_IS_HEADER_BAR(button_area))
|
||||||
|
gtk_container_child_set (GTK_CONTAINER(button_area),
|
||||||
|
cancel_button,
|
||||||
|
"pack-type", GTK_PACK_START,
|
||||||
|
nullptr);
|
||||||
|
|
||||||
g_signal_connect (cancel_button, "clicked",
|
g_signal_connect (cancel_button, "clicked",
|
||||||
G_CALLBACK(csv_tximp_assist_close_cb), this);
|
G_CALLBACK(csv_tximp_assist_close_cb), this);
|
||||||
gtk_widget_show (GTK_WIDGET(cancel_button));
|
gtk_widget_show (GTK_WIDGET(cancel_button));
|
||||||
@ -2064,14 +2072,26 @@ CsvImpTransAssist::assist_match_page_prepare ()
|
|||||||
/* Add the help button for the matcher */
|
/* Add the help button for the matcher */
|
||||||
help_button = gtk_button_new_with_mnemonic (_("_Help"));
|
help_button = gtk_button_new_with_mnemonic (_("_Help"));
|
||||||
gtk_assistant_add_action_widget (csv_imp_asst, help_button);
|
gtk_assistant_add_action_widget (csv_imp_asst, help_button);
|
||||||
|
auto button_area = gtk_widget_get_parent (help_button);
|
||||||
|
|
||||||
|
if (GTK_IS_HEADER_BAR(button_area))
|
||||||
|
{
|
||||||
|
gtk_container_child_set (GTK_CONTAINER(button_area),
|
||||||
|
help_button,
|
||||||
|
"pack-type", GTK_PACK_START,
|
||||||
|
nullptr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// align the help button on the left side
|
||||||
|
gtk_widget_set_halign (GTK_WIDGET(button_area), GTK_ALIGN_FILL);
|
||||||
|
gtk_widget_set_hexpand (GTK_WIDGET(button_area), TRUE);
|
||||||
|
gtk_box_set_child_packing (GTK_BOX(button_area), help_button,
|
||||||
|
FALSE, FALSE, 0, GTK_PACK_START);
|
||||||
|
}
|
||||||
g_signal_connect (help_button, "clicked",
|
g_signal_connect (help_button, "clicked",
|
||||||
G_CALLBACK(on_matcher_help_clicked), gnc_csv_importer_gui);
|
G_CALLBACK(on_matcher_help_clicked), gnc_csv_importer_gui);
|
||||||
|
|
||||||
// align the help button on the left side
|
|
||||||
auto action_box = gtk_widget_get_parent (help_button);
|
|
||||||
gtk_widget_set_halign (GTK_WIDGET(action_box), GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (GTK_WIDGET(action_box), TRUE);
|
|
||||||
gtk_box_set_child_packing (GTK_BOX(action_box), help_button, FALSE, FALSE, 0, GTK_PACK_START);
|
|
||||||
gtk_widget_show (GTK_WIDGET(help_button));
|
gtk_widget_show (GTK_WIDGET(help_button));
|
||||||
|
|
||||||
/* Copy all of the transactions to the importer GUI. */
|
/* Copy all of the transactions to the importer GUI. */
|
||||||
|
@ -37,10 +37,14 @@ extern "C" {
|
|||||||
#include <exception>
|
#include <exception>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <boost/locale.hpp>
|
||||||
#include <boost/regex.hpp>
|
#include <boost/regex.hpp>
|
||||||
#include <boost/regex/icu.hpp>
|
#include <boost/regex/icu.hpp>
|
||||||
|
#include <gnc-locale-utils.hpp>
|
||||||
#include "gnc-imp-props-price.hpp"
|
#include "gnc-imp-props-price.hpp"
|
||||||
|
|
||||||
|
namespace bl = boost::locale;
|
||||||
|
|
||||||
G_GNUC_UNUSED static QofLogModule log_module = GNC_MOD_IMPORT;
|
G_GNUC_UNUSED static QofLogModule log_module = GNC_MOD_IMPORT;
|
||||||
|
|
||||||
/* This map contains a set of strings representing the different column types. */
|
/* This map contains a set of strings representing the different column types. */
|
||||||
@ -231,17 +235,17 @@ void GncImportPrice::set (GncPricePropType prop_type, const std::string& value,
|
|||||||
}
|
}
|
||||||
catch (const std::invalid_argument& e)
|
catch (const std::invalid_argument& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_price_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_price_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
catch (const std::out_of_range& e)
|
catch (const std::out_of_range& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_price_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_price_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
|
@ -46,10 +46,14 @@ extern "C" {
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include <boost/locale.hpp>
|
||||||
#include <boost/regex.hpp>
|
#include <boost/regex.hpp>
|
||||||
#include <boost/regex/icu.hpp>
|
#include <boost/regex/icu.hpp>
|
||||||
|
#include <gnc-locale-utils.hpp>
|
||||||
#include "gnc-imp-props-tx.hpp"
|
#include "gnc-imp-props-tx.hpp"
|
||||||
|
|
||||||
|
namespace bl = boost::locale;
|
||||||
|
|
||||||
G_GNUC_UNUSED static QofLogModule log_module = GNC_MOD_IMPORT;
|
G_GNUC_UNUSED static QofLogModule log_module = GNC_MOD_IMPORT;
|
||||||
|
|
||||||
/* This map contains a set of strings representing the different column types. */
|
/* This map contains a set of strings representing the different column types. */
|
||||||
@ -286,17 +290,17 @@ void GncPreTrans::set (GncTransPropType prop_type, const std::string& value)
|
|||||||
}
|
}
|
||||||
catch (const std::invalid_argument& e)
|
catch (const std::invalid_argument& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_csv_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_csv_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
catch (const std::out_of_range& e)
|
catch (const std::out_of_range& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_csv_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_csv_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
@ -505,17 +509,17 @@ void GncPreSplit::set (GncTransPropType prop_type, const std::string& value)
|
|||||||
}
|
}
|
||||||
catch (const std::invalid_argument& e)
|
catch (const std::invalid_argument& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_csv_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_csv_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
catch (const std::out_of_range& e)
|
catch (const std::out_of_range& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_csv_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_csv_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
@ -568,17 +572,17 @@ void GncPreSplit::add (GncTransPropType prop_type, const std::string& value)
|
|||||||
}
|
}
|
||||||
catch (const std::invalid_argument& e)
|
catch (const std::invalid_argument& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_csv_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_csv_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
catch (const std::out_of_range& e)
|
catch (const std::out_of_range& e)
|
||||||
{
|
{
|
||||||
auto err_str = std::string(_(gnc_csv_col_type_strs[prop_type])) +
|
auto err_str = (bl::format (bl::translate ("Column '{1}' could not be understood.\n")) %
|
||||||
std::string(_(" could not be understood.\n")) +
|
bl::translate (gnc_csv_col_type_strs[prop_type])).str(gnc_get_boost_locale()) +
|
||||||
e.what();
|
e.what();
|
||||||
m_errors.emplace(prop_type, err_str);
|
m_errors.emplace(prop_type, err_str);
|
||||||
throw std::invalid_argument (err_str);
|
throw std::invalid_argument (err_str);
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@ constexpr auto group_prefix = "Import csv,transaction - ";
|
|||||||
#define CSV_COL_TYPES "ColumnTypes"
|
#define CSV_COL_TYPES "ColumnTypes"
|
||||||
|
|
||||||
#define CSV_ACCOUNT "BaseAccount"
|
#define CSV_ACCOUNT "BaseAccount"
|
||||||
|
#define CSV_ACCOUNT_GUID "BaseAccountGuid"
|
||||||
#define CSV_MULTI_SPLIT "MultiSplit"
|
#define CSV_MULTI_SPLIT "MultiSplit"
|
||||||
|
|
||||||
G_GNUC_UNUSED static QofLogModule log_module = GNC_MOD_IMPORT;
|
G_GNUC_UNUSED static QofLogModule log_module = GNC_MOD_IMPORT;
|
||||||
@ -170,9 +171,42 @@ CsvTransImpSettings::load (void)
|
|||||||
m_multi_split = g_key_file_get_boolean (keyfile, group.c_str(), CSV_MULTI_SPLIT, &key_error);
|
m_multi_split = g_key_file_get_boolean (keyfile, group.c_str(), CSV_MULTI_SPLIT, &key_error);
|
||||||
m_load_error |= handle_load_error (&key_error, group);
|
m_load_error |= handle_load_error (&key_error, group);
|
||||||
|
|
||||||
gchar *key_char = g_key_file_get_string (keyfile, group.c_str(), CSV_ACCOUNT, &key_error);
|
gchar *key_char = g_key_file_get_string (keyfile, group.c_str(), CSV_ACCOUNT_GUID, &key_error);
|
||||||
if (key_char && *key_char != '\0')
|
if (key_char && *key_char != '\0')
|
||||||
m_base_account = gnc_account_lookup_by_full_name (gnc_get_current_root_account(), key_char);
|
{
|
||||||
|
QofBook* book = gnc_get_current_book ();
|
||||||
|
GncGUID guid;
|
||||||
|
|
||||||
|
if (string_to_guid (key_char, &guid)) // find account by guid first
|
||||||
|
m_base_account = xaccAccountLookup (&guid, book);
|
||||||
|
}
|
||||||
|
m_load_error |= handle_load_error (&key_error, group);
|
||||||
|
if (key_char)
|
||||||
|
g_free (key_char);
|
||||||
|
|
||||||
|
key_char = g_key_file_get_string (keyfile, group.c_str(), CSV_ACCOUNT, &key_error);
|
||||||
|
if (key_char && *key_char != '\0')
|
||||||
|
{
|
||||||
|
if (m_base_account == nullptr)
|
||||||
|
{
|
||||||
|
m_base_account = gnc_account_lookup_by_full_name (gnc_get_current_root_account(), key_char);
|
||||||
|
|
||||||
|
if (m_base_account) // save the account as guid, introduced in version 4.5
|
||||||
|
{
|
||||||
|
gchar acct_guid[GUID_ENCODING_LENGTH + 1];
|
||||||
|
guid_to_string_buff (xaccAccountGetGUID (m_base_account), acct_guid);
|
||||||
|
g_key_file_set_string (keyfile, group.c_str(), CSV_ACCOUNT_GUID, acct_guid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // check to see if saved full name is the same and save if not
|
||||||
|
{
|
||||||
|
gchar *full_name = gnc_account_get_full_name (m_base_account);
|
||||||
|
|
||||||
|
if (g_strcmp0 (key_char, full_name) != 0)
|
||||||
|
g_key_file_set_string (keyfile, group.c_str(), CSV_ACCOUNT, full_name);
|
||||||
|
g_free (full_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
m_load_error |= handle_load_error (&key_error, group);
|
m_load_error |= handle_load_error (&key_error, group);
|
||||||
if (key_char)
|
if (key_char)
|
||||||
g_free (key_char);
|
g_free (key_char);
|
||||||
@ -240,8 +274,16 @@ CsvTransImpSettings::save (void)
|
|||||||
|
|
||||||
g_key_file_set_boolean (keyfile, group.c_str(), CSV_MULTI_SPLIT, m_multi_split);
|
g_key_file_set_boolean (keyfile, group.c_str(), CSV_MULTI_SPLIT, m_multi_split);
|
||||||
|
|
||||||
if (m_base_account)
|
if (m_base_account) // also save account guid introduced in version 4.5
|
||||||
g_key_file_set_string (keyfile, group.c_str(), CSV_ACCOUNT, gnc_account_get_full_name(m_base_account));
|
{
|
||||||
|
gchar acct_guid[GUID_ENCODING_LENGTH + 1];
|
||||||
|
guid_to_string_buff (xaccAccountGetGUID (m_base_account), acct_guid);
|
||||||
|
g_key_file_set_string (keyfile, group.c_str(), CSV_ACCOUNT_GUID, acct_guid);
|
||||||
|
|
||||||
|
gchar *full_name = gnc_account_get_full_name (m_base_account);
|
||||||
|
g_key_file_set_string (keyfile, group.c_str(), CSV_ACCOUNT, full_name);
|
||||||
|
g_free (full_name);
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<const char*> col_types_str;
|
std::vector<const char*> col_types_str;
|
||||||
for (auto col_type : m_column_types)
|
for (auto col_type : m_column_types)
|
||||||
|
@ -668,7 +668,7 @@ void GncTxImport::create_transaction (std::vector<parse_line_t>::iterator& parse
|
|||||||
{
|
{
|
||||||
// Oops - the user didn't select an Account column *and* we didn't get a default value either!
|
// Oops - the user didn't select an Account column *and* we didn't get a default value either!
|
||||||
// Note if you get here this suggests a bug in the code!
|
// Note if you get here this suggests a bug in the code!
|
||||||
error_message = _("No account column selected and no default account specified either.\n"
|
error_message = _("No account column selected and no base account specified either.\n"
|
||||||
"This should never happen. Please report this as a bug.");
|
"This should never happen. Please report this as a bug.");
|
||||||
PINFO("User warning: %s", error_message.c_str());
|
PINFO("User warning: %s", error_message.c_str());
|
||||||
throw std::invalid_argument(error_message);
|
throw std::invalid_argument(error_message);
|
||||||
|
@ -393,7 +393,6 @@ static void
|
|||||||
resolve_conflicts (GNCImportMainMatcher *info)
|
resolve_conflicts (GNCImportMainMatcher *info)
|
||||||
{
|
{
|
||||||
GtkTreeModel* model = gtk_tree_view_get_model (info->view);
|
GtkTreeModel* model = gtk_tree_view_get_model (info->view);
|
||||||
GtkListStore* store = GTK_LIST_STORE(model);
|
|
||||||
GtkTreeIter import_iter, best_import;
|
GtkTreeIter import_iter, best_import;
|
||||||
gint best_match = 0;
|
gint best_match = 0;
|
||||||
|
|
||||||
|
@ -916,7 +916,9 @@ popup_get_height (G_GNUC_UNUSED GtkWidget* widget,
|
|||||||
{
|
{
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
|
||||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
|
||||||
return height;
|
// if the list is empty height would be 0 so return 1 instead to
|
||||||
|
// satisfy the check_popup_height_is_true function
|
||||||
|
return height ? height : 1;
|
||||||
}
|
}
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
|
||||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||||
@ -973,6 +975,7 @@ gnc_combo_cell_enter (BasicCell* bcell,
|
|||||||
{
|
{
|
||||||
ComboCell* cell = (ComboCell*) bcell;
|
ComboCell* cell = (ComboCell*) bcell;
|
||||||
PopBox* box = bcell->gui_private;
|
PopBox* box = bcell->gui_private;
|
||||||
|
PopupToggle popup_toggle;
|
||||||
GList* find = NULL;
|
GList* find = NULL;
|
||||||
|
|
||||||
if (bcell->value)
|
if (bcell->value)
|
||||||
@ -999,6 +1002,12 @@ gnc_combo_cell_enter (BasicCell* bcell,
|
|||||||
gnc_item_list_select (box->item_list, bcell->value);
|
gnc_item_list_select (box->item_list, bcell->value);
|
||||||
unblock_list_signals (cell);
|
unblock_list_signals (cell);
|
||||||
|
|
||||||
|
popup_toggle = box->item_edit->popup_toggle;
|
||||||
|
|
||||||
|
// if the list is empty disable the toggle button
|
||||||
|
gtk_widget_set_sensitive (GTK_WIDGET(popup_toggle.tbutton),
|
||||||
|
gnc_item_list_num_entries (box->item_list));
|
||||||
|
|
||||||
combo_connect_signals (cell);
|
combo_connect_signals (cell);
|
||||||
|
|
||||||
*cursor_position = -1;
|
*cursor_position = -1;
|
||||||
|
@ -120,15 +120,6 @@
|
|||||||
;; accounts displayed. this is merely a convenience. the
|
;; accounts displayed. this is merely a convenience. the
|
||||||
;; default initial-indent is 0.
|
;; default initial-indent is 0.
|
||||||
;;
|
;;
|
||||||
;; account-less-p: binary_predicate #t #f
|
|
||||||
;;
|
|
||||||
;; used for sorting accounts, below each parent account, into
|
|
||||||
;; the order in which they will be displayed. the function
|
|
||||||
;; must take two Account arguments and represent a total
|
|
||||||
;; ordering on Account-space. #t means to use the default
|
|
||||||
;; sorting function. #f means to perform no sorting. the
|
|
||||||
;; default sorting function is gnc:account-code-less-p.
|
|
||||||
;;
|
|
||||||
;; start-date: time64
|
;; start-date: time64
|
||||||
;;
|
;;
|
||||||
;; the starting date of the reporting period over which to
|
;; the starting date of the reporting period over which to
|
||||||
@ -189,17 +180,6 @@
|
|||||||
;; count on meaningful report-comm-{account|recursive}-bal
|
;; count on meaningful report-comm-{account|recursive}-bal
|
||||||
;; values (they'll also be #f).]
|
;; values (they'll also be #f).]
|
||||||
;;
|
;;
|
||||||
;; column-header: html-table-header-cell #f #t
|
|
||||||
;;
|
|
||||||
;; the table column header cell (TH tag) with which to head
|
|
||||||
;; the columns containing the account tree. if supplied, the
|
|
||||||
;; header cell may contain style information. if #f, no
|
|
||||||
;; column header cell will be used. if #t, a default header
|
|
||||||
;; cell (reading "Account") will be used. the colspan of any
|
|
||||||
;; header cell will be automatically set appropriately. this
|
|
||||||
;; is for convenience only; gnc:html-acct-table does not use
|
|
||||||
;; this data.
|
|
||||||
;;
|
|
||||||
;; account-label-mode: 'name 'anchor
|
;; account-label-mode: 'name 'anchor
|
||||||
;;
|
;;
|
||||||
;; tells whether to render account labels as hyperlinks or
|
;; tells whether to render account labels as hyperlinks or
|
||||||
@ -278,12 +258,6 @@
|
|||||||
;; the name of the account is "Assets:Current Assets:Cash",
|
;; the name of the account is "Assets:Current Assets:Cash",
|
||||||
;; the value will be "Assets:Current Assets:Cash".
|
;; the value will be "Assets:Current Assets:Cash".
|
||||||
;;
|
;;
|
||||||
;; account-name: string
|
|
||||||
;;
|
|
||||||
;; the "basename" of the account in the current row. i.e., if
|
|
||||||
;; the name of the account is "Assets:Current Assets:Cash",
|
|
||||||
;; the value will be "Cash".
|
|
||||||
;;
|
|
||||||
;; account-code: string
|
;; account-code: string
|
||||||
;;
|
;;
|
||||||
;; the account of the account in the current row, as returned
|
;; the account of the account in the current row, as returned
|
||||||
@ -310,14 +284,6 @@
|
|||||||
;; unlike in gnc:html-build-acct-table, the first level of
|
;; unlike in gnc:html-build-acct-table, the first level of
|
||||||
;; accounts is level 0.
|
;; accounts is level 0.
|
||||||
;;
|
;;
|
||||||
;; logical-depth: integer
|
|
||||||
;;
|
|
||||||
;; the depth at which the account in the current row resides
|
|
||||||
;; in the effective account tree. this is the depth the
|
|
||||||
;; account tree when ignoring unselected parent accounts.
|
|
||||||
;; note that this may differ from account-depth when a
|
|
||||||
;; selected account has an unselected ancestor.
|
|
||||||
;;
|
|
||||||
;; display-depth: integer
|
;; display-depth: integer
|
||||||
;;
|
;;
|
||||||
;; the depth at which the account in the current row resides
|
;; the depth at which the account in the current row resides
|
||||||
@ -339,13 +305,6 @@
|
|||||||
;;
|
;;
|
||||||
;; the number of columns in which account labels were placed.
|
;; the number of columns in which account labels were placed.
|
||||||
;;
|
;;
|
||||||
;; label-cols: integer
|
|
||||||
;;
|
|
||||||
;; the number of columns in the group of account columns to
|
|
||||||
;; which a row was assigned. also one more than the maximum
|
|
||||||
;; column depth at which rows were positioned in the
|
|
||||||
;; table.
|
|
||||||
;;
|
|
||||||
;; account-cols: integer
|
;; account-cols: integer
|
||||||
;;
|
;;
|
||||||
;; the number of columns in the group of account columns. if
|
;; the number of columns in the group of account columns. if
|
||||||
@ -547,9 +506,11 @@
|
|||||||
|
|
||||||
;; some useful predicates to export
|
;; some useful predicates to export
|
||||||
(define (gnc:account-code-less-p a b)
|
(define (gnc:account-code-less-p a b)
|
||||||
|
(issue-deprecation-warning "gnc:account-code-less-p is unused.")
|
||||||
(gnc:string-locale<? (xaccAccountGetCode a)
|
(gnc:string-locale<? (xaccAccountGetCode a)
|
||||||
(xaccAccountGetCode b)))
|
(xaccAccountGetCode b)))
|
||||||
(define (gnc:account-name-less-p a b)
|
(define (gnc:account-name-less-p a b)
|
||||||
|
(issue-deprecation-warning "gnc:account-name-less-p is unused.")
|
||||||
(gnc:string-locale<? (xaccAccountGetName a)
|
(gnc:string-locale<? (xaccAccountGetName a)
|
||||||
(xaccAccountGetName b)))
|
(xaccAccountGetName b)))
|
||||||
(define (gnc:account-path-less-p a b)
|
(define (gnc:account-path-less-p a b)
|
||||||
@ -588,8 +549,6 @@
|
|||||||
(and (number? lim) lim)))
|
(and (number? lim) lim)))
|
||||||
(limit-behavior (or (get-val env 'depth-limit-behavior) 'summarize))
|
(limit-behavior (or (get-val env 'depth-limit-behavior) 'summarize))
|
||||||
(indent (or (get-val env 'initial-indent) 0))
|
(indent (or (get-val env 'initial-indent) 0))
|
||||||
(less-p (let ((pred (get-val env 'account-less-p)))
|
|
||||||
(if (eq? pred #t) gnc:account-code-less-p pred)))
|
|
||||||
(start-date (get-val env 'start-date))
|
(start-date (get-val env 'start-date))
|
||||||
(end-date (or (get-val env 'end-date)
|
(end-date (or (get-val env 'end-date)
|
||||||
(gnc:get-today)))
|
(gnc:get-today)))
|
||||||
@ -599,13 +558,8 @@
|
|||||||
;; someone was thinking price-source?
|
;; someone was thinking price-source?
|
||||||
(exchange-fn (get-val env 'exchange-fn))
|
(exchange-fn (get-val env 'exchange-fn))
|
||||||
(get-balance-fn (get-val env 'get-balance-fn))
|
(get-balance-fn (get-val env 'get-balance-fn))
|
||||||
(column-header (let ((cell (get-val env 'column-header)))
|
|
||||||
(if (eq? cell #t)
|
|
||||||
(gnc:make-html-table-cell "Account name")
|
|
||||||
cell)))
|
|
||||||
(subtotal-mode (get-val env 'parent-account-subtotal-mode))
|
(subtotal-mode (get-val env 'parent-account-subtotal-mode))
|
||||||
(zero-mode (let ((mode (get-val env 'zero-balance-mode)))
|
(zero-mode (get-val env 'zero-balance-mode))
|
||||||
(if (boolean? mode) 'show-leaf-acct mode)))
|
|
||||||
(label-mode (or (get-val env 'account-label-mode) 'anchor))
|
(label-mode (or (get-val env 'account-label-mode) 'anchor))
|
||||||
(balance-mode (or (get-val env 'balance-mode) 'post-closing))
|
(balance-mode (or (get-val env 'balance-mode) 'post-closing))
|
||||||
(closing-pattern (or (get-val env 'closing-pattern)
|
(closing-pattern (or (get-val env 'closing-pattern)
|
||||||
@ -697,7 +651,7 @@
|
|||||||
(gnc:accounts-and-all-descendants (list account)))
|
(gnc:accounts-and-all-descendants (list account)))
|
||||||
this-collector))
|
this-collector))
|
||||||
|
|
||||||
(let lp ((accounts (if less-p (sort accts less-p) accts))
|
(let lp ((accounts accts)
|
||||||
(row-added? #f)
|
(row-added? #f)
|
||||||
(disp-depth (if (integer? depth-limit)
|
(disp-depth (if (integer? depth-limit)
|
||||||
(min (1- depth-limit) logi-depth)
|
(min (1- depth-limit) logi-depth)
|
||||||
@ -727,7 +681,6 @@
|
|||||||
(cons*
|
(cons*
|
||||||
(list 'initial-indent indent)
|
(list 'initial-indent indent)
|
||||||
(list 'account acct)
|
(list 'account acct)
|
||||||
(list 'account-name (xaccAccountGetName acct))
|
|
||||||
(list 'account-code (xaccAccountGetCode acct))
|
(list 'account-code (xaccAccountGetCode acct))
|
||||||
(list 'account-type (xaccAccountGetType acct))
|
(list 'account-type (xaccAccountGetType acct))
|
||||||
(list 'account-type-string (xaccAccountGetTypeStr
|
(list 'account-type-string (xaccAccountGetTypeStr
|
||||||
@ -995,13 +948,10 @@
|
|||||||
(acct (get-val env 'account))
|
(acct (get-val env 'account))
|
||||||
(children (get-val env 'account-children))
|
(children (get-val env 'account-children))
|
||||||
(label (get-val env 'account-label))
|
(label (get-val env 'account-label))
|
||||||
(acct-name (get-val env 'account-name)) ;; for diagnostics...
|
|
||||||
(report-commodity (get-val env 'report-commodity))
|
(report-commodity (get-val env 'report-commodity))
|
||||||
(exchange-fn (get-val env 'exchange-fn))
|
(exchange-fn (get-val env 'exchange-fn))
|
||||||
(account-cols (get-val env 'account-cols))
|
(account-cols (get-val env 'account-cols))
|
||||||
(logical-cols (get-val env 'logical-cols))
|
(logical-cols (get-val env 'logical-cols))
|
||||||
(label-cols (get-val env 'label-cols))
|
|
||||||
(logical-depth (get-val env 'logical-depth))
|
|
||||||
(display-depth (get-val env 'display-depth))
|
(display-depth (get-val env 'display-depth))
|
||||||
(display-tree-depth (get-val env 'display-tree-depth))
|
(display-tree-depth (get-val env 'display-tree-depth))
|
||||||
(subtotal-mode (get-val env 'subtotal-mode))
|
(subtotal-mode (get-val env 'subtotal-mode))
|
||||||
@ -1029,10 +979,7 @@
|
|||||||
((not (null? children)) parent-acct-bal-mode)
|
((not (null? children)) parent-acct-bal-mode)
|
||||||
(else 'immediate-bal)))
|
(else 'immediate-bal)))
|
||||||
|
|
||||||
(zero-mode (let ((mode (get-val env 'zero-balance-display-mode)))
|
(zero-mode (get-val env 'zero-balance-display-mode))
|
||||||
(if (boolean? mode)
|
|
||||||
'show-balance
|
|
||||||
mode)))
|
|
||||||
|
|
||||||
(amt (and-let* ((bal-syms '((immediate-bal . account-bal)
|
(amt (and-let* ((bal-syms '((immediate-bal . account-bal)
|
||||||
(recursive-bal . recursive-bal)
|
(recursive-bal . recursive-bal)
|
||||||
|
@ -357,7 +357,7 @@ function tooltipLabel(tooltipItem,data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function tooltipTitle(array,data) {
|
function tooltipTitle(array,data) {
|
||||||
return chartjsoptions.data.labels[array[0].index]; }
|
return data.labels[array[0].index]; }
|
||||||
|
|
||||||
// draw the background color
|
// draw the background color
|
||||||
Chart.pluginService.register({
|
Chart.pluginService.register({
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
(use-modules (ice-9 match))
|
(use-modules (ice-9 match))
|
||||||
(use-modules (srfi srfi-1))
|
(use-modules (srfi srfi-1))
|
||||||
(use-modules (srfi srfi-9))
|
(use-modules (srfi srfi-9))
|
||||||
|
(use-modules (srfi srfi-26))
|
||||||
(use-modules (gnucash report report-register-hooks))
|
(use-modules (gnucash report report-register-hooks))
|
||||||
(use-modules (gnucash report html-style-sheet))
|
(use-modules (gnucash report html-style-sheet))
|
||||||
(use-modules (gnucash report html-document))
|
(use-modules (gnucash report html-document))
|
||||||
@ -781,6 +782,17 @@ not found.")))
|
|||||||
;; gnucash-cli helper and exported functions
|
;; gnucash-cli helper and exported functions
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
(define (show-selected-reports pred? port)
|
||||||
|
(for-each
|
||||||
|
(lambda (template)
|
||||||
|
(format port "* ~a ~a\n"
|
||||||
|
(if (gnc:report-template-parent-type template) "C" " ")
|
||||||
|
(gnc:report-template-name template)))
|
||||||
|
(sort (hash-fold (lambda (k v p) (if (pred? v) (cons v p) p)) '()
|
||||||
|
*gnc:_report-templates_*)
|
||||||
|
(lambda (a b) (gnc:string-locale<? (gnc:report-template-name a)
|
||||||
|
(gnc:report-template-name b))))))
|
||||||
|
|
||||||
(define (stderr-log tmpl . args)
|
(define (stderr-log tmpl . args)
|
||||||
(apply format (current-error-port) tmpl args)
|
(apply format (current-error-port) tmpl args)
|
||||||
#f)
|
#f)
|
||||||
@ -795,7 +807,11 @@ not found.")))
|
|||||||
(export-types (gnc:report-template-export-types template)))
|
(export-types (gnc:report-template-export-types template)))
|
||||||
|
|
||||||
(cond
|
(cond
|
||||||
((not export-thunk) (stderr-log "Report ~s has no export code\n" report))
|
((not export-thunk)
|
||||||
|
(stderr-log "Only the following reports have export code:\n")
|
||||||
|
(show-selected-reports (cut gnc:report-template-export-thunk <>)
|
||||||
|
(current-error-port))
|
||||||
|
(stderr-log "Use -R show to describe report\n"))
|
||||||
((not export-types) (stderr-log "Report ~s has no export-types\n" report))
|
((not export-types) (stderr-log "Report ~s has no export-types\n" report))
|
||||||
((not (assoc export-type export-types))
|
((not (assoc export-type export-types))
|
||||||
(stderr-log "Export-type disallowed: ~a. Allowed types: ~a\n"
|
(stderr-log "Export-type disallowed: ~a. Allowed types: ~a\n"
|
||||||
@ -816,17 +832,7 @@ not found.")))
|
|||||||
'() *gnc:_report-templates_*)))
|
'() *gnc:_report-templates_*)))
|
||||||
|
|
||||||
(define-public (gnc:cmdline-report-list port)
|
(define-public (gnc:cmdline-report-list port)
|
||||||
(for-each
|
(show-selected-reports gnc:report-template-in-menu? port))
|
||||||
(lambda (template)
|
|
||||||
(format port "* ~a ~a\n"
|
|
||||||
(if (gnc:report-template-parent-type template) "C" " ")
|
|
||||||
(gnc:report-template-name template)))
|
|
||||||
(sort (hash-fold
|
|
||||||
(lambda (k v p) (if (gnc:report-template-in-menu? v) (cons v p) p))
|
|
||||||
'() *gnc:_report-templates_*)
|
|
||||||
(lambda (a b)
|
|
||||||
(gnc:string-locale<? (gnc:report-template-name a)
|
|
||||||
(gnc:report-template-name b))))))
|
|
||||||
|
|
||||||
(define-public (gnc:cmdline-report-show report port)
|
(define-public (gnc:cmdline-report-show report port)
|
||||||
(let ((templates (reportname->templates report)))
|
(let ((templates (reportname->templates report)))
|
||||||
|
@ -456,8 +456,7 @@
|
|||||||
(define (generate-tax-or-txf report-name
|
(define (generate-tax-or-txf report-name
|
||||||
report-description
|
report-description
|
||||||
report-obj
|
report-obj
|
||||||
tax-mode?
|
tax-mode?)
|
||||||
file-name)
|
|
||||||
|
|
||||||
(define (get-option pagename optname)
|
(define (get-option pagename optname)
|
||||||
(gnc:option-value
|
(gnc:option-value
|
||||||
@ -861,14 +860,12 @@ Gehen Sie zu Bearbeiten -> Optionen Steuerbericht, um Konten entsprechend einzur
|
|||||||
(G_ "This report shows your Taxable Income and \
|
(G_ "This report shows your Taxable Income and \
|
||||||
Deductible Expenses.")
|
Deductible Expenses.")
|
||||||
report-obj
|
report-obj
|
||||||
#t
|
#t))
|
||||||
#f))
|
|
||||||
'export-types (list (cons (G_ "XML") 'txf))
|
'export-types (list (cons (G_ "XML") 'txf))
|
||||||
'export-thunk (lambda (report-obj choice file-name)
|
'export-thunk (lambda (report-obj choice)
|
||||||
(generate-tax-or-txf
|
(generate-tax-or-txf
|
||||||
(G_ "Taxable Income / Deductible Expenses")
|
(G_ "Taxable Income / Deductible Expenses")
|
||||||
(G_ "This page shows your Taxable Income and \
|
(G_ "This page shows your Taxable Income and \
|
||||||
Deductible Expenses.")
|
Deductible Expenses.")
|
||||||
report-obj
|
report-obj
|
||||||
#f
|
#f)))
|
||||||
file-name)))
|
|
||||||
|
@ -1663,8 +1663,7 @@
|
|||||||
(define (generate-tax-schedule report-name
|
(define (generate-tax-schedule report-name
|
||||||
report-description
|
report-description
|
||||||
report-obj
|
report-obj
|
||||||
tax-mode?
|
tax-mode?)
|
||||||
file-name)
|
|
||||||
|
|
||||||
(define (get-option pagename optname)
|
(define (get-option pagename optname)
|
||||||
(gnc:option-value
|
(gnc:option-value
|
||||||
@ -3342,14 +3341,12 @@
|
|||||||
(G_ "This report shows transaction detail for your accounts \
|
(G_ "This report shows transaction detail for your accounts \
|
||||||
related to Income Taxes.")
|
related to Income Taxes.")
|
||||||
report-obj
|
report-obj
|
||||||
#t
|
#t))
|
||||||
#f))
|
|
||||||
'export-types (list (cons "TXF" 'txf))
|
'export-types (list (cons "TXF" 'txf))
|
||||||
'export-thunk (lambda (report-obj choice file-name)
|
'export-thunk (lambda* (report-obj choice)
|
||||||
(generate-tax-schedule
|
(generate-tax-schedule
|
||||||
(G_ "Taxable Income/Deductible Expenses")
|
(G_ "Taxable Income/Deductible Expenses")
|
||||||
(G_ "This page shows transaction detail for relevant \
|
(G_ "This page shows transaction detail for relevant \
|
||||||
Income Tax accounts.")
|
Income Tax accounts.")
|
||||||
report-obj
|
report-obj
|
||||||
#f
|
#f)))
|
||||||
file-name)))
|
|
||||||
|
@ -692,7 +692,7 @@ developing over time"))
|
|||||||
'menu-tip menutip
|
'menu-tip menutip
|
||||||
'options-generator (lambda () (options-generator account-types inc-exp?))
|
'options-generator (lambda () (options-generator account-types inc-exp?))
|
||||||
'export-types '(("CSV" . csv))
|
'export-types '(("CSV" . csv))
|
||||||
'export-thunk (lambda (report-obj export-type filename)
|
'export-thunk (lambda (report-obj export-type)
|
||||||
(category-barchart-renderer
|
(category-barchart-renderer
|
||||||
report-obj reportname uuid account-types inc-exp? reverse-bal?
|
report-obj reportname uuid account-types inc-exp? reverse-bal?
|
||||||
export-type))
|
export-type))
|
||||||
|
@ -154,7 +154,7 @@ for taxes paid on expenses, and type LIABILITY for taxes collected on sales.")
|
|||||||
(gnc:register-option
|
(gnc:register-option
|
||||||
options
|
options
|
||||||
(gnc:make-multichoice-callback-option
|
(gnc:make-multichoice-callback-option
|
||||||
pagename-format (N_ "Report format")
|
pagename-format (N_ "Report Format")
|
||||||
"a" (G_ "Report Format") 'default
|
"a" (G_ "Report Format") 'default
|
||||||
(list (vector 'default
|
(list (vector 'default
|
||||||
(G_ "Default Format")
|
(G_ "Default Format")
|
||||||
|
@ -487,7 +487,7 @@
|
|||||||
'options-generator (lambda () (options-generator #f #f))
|
'options-generator (lambda () (options-generator #f #f))
|
||||||
'renderer (lambda (report-obj) (net-renderer report-obj #f #f #f))
|
'renderer (lambda (report-obj) (net-renderer report-obj #f #f #f))
|
||||||
'export-types '(("CSV" . csv))
|
'export-types '(("CSV" . csv))
|
||||||
'export-thunk (lambda (report-obj export-type filename)
|
'export-thunk (lambda (report-obj export-type)
|
||||||
(net-renderer report-obj #f #f export-type)))
|
(net-renderer report-obj #f #f export-type)))
|
||||||
|
|
||||||
(gnc:define-report
|
(gnc:define-report
|
||||||
@ -499,7 +499,7 @@
|
|||||||
'options-generator (lambda () (options-generator #t #f))
|
'options-generator (lambda () (options-generator #t #f))
|
||||||
'renderer (lambda (report-obj) (net-renderer report-obj #t #f #f))
|
'renderer (lambda (report-obj) (net-renderer report-obj #t #f #f))
|
||||||
'export-types '(("CSV" . csv))
|
'export-types '(("CSV" . csv))
|
||||||
'export-thunk (lambda (report-obj export-type filename)
|
'export-thunk (lambda (report-obj export-type)
|
||||||
(net-renderer report-obj #t #f export-type)))
|
(net-renderer report-obj #t #f export-type)))
|
||||||
|
|
||||||
(gnc:define-report
|
(gnc:define-report
|
||||||
@ -510,7 +510,7 @@
|
|||||||
'options-generator (lambda () (options-generator #f #t))
|
'options-generator (lambda () (options-generator #f #t))
|
||||||
'renderer (lambda (report-obj) (net-renderer report-obj #f #t #f))
|
'renderer (lambda (report-obj) (net-renderer report-obj #f #t #f))
|
||||||
'export-types '(("CSV" . csv))
|
'export-types '(("CSV" . csv))
|
||||||
'export-thunk (lambda (report-obj export-type filename)
|
'export-thunk (lambda (report-obj export-type)
|
||||||
(net-renderer report-obj #f #t export-type)))
|
(net-renderer report-obj #f #t export-type)))
|
||||||
|
|
||||||
;; Not sure if a line chart makes sense for Income & Expense
|
;; Not sure if a line chart makes sense for Income & Expense
|
||||||
@ -524,5 +524,5 @@
|
|||||||
'options-generator (lambda () (options-generator #t #t))
|
'options-generator (lambda () (options-generator #t #t))
|
||||||
'renderer (lambda (report-obj) (net-renderer report-obj #t #t #f))
|
'renderer (lambda (report-obj) (net-renderer report-obj #t #t #f))
|
||||||
'export-types '(("CSV" . csv))
|
'export-types '(("CSV" . csv))
|
||||||
'export-thunk (lambda (report-obj export-type filename)
|
'export-thunk (lambda (report-obj export-type)
|
||||||
(net-renderer report-obj #t #t export-type)))
|
(net-renderer report-obj #t #t export-type)))
|
||||||
|
@ -860,14 +860,4 @@ HTML Document Title</title></head><body></body>\n\
|
|||||||
"Income" "Income-GBP" "Expenses" "Equity")
|
"Income" "Income-GBP" "Expenses" "Equity")
|
||||||
(sxml->table-row-col sxml 1 #f 1))))
|
(sxml->table-row-col sxml 1 #f 1))))
|
||||||
|
|
||||||
(let* ((table (gnc:make-html-table))
|
))
|
||||||
(acct-table (gnc:make-html-acct-table/env/accts
|
|
||||||
'((balance-mode pre-adjusting)
|
|
||||||
(display-tree-depth 9))
|
|
||||||
accounts)))
|
|
||||||
(gnc:html-table-add-account-balances table acct-table '())
|
|
||||||
(let ((sxml (table->sxml table "basic - combo 3")))
|
|
||||||
(test-equal "gnc:make-html-acct-table/env/accts combo 3"
|
|
||||||
'("Root" "Asset" "Bank" "GBP Bank" "Wallet" "Liabilities"
|
|
||||||
"Income" "Income-GBP" "Expenses" "Equity")
|
|
||||||
(sxml->table-row-col sxml 1 #f 1))))))
|
|
||||||
|
@ -155,7 +155,7 @@
|
|||||||
'report-guid test-uuid
|
'report-guid test-uuid
|
||||||
'options-generator gnc:new-options
|
'options-generator gnc:new-options
|
||||||
'export-types (list (cons "text" 'txt))
|
'export-types (list (cons "text" 'txt))
|
||||||
'export-thunk (lambda (report-obj export-type file-name)
|
'export-thunk (lambda (report-obj export-type)
|
||||||
"exported-string")
|
"exported-string")
|
||||||
'renderer (lambda (obj)
|
'renderer (lambda (obj)
|
||||||
(let ((options (gnc:report-options obj)))
|
(let ((options (gnc:report-options obj)))
|
||||||
@ -172,7 +172,7 @@
|
|||||||
(gnc:report-export-types report))
|
(gnc:report-export-types report))
|
||||||
(test-equal "gnc:report-export-thunk"
|
(test-equal "gnc:report-export-thunk"
|
||||||
"exported-string"
|
"exported-string"
|
||||||
((gnc:report-export-thunk report) report 'csv "/tmp/file.txt"))
|
((gnc:report-export-thunk report) report 'csv))
|
||||||
(test-equal "gnc:report-menu-name"
|
(test-equal "gnc:report-menu-name"
|
||||||
"basic report"
|
"basic report"
|
||||||
(gnc:report-menu-name report))
|
(gnc:report-menu-name report))
|
||||||
|
@ -116,7 +116,7 @@
|
|||||||
(N_ "Transaction Filter excludes matched strings"))
|
(N_ "Transaction Filter excludes matched strings"))
|
||||||
(define optname-transaction-matcher-caseinsensitive
|
(define optname-transaction-matcher-caseinsensitive
|
||||||
(N_ "Transaction Filter is case insensitive"))
|
(N_ "Transaction Filter is case insensitive"))
|
||||||
(define optname-reconcile-status (N_ "Reconcile Status"))
|
(define optname-reconcile-status (N_ "Reconciled Status"))
|
||||||
(define optname-void-transactions (N_ "Void Transactions"))
|
(define optname-void-transactions (N_ "Void Transactions"))
|
||||||
(define optname-closing-transactions (N_ "Closing transactions"))
|
(define optname-closing-transactions (N_ "Closing transactions"))
|
||||||
|
|
||||||
|
@ -1824,6 +1824,7 @@ the option '~a'."))
|
|||||||
("Common Currency" "Currency" "Common Currency")
|
("Common Currency" "Currency" "Common Currency")
|
||||||
("Show original currency amount" "Currency" "Show original currency amount")
|
("Show original currency amount" "Currency" "Show original currency amount")
|
||||||
("Report's currency" "Currency" "Report's currency")
|
("Report's currency" "Currency" "Report's currency")
|
||||||
|
("Reconcile Status" #f "Reconciled Status")
|
||||||
;; new-owner-report.scm, renamed Oct 2020 to differentiate with
|
;; new-owner-report.scm, renamed Oct 2020 to differentiate with
|
||||||
;; Document Links:
|
;; Document Links:
|
||||||
("Links" #f "Transaction Links")
|
("Links" #f "Transaction Links")
|
||||||
@ -1831,6 +1832,7 @@ the option '~a'."))
|
|||||||
("Individual Taxes" #f "Use Detailed Tax Summary")
|
("Individual Taxes" #f "Use Detailed Tax Summary")
|
||||||
;; income-gst-statement.scm
|
;; income-gst-statement.scm
|
||||||
("default format" #f "Default Format")
|
("default format" #f "Default Format")
|
||||||
|
("Report format" #f "Report Format")
|
||||||
))
|
))
|
||||||
|
|
||||||
(define (lookup-option section name)
|
(define (lookup-option section name)
|
||||||
|
@ -23,10 +23,11 @@
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
#include <kvp-frame.hpp>
|
#include <kvp-frame.hpp>
|
||||||
#include <gmp.h>
|
#include <gmp.h>
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
#include <unittest-support.h>
|
#include <unittest-support.h>
|
||||||
#include <qofbookslots.h>
|
#include <qofbookslots.h>
|
||||||
#include "test-engine-stuff.h"
|
#include "test-engine-stuff.h"
|
||||||
|
@ -18,6 +18,9 @@
|
|||||||
* *
|
* *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
#include <glib/gprintf.h>
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@ -30,9 +33,6 @@ extern "C"
|
|||||||
#include <unittest-support.h>
|
#include <unittest-support.h>
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <glib/gprintf.h>
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_num_print_info (gnc_numeric n, GNCPrintAmountInfo print_info, int line)
|
test_num_print_info (gnc_numeric n, GNCPrintAmountInfo print_info, int line)
|
||||||
{
|
{
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
* *
|
* *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glib.h>
|
||||||
#include <libguile.h>
|
#include <libguile.h>
|
||||||
|
#include "guile-mappings.h"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include <config.h>
|
|
||||||
#include <glib.h>
|
|
||||||
#include "guile-mappings.h"
|
|
||||||
|
|
||||||
#include "gnc-engine-guile.h"
|
#include "gnc-engine-guile.h"
|
||||||
#include "test-engine-stuff.h"
|
#include "test-engine-stuff.h"
|
||||||
|
@ -18,14 +18,13 @@
|
|||||||
* *
|
* *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glib.h>
|
||||||
|
#include "guile-mappings.h"
|
||||||
#include <libguile.h>
|
#include <libguile.h>
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include <config.h>
|
|
||||||
#include <glib.h>
|
|
||||||
#include "guile-mappings.h"
|
|
||||||
|
|
||||||
#include "gnc-engine-guile.h"
|
#include "gnc-engine-guile.h"
|
||||||
#include "gnc-guile-utils.h"
|
#include "gnc-guile-utils.h"
|
||||||
#include "test-engine-stuff.h"
|
#include "test-engine-stuff.h"
|
||||||
|
@ -18,11 +18,12 @@
|
|||||||
* *
|
* *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include <config.h>
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <glib.h>
|
|
||||||
#include "SX-book.h"
|
#include "SX-book.h"
|
||||||
#include "gnc-date.h"
|
#include "gnc-date.h"
|
||||||
#include "gnc-sx-instance-model.h"
|
#include "gnc-sx-instance-model.h"
|
||||||
|
@ -88,6 +88,11 @@ GncSqlBackend::GncSqlBackend(GncSqlConnection *conn, QofBook* book) :
|
|||||||
connect (conn);
|
connect (conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GncSqlBackend::~GncSqlBackend()
|
||||||
|
{
|
||||||
|
connect(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
GncSqlBackend::connect(GncSqlConnection *conn) noexcept
|
GncSqlBackend::connect(GncSqlConnection *conn) noexcept
|
||||||
{
|
{
|
||||||
|
@ -66,7 +66,7 @@ class GncSqlBackend : public QofBackend
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GncSqlBackend(GncSqlConnection *conn, QofBook* book);
|
GncSqlBackend(GncSqlConnection *conn, QofBook* book);
|
||||||
virtual ~GncSqlBackend() = default;
|
virtual ~GncSqlBackend();
|
||||||
/**
|
/**
|
||||||
* Load the contents of an SQL database into a book.
|
* Load the contents of an SQL database into a book.
|
||||||
*
|
*
|
||||||
|
@ -275,7 +275,7 @@ test_gnc_sql_commit_edit (void)
|
|||||||
{
|
{
|
||||||
QofInstance* inst;
|
QofInstance* inst;
|
||||||
guint dirty_called = 0;
|
guint dirty_called = 0;
|
||||||
GncMockSqlConnection conn;
|
auto conn{new GncMockSqlConnection};
|
||||||
const char* msg1 =
|
const char* msg1 =
|
||||||
"[GncSqlBackend::commit()] Unknown object type 'null'\n";
|
"[GncSqlBackend::commit()] Unknown object type 'null'\n";
|
||||||
GLogLevelFlags loglevel = static_cast<decltype (loglevel)>
|
GLogLevelFlags loglevel = static_cast<decltype (loglevel)>
|
||||||
@ -293,8 +293,7 @@ test_gnc_sql_commit_edit (void)
|
|||||||
|
|
||||||
qof_object_initialize ();
|
qof_object_initialize ();
|
||||||
auto book = qof_book_new();
|
auto book = qof_book_new();
|
||||||
auto sql_be = new GncMockSqlBackend
|
auto sql_be = new GncMockSqlBackend{conn, book};
|
||||||
(&conn, book);
|
|
||||||
inst = static_cast<decltype (inst)> (g_object_new (QOF_TYPE_INSTANCE, NULL));
|
inst = static_cast<decltype (inst)> (g_object_new (QOF_TYPE_INSTANCE, NULL));
|
||||||
qof_instance_init_data (inst, QOF_ID_NULL, book);
|
qof_instance_init_data (inst, QOF_ID_NULL, book);
|
||||||
qof_book_set_dirty_cb (book, test_dirty_cb, &dirty_called);
|
qof_book_set_dirty_cb (book, test_dirty_cb, &dirty_called);
|
||||||
|
@ -49,6 +49,11 @@ extern "C"
|
|||||||
#define FILE_URI_PREFIX "file://"
|
#define FILE_URI_PREFIX "file://"
|
||||||
static QofLogModule log_module = GNC_MOD_BACKEND;
|
static QofLogModule log_module = GNC_MOD_BACKEND;
|
||||||
|
|
||||||
|
GncXmlBackend::~GncXmlBackend()
|
||||||
|
{
|
||||||
|
session_end();
|
||||||
|
};
|
||||||
|
|
||||||
bool
|
bool
|
||||||
GncXmlBackend::check_path (const char* fullpath, bool create)
|
GncXmlBackend::check_path (const char* fullpath, bool create)
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
GncXmlBackend operator=(const GncXmlBackend&) = delete;
|
GncXmlBackend operator=(const GncXmlBackend&) = delete;
|
||||||
GncXmlBackend(const GncXmlBackend&&) = delete;
|
GncXmlBackend(const GncXmlBackend&&) = delete;
|
||||||
GncXmlBackend operator=(const GncXmlBackend&&) = delete;
|
GncXmlBackend operator=(const GncXmlBackend&&) = delete;
|
||||||
~GncXmlBackend() = default;
|
~GncXmlBackend();
|
||||||
void session_begin(QofSession* session, const char* new_uri,
|
void session_begin(QofSession* session, const char* new_uri,
|
||||||
SessionOpenMode mode) override;
|
SessionOpenMode mode) override;
|
||||||
void session_end() override;
|
void session_end() override;
|
||||||
|
@ -22,10 +22,9 @@ extern "C"
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "test-engine-stuff.h"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include "test-engine-stuff.h"
|
||||||
#include "io-gncxml-v2.h"
|
#include "io-gncxml-v2.h"
|
||||||
#include "test-file-stuff.h"
|
#include "test-file-stuff.h"
|
||||||
#include "test-stuff.h"
|
#include "test-stuff.h"
|
||||||
|
@ -1269,6 +1269,14 @@ gnc_tm_get_day_start (struct tm *tm, time64 time_val)
|
|||||||
gnc_tm_set_day_start(tm);
|
gnc_tm_set_day_start(tm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gnc_tm_set_day_neutral (struct tm *tm)
|
||||||
|
{
|
||||||
|
auto time_val{gnc_dmy2time64_internal(tm->tm_mday, tm->tm_mon + 1,
|
||||||
|
tm->tm_year + 1900, DayPart::neutral)};
|
||||||
|
gnc_localtime_r(&time_val, tm);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gnc_tm_get_day_neutral (struct tm *tm, time64 time_val)
|
gnc_tm_get_day_neutral (struct tm *tm, time64 time_val)
|
||||||
{
|
{
|
||||||
@ -1302,11 +1310,9 @@ time64
|
|||||||
gnc_time64_get_day_neutral (time64 time_val)
|
gnc_time64_get_day_neutral (time64 time_val)
|
||||||
{
|
{
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
time64 new_time;
|
gnc_localtime_r(&time_val, &tm);
|
||||||
|
return gnc_dmy2time64_internal(tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900,
|
||||||
gnc_tm_get_day_neutral(&tm, time_val);
|
DayPart::neutral);
|
||||||
new_time = gnc_mktime(&tm);
|
|
||||||
return new_time;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
time64
|
time64
|
||||||
|
@ -539,18 +539,9 @@ void gnc_tm_set_day_start (struct tm *tm)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** The gnc_tm_set_day_neutral() inline routine will set the appropriate
|
/** The gnc_tm_set_day_neutral() inline routine will set the appropriate
|
||||||
* fields in the struct tm to indicate 10:59am of that day. This
|
* fields in the struct tm to indicate 10:59am of that day.
|
||||||
* routine assumes that the contents of the data structure is already
|
*/
|
||||||
* in normalized form.*/
|
void gnc_tm_set_day_neutral (struct tm *tm);
|
||||||
static inline
|
|
||||||
void gnc_tm_set_day_neutral (struct tm *tm)
|
|
||||||
{
|
|
||||||
/* First second of the day */
|
|
||||||
g_return_if_fail (tm != NULL);
|
|
||||||
tm->tm_hour = 10;
|
|
||||||
tm->tm_min = 59;
|
|
||||||
tm->tm_sec = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** The gnc_tm_set_day_middle() inline routine will set the appropriate
|
/** The gnc_tm_set_day_middle() inline routine will set the appropriate
|
||||||
* fields in the struct tm to indicate noon of that day. This
|
* fields in the struct tm to indicate noon of that day. This
|
||||||
@ -584,7 +575,7 @@ void gnc_tm_set_day_end (struct tm *tm)
|
|||||||
* seconds and adjust it to the first second of that day. */
|
* seconds and adjust it to the first second of that day. */
|
||||||
time64 gnc_time64_get_day_start(time64 time_val);
|
time64 gnc_time64_get_day_start(time64 time_val);
|
||||||
|
|
||||||
/** The gnc_time64_get_day_netural() routine will take the given time in
|
/** The gnc_time64_get_day_neutral() routine will take the given time in
|
||||||
* seconds and adjust it to 10:59am of that day. */
|
* seconds and adjust it to 10:59am of that day. */
|
||||||
time64 gnc_time64_get_day_neutral(time64 time_val);
|
time64 gnc_time64_get_day_neutral(time64 time_val);
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@ static const char* log_module = "gnc.engine";
|
|||||||
|
|
||||||
#define N_(string) string //So that xgettext will find it
|
#define N_(string) string //So that xgettext will find it
|
||||||
|
|
||||||
|
using PTZ = boost::local_time::posix_time_zone;
|
||||||
using Date = boost::gregorian::date;
|
using Date = boost::gregorian::date;
|
||||||
using Month = boost::gregorian::greg_month;
|
using Month = boost::gregorian::greg_month;
|
||||||
using PTime = boost::posix_time::ptime;
|
using PTime = boost::posix_time::ptime;
|
||||||
@ -169,49 +170,97 @@ LDT_from_unix_local(const time64 time)
|
|||||||
throw(std::invalid_argument("Time value is outside the supported year range."));
|
throw(std::invalid_argument("Time value is outside the supported year range."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* If a date-time falls in a DST transition the LDT constructor will
|
||||||
|
* fail because either the date-time doesn't exist (when starting DST
|
||||||
|
* because the transition skips an hour) or is ambiguous (when ending
|
||||||
|
* because the transition hour is repeated). We try again an hour
|
||||||
|
* later to be outside the DST transition. When starting DST that's
|
||||||
|
* now the correct time but at the end of DST we need to set the
|
||||||
|
* returned time back an hour.
|
||||||
|
*/
|
||||||
|
static LDT
|
||||||
|
LDT_with_pushup(const Date& tdate, const Duration& tdur, const TZ_Ptr tz,
|
||||||
|
bool putback)
|
||||||
|
{
|
||||||
|
static const boost::posix_time::hours pushup{1};
|
||||||
|
LDT ldt{tdate, tdur + pushup, tz, LDTBase::NOT_DATE_TIME_ON_ERROR};
|
||||||
|
if (ldt.is_special())
|
||||||
|
{
|
||||||
|
std::string error{"Couldn't create a valid datetime at "};
|
||||||
|
error += to_simple_string(tdate) + " ";
|
||||||
|
error += to_simple_string(tdur) + " TZ ";
|
||||||
|
error += tz->std_zone_abbrev();
|
||||||
|
throw(std::invalid_argument{error});
|
||||||
|
}
|
||||||
|
if (putback)
|
||||||
|
ldt -= pushup;
|
||||||
|
return ldt;
|
||||||
|
}
|
||||||
|
|
||||||
static LDT
|
static LDT
|
||||||
LDT_from_struct_tm(const struct tm tm)
|
LDT_from_date_time(const Date& tdate, const Duration& tdur, const TZ_Ptr tz)
|
||||||
{
|
{
|
||||||
Date tdate;
|
|
||||||
Duration tdur;
|
|
||||||
TZ_Ptr tz;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tdate = boost::gregorian::date_from_tm(tm);
|
|
||||||
tdur = boost::posix_time::time_duration(tm.tm_hour, tm.tm_min,
|
|
||||||
tm.tm_sec, 0);
|
|
||||||
tz = tzp->get(tdate.year());
|
|
||||||
LDT ldt(tdate, tdur, tz, LDTBase::EXCEPTION_ON_ERROR);
|
LDT ldt(tdate, tdur, tz, LDTBase::EXCEPTION_ON_ERROR);
|
||||||
return ldt;
|
return ldt;
|
||||||
}
|
}
|
||||||
|
catch (const boost::local_time::time_label_invalid& err)
|
||||||
|
{
|
||||||
|
return LDT_with_pushup(tdate, tdur, tz, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
catch (const boost::local_time::ambiguous_result& err)
|
||||||
|
{
|
||||||
|
return LDT_with_pushup(tdate, tdur, tz, true);
|
||||||
|
}
|
||||||
|
|
||||||
catch(boost::gregorian::bad_year&)
|
catch(boost::gregorian::bad_year&)
|
||||||
{
|
{
|
||||||
throw(std::invalid_argument("Time value is outside the supported year range."));
|
throw(std::invalid_argument("Time value is outside the supported year range."));
|
||||||
}
|
}
|
||||||
catch(boost::local_time::time_label_invalid&)
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static LDT
|
||||||
|
LDT_from_date_daypart(const Date& date, DayPart part, const TZ_Ptr tz)
|
||||||
|
{
|
||||||
|
using hours = boost::posix_time::hours;
|
||||||
|
|
||||||
|
static const Duration day_begin{0, 0, 0};
|
||||||
|
static const Duration day_neutral{10, 59, 0};
|
||||||
|
static const Duration day_end{23, 59, 59};
|
||||||
|
|
||||||
|
|
||||||
|
switch (part)
|
||||||
{
|
{
|
||||||
throw(std::invalid_argument("Struct tm does not resolve to a valid time."));
|
case DayPart::start:
|
||||||
}
|
return LDT_from_date_time(date, day_begin, tz);
|
||||||
catch(boost::local_time::ambiguous_result&)
|
case DayPart::end:
|
||||||
{
|
return LDT_from_date_time(date, day_end, tz);
|
||||||
/* We plunked down in the middle of a DST change. Try constructing the
|
default: // To stop gcc from emitting a control reaches end of non-void function.
|
||||||
* LDT three hours later to get a valid result then back up those three
|
case DayPart::neutral:
|
||||||
* hours to have the time we want.
|
PTime pt{date, day_neutral};
|
||||||
*/
|
LDT lt{pt, tz};
|
||||||
using boost::posix_time::hours;
|
auto offset = lt.local_time() - lt.utc_time();
|
||||||
auto hour = tm.tm_hour;
|
if (offset < hours(-10))
|
||||||
tdur += hours(3);
|
lt -= hours(offset.hours() + 10);
|
||||||
LDT ldt(tdate, tdur, tz, LDTBase::NOT_DATE_TIME_ON_ERROR);
|
if (offset > hours(13))
|
||||||
if (ldt.is_special())
|
lt += hours(13 - offset.hours());
|
||||||
throw(std::invalid_argument("Couldn't create a valid datetime."));
|
return lt;
|
||||||
ldt -= hours(3);
|
|
||||||
return ldt;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using TD = boost::posix_time::time_duration;
|
static LDT
|
||||||
|
LDT_from_struct_tm(const struct tm tm)
|
||||||
|
{
|
||||||
|
Date tdate{boost::gregorian::date_from_tm(tm)};
|
||||||
|
Duration tdur{boost::posix_time::time_duration(tm.tm_hour, tm.tm_min,
|
||||||
|
tm.tm_sec, 0)};
|
||||||
|
TZ_Ptr tz{tzp->get(tdate.year())};
|
||||||
|
return LDT_from_date_time(tdate, tdur, tz);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_set_tzp(TimeZoneProvider& new_tzp)
|
_set_tzp(TimeZoneProvider& new_tzp)
|
||||||
@ -248,10 +297,8 @@ public:
|
|||||||
static std::string timestamp();
|
static std::string timestamp();
|
||||||
private:
|
private:
|
||||||
LDT m_time;
|
LDT m_time;
|
||||||
static const TD time_of_day[3];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const TD GncDateTimeImpl::time_of_day[3] = {TD(0, 0, 0), TD(10, 59, 0), TD(23, 59, 59)};
|
|
||||||
/** Private implementation of GncDate. See the documentation for that class.
|
/** Private implementation of GncDate. See the documentation for that class.
|
||||||
*/
|
*/
|
||||||
class GncDateImpl
|
class GncDateImpl
|
||||||
@ -281,50 +328,16 @@ private:
|
|||||||
friend bool operator!=(const GncDateImpl&, const GncDateImpl&);
|
friend bool operator!=(const GncDateImpl&, const GncDateImpl&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Needs to be separately defined so that the friend decl can grant
|
||||||
|
* access to date.m_greg.
|
||||||
|
*/
|
||||||
|
GncDateTimeImpl::GncDateTimeImpl(const GncDateImpl& date, DayPart part) :
|
||||||
|
m_time{LDT_from_date_daypart(date.m_greg, part,
|
||||||
|
tzp->get(date.m_greg.year()))} {}
|
||||||
|
|
||||||
/* Member function definitions for GncDateTimeImpl.
|
/* Member function definitions for GncDateTimeImpl.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
GncDateTimeImpl::GncDateTimeImpl(const GncDateImpl& date, DayPart part) :
|
|
||||||
m_time(date.m_greg, time_of_day[part], tzp->get(date.m_greg.year()),
|
|
||||||
LDT::NOT_DATE_TIME_ON_ERROR)
|
|
||||||
{
|
|
||||||
using boost::posix_time::hours;
|
|
||||||
if (m_time.is_not_a_date_time())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
auto t_o_d = time_of_day[part] + hours(3);
|
|
||||||
LDT time(date.m_greg, t_o_d, tzp->get(date.m_greg.year()),
|
|
||||||
LDT::EXCEPTION_ON_ERROR);
|
|
||||||
m_time = time - hours(3);
|
|
||||||
}
|
|
||||||
catch(boost::gregorian::bad_year&)
|
|
||||||
{
|
|
||||||
throw(std::invalid_argument("Time value is outside the supported year range."));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (part == DayPart::neutral)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
auto offset = m_time.local_time() - m_time.utc_time();
|
|
||||||
m_time = LDT(date.m_greg, time_of_day[part], utc_zone,
|
|
||||||
LDT::EXCEPTION_ON_ERROR);
|
|
||||||
if (offset < hours(-10))
|
|
||||||
m_time -= hours(offset.hours() + 10);
|
|
||||||
if (offset > hours(13))
|
|
||||||
m_time += hours(13 - offset.hours());
|
|
||||||
}
|
|
||||||
catch(boost::gregorian::bad_year&)
|
|
||||||
{
|
|
||||||
throw(std::invalid_argument("Time value is outside the supported year range."));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
using PTZ = boost::local_time::posix_time_zone;
|
|
||||||
|
|
||||||
static TZ_Ptr
|
static TZ_Ptr
|
||||||
tz_from_string(std::string str)
|
tz_from_string(std::string str)
|
||||||
{
|
{
|
||||||
@ -368,8 +381,7 @@ GncDateTimeImpl::GncDateTimeImpl(std::string str) :
|
|||||||
if (sm[2].matched)
|
if (sm[2].matched)
|
||||||
tzstr += sm[2];
|
tzstr += sm[2];
|
||||||
tzptr = tz_from_string(tzstr);
|
tzptr = tz_from_string(tzstr);
|
||||||
m_time = LDT(pdt.date(), pdt.time_of_day(), tzptr,
|
m_time = LDT_from_date_time(pdt.date(), pdt.time_of_day(), tzptr);
|
||||||
LDTBase::NOT_DATE_TIME_ON_ERROR);
|
|
||||||
}
|
}
|
||||||
catch(boost::gregorian::bad_year&)
|
catch(boost::gregorian::bad_year&)
|
||||||
{
|
{
|
||||||
@ -517,8 +529,7 @@ GncDateTimeImpl::format_zulu(const char* format) const
|
|||||||
return win_date_format(sformat, utc_tm());
|
return win_date_format(sformat, utc_tm());
|
||||||
#else
|
#else
|
||||||
using Facet = boost::local_time::local_time_facet;
|
using Facet = boost::local_time::local_time_facet;
|
||||||
auto offset = m_time.local_time() - m_time.utc_time();
|
auto zulu_time = LDT{m_time.utc_time(), utc_zone};
|
||||||
auto zulu_time = m_time - offset;
|
|
||||||
auto output_facet(new Facet(normalize_format(format).c_str()));
|
auto output_facet(new Facet(normalize_format(format).c_str()));
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss.imbue(std::locale(gnc_get_locale(), output_facet));
|
ss.imbue(std::locale(gnc_get_locale(), output_facet));
|
||||||
|
@ -37,10 +37,10 @@ typedef struct
|
|||||||
int day; //1-31
|
int day; //1-31
|
||||||
} ymd;
|
} ymd;
|
||||||
|
|
||||||
enum DayPart : int {
|
enum class DayPart {
|
||||||
start, // 00:00
|
start, // 00:00 local
|
||||||
neutral, // 10:59
|
neutral, // 10:59 UTC
|
||||||
end, // 23:59
|
end, // 23:59 local
|
||||||
};
|
};
|
||||||
|
|
||||||
class GncDateTimeImpl;
|
class GncDateTimeImpl;
|
||||||
|
@ -418,7 +418,7 @@ namespace IANAParser
|
|||||||
auto isgmt_count = *(endian_swap(reinterpret_cast<uint32_t*>(tzh.ttisgmtcnt)));
|
auto isgmt_count = *(endian_swap(reinterpret_cast<uint32_t*>(tzh.ttisgmtcnt)));
|
||||||
auto isstd_count = *(endian_swap(reinterpret_cast<uint32_t*>(tzh.ttisstdcnt)));
|
auto isstd_count = *(endian_swap(reinterpret_cast<uint32_t*>(tzh.ttisstdcnt)));
|
||||||
auto leap_count = *(endian_swap(reinterpret_cast<uint32_t*>(tzh.leapcnt)));
|
auto leap_count = *(endian_swap(reinterpret_cast<uint32_t*>(tzh.leapcnt)));
|
||||||
if ((tzh.version == '2' || tzh.version == '3') && sizeof(time_t) == sizeof(int64_t))
|
if ((tzh.version == '2' || tzh.version == '3'))
|
||||||
{
|
{
|
||||||
fb_index = (sizeof(tzh) +
|
fb_index = (sizeof(tzh) +
|
||||||
(sizeof(uint32_t) + sizeof(uint8_t)) * time_count +
|
(sizeof(uint32_t) + sizeof(uint8_t)) * time_count +
|
||||||
|
@ -24,11 +24,11 @@
|
|||||||
|
|
||||||
#ifndef TEST_ENGINE_STUFF_H
|
#ifndef TEST_ENGINE_STUFF_H
|
||||||
#define TEST_ENGINE_STUFF_H
|
#define TEST_ENGINE_STUFF_H
|
||||||
|
#include <glib.h>
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
#include <glib.h>
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
@ -432,8 +432,60 @@ TEST(gnc_datetime_constructors, test_DST_end_transition_time)
|
|||||||
_reset_tzp();
|
_reset_tzp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(gnc_datetime_constructors, test_create_in_transition)
|
||||||
|
{
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
TimeZoneProvider tzp_br{"E. South America Standard Time"};
|
||||||
|
#else
|
||||||
|
TimeZoneProvider tzp_br("America/Sao_Paulo");
|
||||||
|
#endif
|
||||||
|
_set_tzp(tzp_br);
|
||||||
|
/* Test Daylight Savings start: When Sao Paolo had daylight
|
||||||
|
* savings time it ended at 23:59:59 and the next second was
|
||||||
|
* 01:00:00 so that's when the day starts.
|
||||||
|
*/
|
||||||
|
GncDate date0{"2018-11-03", "y-m-d"};
|
||||||
|
GncDateTime gncdt0{date0, DayPart::end};
|
||||||
|
EXPECT_EQ(gncdt0.format_zulu("%Y-%m-%d %H:%M:%S %Z"), "2018-11-04 02:59:59 UTC");
|
||||||
|
EXPECT_EQ(gncdt0.format("%Y-%m-%d %H:%M:%S %Z"), "2018-11-03 23:59:59 -03");
|
||||||
|
GncDate date1{"2018-11-04", "y-m-d"};
|
||||||
|
GncDateTime gncdt1{date1, DayPart::start};
|
||||||
|
EXPECT_EQ(gncdt1.format_zulu("%Y-%m-%d %H:%M:%S %Z"), "2018-11-04 03:00:00 UTC");
|
||||||
|
EXPECT_EQ(gncdt1.format("%Y-%m-%d %H:%M:%S %Z"), "2018-11-04 01:00:00 -02");
|
||||||
|
/* End of day, end of DST. We want one second before midnight in
|
||||||
|
* std time, i.e. -03. Unfortunately sometimes boost::date_time
|
||||||
|
* decides that it's still DST and returns the first one.
|
||||||
|
*/
|
||||||
|
GncDate date2{"2018-02-17", "y-m-d"};
|
||||||
|
GncDateTime gncdt2{date2, DayPart::end};
|
||||||
|
if (gncdt2.offset() == -7200)
|
||||||
|
{
|
||||||
|
EXPECT_EQ(gncdt2.format_zulu("%Y-%m-%d %H:%M:%S %Z"), "2018-02-18 01:59:59 UTC");
|
||||||
|
EXPECT_EQ(gncdt2.format("%Y-%m-%d %H:%M:%S %Z"), "2018-02-17 23:59:59 -02");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EXPECT_EQ(gncdt2.format_zulu("%Y-%m-%d %H:%M:%S %Z"), "2018-02-18 02:59:59 UTC");
|
||||||
|
EXPECT_EQ(gncdt2.format("%Y-%m-%d %H:%M:%S %Z"), "2018-02-17 23:59:59 -03");
|
||||||
|
}
|
||||||
|
/* After February 2019 Sao Paulo discontinued Daylight
|
||||||
|
* Savings. This test checks to ensure that GncTimeZone doesn't
|
||||||
|
* try to project 2018's rule forward.
|
||||||
|
*/
|
||||||
|
GncDate date3{"2019-11-01", "y-m-d"};
|
||||||
|
GncDateTime gncdt3{date3, DayPart::start};
|
||||||
|
EXPECT_EQ(gncdt3.format_zulu("%Y-%m-%d %H:%M:%S %Z"), "2019-11-01 03:00:00 UTC");
|
||||||
|
EXPECT_EQ(gncdt3.format("%Y-%m-%d %H:%M:%S %Z"), "2019-11-01 00:00:00 -03");
|
||||||
|
}
|
||||||
|
|
||||||
TEST(gnc_datetime_constructors, test_gncdate_neutral_constructor)
|
TEST(gnc_datetime_constructors, test_gncdate_neutral_constructor)
|
||||||
{
|
{
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
TimeZoneProvider tzp_la{"Pacific Standard Time"};
|
||||||
|
#else
|
||||||
|
TimeZoneProvider tzp_la("America/Los_Angeles");
|
||||||
|
#endif
|
||||||
|
_set_tzp(tzp_la);
|
||||||
const ymd aymd = { 2017, 04, 20 };
|
const ymd aymd = { 2017, 04, 20 };
|
||||||
GncDateTime atime(GncDate(aymd.year, aymd.month, aymd.day), DayPart::neutral);
|
GncDateTime atime(GncDate(aymd.year, aymd.month, aymd.day), DayPart::neutral);
|
||||||
time64 date{1492685940};
|
time64 date{1492685940};
|
||||||
@ -448,8 +500,8 @@ TEST(gnc_datetime_constructors, test_gncdate_neutral_constructor)
|
|||||||
if (gncdt.offset() >= max_western_offset &&
|
if (gncdt.offset() >= max_western_offset &&
|
||||||
gncdt.offset() <= max_eastern_offset)
|
gncdt.offset() <= max_eastern_offset)
|
||||||
{
|
{
|
||||||
EXPECT_EQ(atime.format("%d-%m-%Y %H:%M:%S %Z"), "20-04-2017 10:59:00 UTC");
|
EXPECT_EQ(atime.format_zulu("%d-%m-%Y %H:%M:%S %Z"),
|
||||||
// EXPECT_EQ(atime, gncdt);
|
"20-04-2017 10:59:00 UTC");
|
||||||
EXPECT_EQ(date, static_cast<time64>(gncdt));
|
EXPECT_EQ(date, static_cast<time64>(gncdt));
|
||||||
EXPECT_EQ(date, static_cast<time64>(atime));
|
EXPECT_EQ(date, static_cast<time64>(atime));
|
||||||
}
|
}
|
||||||
|
@ -61,6 +61,11 @@ TEST(gnc_timezone_constructors, test_pacific_time_constructor)
|
|||||||
EXPECT_EQ(3, tz->dst_local_start_time (2017).date().month());
|
EXPECT_EQ(3, tz->dst_local_start_time (2017).date().month());
|
||||||
EXPECT_EQ(5, tz->dst_local_end_time (2017).date().day());
|
EXPECT_EQ(5, tz->dst_local_end_time (2017).date().day());
|
||||||
EXPECT_EQ(11, tz->dst_local_end_time (2017).date().month());
|
EXPECT_EQ(11, tz->dst_local_end_time (2017).date().month());
|
||||||
|
//Check some post-2038 dates to make sure that it works even on macOS.
|
||||||
|
EXPECT_EQ(10, tz->dst_local_start_time (2052).date().day());
|
||||||
|
EXPECT_EQ(3, tz->dst_local_start_time (2052).date().month());
|
||||||
|
EXPECT_EQ(3, tz->dst_local_end_time (2052).date().day());
|
||||||
|
EXPECT_EQ(11, tz->dst_local_end_time (2052).date().month());
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !PLATFORM(WINDOWS)
|
#if !PLATFORM(WINDOWS)
|
||||||
|
@ -10,53 +10,38 @@ set (GC_LINGUAS ar as az bg brx de doi el en_GB es es_NI et fi fr gu he hi hr hu
|
|||||||
set (NEW_LINGUAS)
|
set (NEW_LINGUAS)
|
||||||
|
|
||||||
set (ALL_LINGUAS ${TP_LINGUAS} ${GC_LINGUAS} ${NEW_LINGUAS})
|
set (ALL_LINGUAS ${TP_LINGUAS} ${GC_LINGUAS} ${NEW_LINGUAS})
|
||||||
|
# LINGUAS is used to create localized destkop and appdata files
|
||||||
file (WRITE LINGUAS "${ALL_LINGUAS}")
|
string(REPLACE ";" " " LINGUAS "${ALL_LINGUAS}")
|
||||||
|
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/LINGUAS "${LINGUAS}")
|
||||||
|
|
||||||
set (CATALOGS "")
|
set (CATALOGS "")
|
||||||
set (BUILD_CATALOGS "")
|
set (po_SOURCES "")
|
||||||
|
|
||||||
set(po_SOURCES "")
|
foreach (lingua ${ALL_LINGUAS})
|
||||||
file (WRITE LINGUAS "")
|
list (APPEND po_SOURCES ${lingua}.po)
|
||||||
foreach(lingua ${ALL_LINGUAS})
|
|
||||||
list(APPEND po_SOURCES ${lingua}.po)
|
set (_LOCALE_DIR ${DATADIR_BUILD}/locale/${lingua}/LC_MESSAGES)
|
||||||
file (APPEND LINGUAS "${lingua} ")
|
file (MAKE_DIRECTORY "${_LOCALE_DIR}") # Unix Makefiles won't do this automatically, ninja does
|
||||||
endforeach()
|
set (_MO_FILE ${_LOCALE_DIR}/gnucash.mo)
|
||||||
|
list (APPEND CATALOGS ${_MO_FILE})
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${_MO_FILE}
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E env
|
||||||
|
${GETTEXT_MSGFMT_EXECUTABLE}
|
||||||
|
-o ${_MO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
|
||||||
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
|
||||||
|
)
|
||||||
|
|
||||||
|
install (FILES ${_MO_FILE} DESTINATION ${CMAKE_INSTALL_DATADIR}/locale/${lingua}/LC_MESSAGES)
|
||||||
|
endforeach (lingua)
|
||||||
|
|
||||||
|
add_custom_target(po-gmo ALL DEPENDS ${CATALOGS})
|
||||||
|
|
||||||
set_local_dist(po_DIST_local ${po_SOURCES} CMakeLists.txt Makevars
|
set_local_dist(po_DIST_local ${po_SOURCES} CMakeLists.txt Makevars
|
||||||
POTFILES.in POTFILES.skip README gnucash-pot.cmake)
|
POTFILES.in POTFILES.skip README gnucash-pot.cmake)
|
||||||
set(po_DIST ${po_DIST_local} ${po_glossary_DIST} PARENT_SCOPE)
|
set(po_DIST ${po_DIST_local} ${po_glossary_DIST} PARENT_SCOPE)
|
||||||
|
|
||||||
foreach(lingua ${ALL_LINGUAS})
|
|
||||||
set(_OUTPUT_FILE ${lingua}.mo)
|
|
||||||
list(APPEND CATALOGS ${_OUTPUT_FILE})
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${_OUTPUT_FILE}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E env
|
|
||||||
${GETTEXT_MSGFMT_EXECUTABLE}
|
|
||||||
-o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
|
|
||||||
)
|
|
||||||
set(_BUILD_FILE_DIR ${DATADIR_BUILD}/locale/${lingua}/LC_MESSAGES)
|
|
||||||
make_directory(${_BUILD_FILE_DIR})
|
|
||||||
set(_BUILD_FILE ${_BUILD_FILE_DIR}/gnucash.mo)
|
|
||||||
list(APPEND BUILD_CATALOGS ${_BUILD_FILE})
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${_BUILD_FILE}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${lingua}.mo ${_BUILD_FILE}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_OUTPUT_FILE}
|
|
||||||
#APPEND
|
|
||||||
)
|
|
||||||
endforeach(lingua)
|
|
||||||
|
|
||||||
add_custom_target(po-gmo ALL DEPENDS ${CATALOGS})
|
|
||||||
add_custom_target(po-gmo-build ALL DEPENDS ${BUILD_CATALOGS})
|
|
||||||
|
|
||||||
|
|
||||||
foreach(lingua ${ALL_LINGUAS})
|
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${lingua}.mo RENAME gnucash.mo DESTINATION ${CMAKE_INSTALL_DATADIR}/locale/${lingua}/LC_MESSAGES)
|
|
||||||
endforeach(lingua)
|
|
||||||
|
|
||||||
function(read_file_removing_comments OUTPUT PATH)
|
function(read_file_removing_comments OUTPUT PATH)
|
||||||
set(RESULT "")
|
set(RESULT "")
|
||||||
file(STRINGS "${PATH}" LINES_IN)
|
file(STRINGS "${PATH}" LINES_IN)
|
||||||
|
@ -216,7 +216,7 @@ gnucash/gnucash-cli.cpp
|
|||||||
gnucash/gnucash-commands.cpp
|
gnucash/gnucash-commands.cpp
|
||||||
gnucash/gnucash-core-app.cpp
|
gnucash/gnucash-core-app.cpp
|
||||||
gnucash/gnucash.cpp
|
gnucash/gnucash.cpp
|
||||||
gnucash/gnucash-windows-locale.c
|
gnucash/gnucash-locale-windows.c
|
||||||
gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in
|
gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in
|
||||||
gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in
|
gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in
|
||||||
gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in
|
gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in
|
||||||
|
433
po/de.po
433
po/de.po
@ -12,7 +12,7 @@
|
|||||||
# quazgar <quazgar@posteo.de> 2017.
|
# quazgar <quazgar@posteo.de> 2017.
|
||||||
# Rolf Leggewie, 2008.
|
# Rolf Leggewie, 2008.
|
||||||
# Herbert Thoma <tma@iis.fhg.de>, 2001.
|
# Herbert Thoma <tma@iis.fhg.de>, 2001.
|
||||||
# Christian Meyer <chrisime@gnome.org>, 2000, 2001.
|
# Christian Meyer <chrisime@gnome.org>, 2000-2001.
|
||||||
# Jan-Uwe Finck <Jan-Uwe.Finck@bigfoot.de>, 1999.
|
# Jan-Uwe Finck <Jan-Uwe.Finck@bigfoot.de>, 1999.
|
||||||
# Manuel Bichler <felseninsel@hotmail.com>, 2020.
|
# Manuel Bichler <felseninsel@hotmail.com>, 2020.
|
||||||
# K. Herbert <herbert.ka@mailo.com>, 2020.
|
# K. Herbert <herbert.ka@mailo.com>, 2020.
|
||||||
@ -32,7 +32,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
||||||
"product=GnuCash&component=Translations\n"
|
"product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-11 06:06+0100\n"
|
"PO-Revision-Date: 2021-03-21 22:25+0100\n"
|
||||||
"Last-Translator: Christian Stimming <christian@cstimming.de>\n"
|
"Last-Translator: Christian Stimming <christian@cstimming.de>\n"
|
||||||
"Language-Team: German <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
"Language-Team: German <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||||
"de/>\n"
|
"de/>\n"
|
||||||
@ -1740,17 +1740,15 @@ msgid "Description"
|
|||||||
msgstr "Beschreibung"
|
msgstr "Beschreibung"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:1024
|
#: gnucash/gnome/dialog-doclink.c:1024
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Double click on the entry in the Id column to jump to the Business Item.\n"
|
"Double click on the entry in the Id column to jump to the Business Item.\n"
|
||||||
"Double click on the entry in the Link column to open the Linked Document.\n"
|
"Double click on the entry in the Link column to open the Linked Document.\n"
|
||||||
"Double click on the entry in the Available column to modify the document "
|
"Double click on the entry in the Available column to modify the document "
|
||||||
"link."
|
"link."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Um zur Rechnung zu springen, machen Sie einen Doppelklick auf den Eintrag in "
|
"Doppelklick auf die »Nr.«-Spalte springt zur Rechnung.\n"
|
||||||
"der Spalte\n"
|
"Doppelklick auf die »Verknüpftes Dokument«-Spalte springt zum verknüpften Dokument.\n"
|
||||||
"»Beschreibung«. Zum Öffnen der Verknüpfung einen Doppelklick auf die Spalte "
|
"Doppelklick auf die »Verfügbar«-Spalte, um die Verknüpfung zu bearbeiten."
|
||||||
"»Verknüpfung«."
|
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:1033
|
#: gnucash/gnome/dialog-doclink.c:1033
|
||||||
msgid "Business Document Links"
|
msgid "Business Document Links"
|
||||||
@ -3639,7 +3637,6 @@ msgid "_Import Map Editor"
|
|||||||
msgstr "_Import-Zuordnungen Editor"
|
msgstr "_Import-Zuordnungen Editor"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-basic-commands.c:212
|
#: gnucash/gnome/gnc-plugin-basic-commands.c:212
|
||||||
#, fuzzy
|
|
||||||
#| msgid "View and Delete Bayesian and Non Bayesian information"
|
#| msgid "View and Delete Bayesian and Non Bayesian information"
|
||||||
msgid "View and Delete Bayesian and non-Bayesian information"
|
msgid "View and Delete Bayesian and non-Bayesian information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4135,12 +4132,11 @@ msgstr "Ausgewähltes Konto löschen"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:257
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:257
|
||||||
msgid "_Cascade Account Properties..."
|
msgid "_Cascade Account Properties..."
|
||||||
msgstr "Konto_eigenschaften übernehmen..."
|
msgstr "Konto_eigenschaften vererben..."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:258
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:258
|
||||||
msgid "Cascade selected properties for account"
|
msgid "Cascade selected properties for account"
|
||||||
msgstr ""
|
msgstr "Die gewählten Kontoeigenschaften in die untergeordneten Konten vererben"
|
||||||
"Die gewählten Kontoeigenschaften in die untergeordneten Konten übernehmen"
|
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:262
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:262
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:267
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:267
|
||||||
@ -4502,7 +4498,6 @@ msgid "Edit Note"
|
|||||||
msgstr "Bemerkung bearbeiten"
|
msgstr "Bemerkung bearbeiten"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:183
|
#: gnucash/gnome/gnc-plugin-page-budget.c:183
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Edit note for the selected account and period"
|
#| msgid "Edit note for the selected account and period"
|
||||||
msgid "Edit note for the selected account and period."
|
msgid "Edit note for the selected account and period."
|
||||||
msgstr "Die Bemerkung für das gewählte Konto und Periode bearbeiten"
|
msgstr "Die Bemerkung für das gewählte Konto und Periode bearbeiten"
|
||||||
@ -4513,7 +4508,6 @@ msgid "Budget Report"
|
|||||||
msgstr "Budget-Bericht"
|
msgstr "Budget-Bericht"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:189
|
#: gnucash/gnome/gnc-plugin-page-budget.c:189
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Print the current report"
|
#| msgid "Print the current report"
|
||||||
msgid "Run the budget report."
|
msgid "Run the budget report."
|
||||||
msgstr "Aktuellen Bericht drucken"
|
msgstr "Aktuellen Bericht drucken"
|
||||||
@ -4544,10 +4538,9 @@ msgstr "Bemerkung"
|
|||||||
|
|
||||||
# Fixme: Source Accelerator missing
|
# Fixme: Source Accelerator missing
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:226
|
#: gnucash/gnome/gnc-plugin-page-budget.c:226
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Account Report"
|
#| msgid "Account Report"
|
||||||
msgid "Run Report"
|
msgid "Run Report"
|
||||||
msgstr "Kontenbericht"
|
msgstr "Budgetbericht"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:310
|
#: gnucash/gnome/gnc-plugin-page-budget.c:310
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:351
|
#: gnucash/gnome/gnc-plugin-page-budget.c:351
|
||||||
@ -6638,18 +6631,15 @@ msgstr ""
|
|||||||
"»Platzhalter-Konto«."
|
"»Platzhalter-Konto«."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-split-reg.c:2531
|
#: gnucash/gnome/gnc-split-reg.c:2531
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The transactions in one of the selected sub-accounts may not be edited.\n"
|
"The transactions in one of the selected sub-accounts may not be edited.\n"
|
||||||
"If you want to edit transactions in this register, please open the sub-"
|
"If you want to edit transactions in this register, please open the sub-"
|
||||||
"account options and turn off the placeholder checkbox.\n"
|
"account options and turn off the placeholder checkbox.\n"
|
||||||
"You may also open an individual account instead of a set of accounts."
|
"You may also open an individual account instead of a set of accounts."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Die Buchungen in einem der Unterkonten können nicht bearbeitet werden.\n"
|
"Die Buchungen in einem der gewählten Unterkonten können nicht bearbeitet werden.\n"
|
||||||
"Wenn Sie Buchungen in diesem Konto bearbeiten möchten, öffnen Sie bitte das "
|
"Wenn Sie Buchungen in diesem Kontofenster bearbeiten möchten, öffnen Sie bitte das Dialogfenster »Konto Eigenschaften« des Unterkontos und deaktivieren Sie die Option »Platzhalter-Konto«.\n"
|
||||||
"Dialogfenster »Konto Eigenschaften« des Unterkontos und deaktivieren Sie die "
|
"Alternativ können Sie auch ein Kontofenster eines einzelnen Kontos öffnen."
|
||||||
"Option »Platzhalter-Konto«.\n"
|
|
||||||
"Stattdessen können Sie auch ein Kontofenster eines einzelnen Kontos öffnen."
|
|
||||||
|
|
||||||
#: gnucash/gnome/gnucash.appdata.xml.in.in:5
|
#: gnucash/gnome/gnucash.appdata.xml.in.in:5
|
||||||
#: gnucash/gnome/gnucash.desktop.in.in:6
|
#: gnucash/gnome/gnucash.desktop.in.in:6
|
||||||
@ -7605,24 +7595,19 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Set the account color for account '%s' including all sub-accounts to the "
|
"Set the account color for account '%s' including all sub-accounts to the "
|
||||||
"selected color"
|
"selected color"
|
||||||
msgstr ""
|
msgstr "Kontofarbe für Konto »%s« und in allen Unterkonten festlegen"
|
||||||
"Die Kontenfarbe für das Konto '%s' inklusive aller Unterkonten einrichten"
|
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-account.c:2312
|
#: gnucash/gnome-utils/dialog-account.c:2312
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set the account placeholder value for account '%s' including all sub-accounts"
|
"Set the account placeholder value for account '%s' including all sub-accounts"
|
||||||
msgstr ""
|
msgstr "Platzhalter-Einstellung für Konto »%s« und in allen Unterkonten festlegen"
|
||||||
"Die Platzhalter-Eigenschaft für das Konto »%s« inklusive aller Unterkonten "
|
|
||||||
"einrichten"
|
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-account.c:2326
|
#: gnucash/gnome-utils/dialog-account.c:2326
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set the account hidden value for account '%s' including all sub-accounts"
|
"Set the account hidden value for account '%s' including all sub-accounts"
|
||||||
msgstr ""
|
msgstr "Versteckt-Eigenschaft für Konto »%s« und in allen Unterkonten festlegen"
|
||||||
"Die Versteckt-Eigenschaft für das Konto »%s« inklusive aller Unterkonten "
|
|
||||||
"einrichten"
|
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-book-close.c:294
|
#: gnucash/gnome-utils/dialog-book-close.c:294
|
||||||
msgid "Please select an Equity account to hold the total Period Income."
|
msgid "Please select an Equity account to hold the total Period Income."
|
||||||
@ -8214,23 +8199,15 @@ msgid_plural ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Should your file be saved automatically?"
|
"Should your file be saved automatically?"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
"Ihre Datei muss auf der Festplatte gespeichert werden, um Ihre Änderungen zu "
|
"Ihre Datei muss auf der Festplatte gespeichert werden, um Ihre Änderungen zu sichern. GnuCash kann das Speichern automatisch jede Minute auslösen, so als ob Sie jedes Mal den Knopf »Speichern« klicken würden.\n"
|
||||||
"sichern. GnuCash kann das Speichern automatisch jede Minute auslösen, so als "
|
|
||||||
"ob Sie jedes Mal den Knopf »Speichern« klicken würden.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Wenn Sie das Zeitintervall ändern möchten, können Sie dies tun unter "
|
"Wenn Sie das Zeitintervall ändern möchten, können Sie dies tun unter Bearbeiten->Einstellungen->Allgemein->Zeitintervall Automatisches Speichern, oder diese Automatik dort auch abschalten.\n"
|
||||||
"Bearbeiten->Einstellungen->Allgemein->Zeitintervall automatisch Speichern, "
|
|
||||||
"oder diese Automatik dort auch abschalten.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Soll Ihre Datei automatisch gespeichert werden?"
|
"Soll Ihre Datei automatisch gespeichert werden?"
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
"Ihre Datei muss auf der Festplatte gespeichert werden, um Ihre Änderungen zu "
|
"Ihre Datei muss auf der Festplatte gespeichert werden, um Ihre Änderungen zu sichern. GnuCash kann das Speichern automatisch alle %d Minuten auslösen, so als ob Sie jedes Mal den Knopf »Speichern« klicken würden.\n"
|
||||||
"sichern. GnuCash kann das Speichern automatisch alle %d Minuten auslösen, so "
|
|
||||||
"als ob Sie jedes Mal den Knopf »Speichern« klicken würden.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Wenn Sie das Zeitintervall ändern möchten, können Sie dies tun unter "
|
"Wenn Sie das Zeitintervall ändern möchten, können Sie dies tun unter Bearbeiten->Einstellungen->Allgemein->Zeitintervall Automatisches Speichern, oder diese Automatik dort auch abschalten.\n"
|
||||||
"Bearbeiten->Einstellungen->Allgemein->Zeitintervall automatisch Speichern, "
|
|
||||||
"oder diese Automatik dort auch abschalten.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Soll Ihre Datei automatisch gespeichert werden?"
|
"Soll Ihre Datei automatisch gespeichert werden?"
|
||||||
|
|
||||||
@ -9126,8 +9103,14 @@ msgstr "Finanzverwaltung für Privatanwender und Kleinbetriebe."
|
|||||||
#: gnucash/gnome-utils/gnc-main-window.c:4733
|
#: gnucash/gnome-utils/gnc-main-window.c:4733
|
||||||
msgid "translator-credits"
|
msgid "translator-credits"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Christian Stimming, 2001-2020\n"
|
"Christian Stimming, 2001-2021\n"
|
||||||
"Frank H. Ellenberger, 2007, 2009-2020\n"
|
"Frank H. Ellenberger, 2007, 2009-2021\n"
|
||||||
|
"Christian Wehling, 2020-2021\n"
|
||||||
|
"Alois Spitzbart, 2020-2021\n"
|
||||||
|
"Marco Zietzling, 2020\n"
|
||||||
|
"Milo Ivir, 2020\n"
|
||||||
|
"K. Herbert, 2020\n"
|
||||||
|
"Manuel Bichler, 2020\n"
|
||||||
"Andreas Hentze, 2019\n"
|
"Andreas Hentze, 2019\n"
|
||||||
"Joachim Wetzig, 2019\n"
|
"Joachim Wetzig, 2019\n"
|
||||||
"Dmitriy Mangul, 2017-2018\n"
|
"Dmitriy Mangul, 2017-2018\n"
|
||||||
@ -9871,10 +9854,9 @@ msgid "H"
|
|||||||
msgstr "V"
|
msgstr "V"
|
||||||
|
|
||||||
#: gnucash/gnome-utils/gnc-tree-view-account.c:997
|
#: gnucash/gnome-utils/gnc-tree-view-account.c:997
|
||||||
#, fuzzy
|
|
||||||
msgctxt "Column header for 'Opening Balance'"
|
msgctxt "Column header for 'Opening Balance'"
|
||||||
msgid "O"
|
msgid "O"
|
||||||
msgstr "O"
|
msgstr "A"
|
||||||
|
|
||||||
#. Translators: %s is a currency mnemonic.
|
#. Translators: %s is a currency mnemonic.
|
||||||
#: gnucash/gnome-utils/gnc-tree-view-account.c:1819
|
#: gnucash/gnome-utils/gnc-tree-view-account.c:1819
|
||||||
@ -11639,7 +11621,7 @@ msgstr "Dateikompression beim Schreiben der Datei einschalten."
|
|||||||
|
|
||||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:35
|
#: gnucash/gschemas/org.gnucash.gschema.xml.in:35
|
||||||
msgid "Show auto-save explanation"
|
msgid "Show auto-save explanation"
|
||||||
msgstr "Erklärung anzeigen bei automatisch Speichern"
|
msgstr "Erklärung anzeigen bei »Automatisches Speichern«"
|
||||||
|
|
||||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:36
|
#: gnucash/gschemas/org.gnucash.gschema.xml.in:36
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -11652,7 +11634,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:40
|
#: gnucash/gschemas/org.gnucash.gschema.xml.in:40
|
||||||
msgid "Auto-save time interval"
|
msgid "Auto-save time interval"
|
||||||
msgstr "Zeitintervall automatisch Speichern"
|
msgstr "Zeitintervall Automatisches Speichern"
|
||||||
|
|
||||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:41
|
#: gnucash/gschemas/org.gnucash.gschema.xml.in:41
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1656
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1656
|
||||||
@ -13857,7 +13839,7 @@ msgstr "<b>Kategorie-Beschreibung</b>"
|
|||||||
|
|
||||||
#. %s is an account template
|
#. %s is an account template
|
||||||
#: gnucash/gtkbuilder/assistant-hierarchy.glade:384
|
#: gnucash/gtkbuilder/assistant-hierarchy.glade:384
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
#| msgid "Accounts in '%s'"
|
#| msgid "Accounts in '%s'"
|
||||||
msgid "Accounts in %s"
|
msgid "Accounts in %s"
|
||||||
msgstr "Konten in »%s«"
|
msgstr "Konten in »%s«"
|
||||||
@ -13923,9 +13905,10 @@ msgstr ""
|
|||||||
"<b>Anmerkung:</b> Alle Konten außer Eigenkapital und Platzhaltern können "
|
"<b>Anmerkung:</b> Alle Konten außer Eigenkapital und Platzhaltern können "
|
||||||
"Anfangsbestände enthalten.\n"
|
"Anfangsbestände enthalten.\n"
|
||||||
|
|
||||||
|
# FE: Todo: better "fine tune"
|
||||||
#: gnucash/gtkbuilder/assistant-hierarchy.glade:575
|
#: gnucash/gtkbuilder/assistant-hierarchy.glade:575
|
||||||
msgid "Setup selected accounts"
|
msgid "Setup selected accounts"
|
||||||
msgstr "Ausgewähltes Konto einrichten"
|
msgstr "Ausgewählte Konten feinabstimmen"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-hierarchy.glade:585
|
#: gnucash/gtkbuilder/assistant-hierarchy.glade:585
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -14247,7 +14230,6 @@ msgstr "QIF-Import-Assistent"
|
|||||||
|
|
||||||
#. Run the assistant in your language to see GTK's translation of the button labels.
|
#. Run the assistant in your language to see GTK's translation of the button labels.
|
||||||
#: gnucash/gtkbuilder/assistant-qif-import.glade:54
|
#: gnucash/gtkbuilder/assistant-qif-import.glade:54
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
#| msgid ""
|
||||||
#| "GnuCash can import financial data from QIF (Quicken Interchange Format) "
|
#| "GnuCash can import financial data from QIF (Quicken Interchange Format) "
|
||||||
#| "files written by Quicken/QuickBooks, MS Money, Moneydance, and many other "
|
#| "files written by Quicken/QuickBooks, MS Money, Moneydance, and many other "
|
||||||
@ -14269,15 +14251,11 @@ msgid ""
|
|||||||
"Click \"Next\" to start loading your QIF data, or \"Cancel\" to abort the "
|
"Click \"Next\" to start loading your QIF data, or \"Cancel\" to abort the "
|
||||||
"process."
|
"process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"GnuCash kann Finanzdaten von QIF-Dateien (Quicken Interchange Format) "
|
"GnuCash kann Finanzdaten aus QIF-Dateien (Quicken Interchange Format) importieren, die von Programmen wie Quicken/Quickbooks, MS Money oder Moneydance geschrieben wurden.\n"
|
||||||
"importieren, die von Programmen wie Quicken/Quickbooks, MS Money oder "
|
|
||||||
"Moneydance geschrieben wurden.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Der Importprozess hat mehrere Stufen. Ihre GnuCash Konten werden erst dann "
|
"Der Importprozess hat mehrere Schritte. Ihre GnuCash Konten werden erst dann verändert, wenn Sie im letzten Schritt »Anwenden« anklicken.\n"
|
||||||
"verändert, wenn Sie am Ende »Anwenden« anklicken.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Klicken Sie jetzt »Weiter«, um mit dem Laden Ihrer QIF Daten zu beginnen. "
|
"Klicken Sie jetzt »Weiter«, um mit dem Laden Ihrer QIF-Dateien zu beginnen. Sie können den Import jederzeit mit »Abbrechen« ohne Änderungen beenden."
|
||||||
"Sie können den Import jederzeit mit »Abbrechen« ohne Änderungen beenden."
|
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-qif-import.glade:63
|
#: gnucash/gtkbuilder/assistant-qif-import.glade:63
|
||||||
msgid "Import QIF files"
|
msgid "Import QIF files"
|
||||||
@ -14374,7 +14352,6 @@ msgstr "Den Namen des Standard QIF-Kontos setzen"
|
|||||||
|
|
||||||
#. Run the assistant in your language to see GTK's translation of the button labels.
|
#. Run the assistant in your language to see GTK's translation of the button labels.
|
||||||
#: gnucash/gtkbuilder/assistant-qif-import.glade:468
|
#: gnucash/gtkbuilder/assistant-qif-import.glade:468
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
#| msgid ""
|
||||||
#| "Click \"Load another file\" if you have more data to import at this time. "
|
#| "Click \"Load another file\" if you have more data to import at this time. "
|
||||||
#| "Do this if you have saved your accounts to separate QIF files.\n"
|
#| "Do this if you have saved your accounts to separate QIF files.\n"
|
||||||
@ -14388,12 +14365,9 @@ msgid ""
|
|||||||
"Click \"Next\" to finish loading files and move to the next step of the QIF "
|
"Click \"Next\" to finish loading files and move to the next step of the QIF "
|
||||||
"import process."
|
"import process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Wenn Sie noch mehr Dateien importieren möchten, klicken Sie bitte auf »Eine "
|
"Wenn Sie noch mehr Dateien importieren möchten, klicken Sie bitte auf »Eine weitere Datei öffnen«. Das ist insbesondere sinnvoll, wenn Sie Ihre Daten in mehreren separaten QIF-Dateien gespeichert haben.\n"
|
||||||
"weitere Datei öffnen«. Das ist insbesondere sinnvoll, wenn Sie Ihre Daten in "
|
|
||||||
"mehreren separaten QIF-Dateien gespeichert haben.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Klicken Sie auf »Weiter«, um das Laden von Dateien zu beenden und zum "
|
"Klicken Sie auf »Weiter«, um das Laden von Dateien zu beenden und zum nächsten Schritt des QIF-Importprozesses zu gehen."
|
||||||
"nächsten Schritt des QIF-Importprozesses zu gehen."
|
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-qif-import.glade:487
|
#: gnucash/gtkbuilder/assistant-qif-import.glade:487
|
||||||
msgid "_Unload selected file"
|
msgid "_Unload selected file"
|
||||||
@ -14494,7 +14468,6 @@ msgid "Match QIF categories with GnuCash accounts"
|
|||||||
msgstr "Verknüpfe QIF-Kategorien mit GnuCash Konten"
|
msgstr "Verknüpfe QIF-Kategorien mit GnuCash Konten"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-qif-import.glade:802
|
#: gnucash/gtkbuilder/assistant-qif-import.glade:802
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
#| msgid ""
|
||||||
#| "QIF files downloaded from banks and other financial institutions may not "
|
#| "QIF files downloaded from banks and other financial institutions may not "
|
||||||
#| "have information about Accounts and Categories which would allow them to "
|
#| "have information about Accounts and Categories which would allow them to "
|
||||||
@ -14515,16 +14488,9 @@ msgid ""
|
|||||||
"these transactions are assigned to the 'Unspecified' account in GnuCash. If "
|
"these transactions are assigned to the 'Unspecified' account in GnuCash. If "
|
||||||
"you select a different account, it will be remembered for future QIF files."
|
"you select a different account, it will be remembered for future QIF files."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"QIF Dateien, die Sie von einer Bank oder einem Finanzinstitut "
|
"QIF-Dateien, die Sie von einer Bank oder einem Finanzinstitut heruntergeladen haben, bieten oftmals nicht genügend Informationen über Kontengliederungen und Kategorien, um sie automatisch den richtigen GnuCash-Konten zuzuordnen.\n"
|
||||||
"heruntergeladen haben, bieten oftmals nicht genügend Informationen über "
|
|
||||||
"Kontengliederungen und Kategorien, um sie automatisch den richtigen GnuCash-"
|
|
||||||
"Konten zuzuordnen.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Auf der folgenden Seite werden der Zahlungsempfänger und Buchungstext von "
|
"Auf der folgenden Seite werden der Zahlungsempfänger und Buchungstext von Buchungssätzen ohne Konten oder Kategorien aus der QIF Datei angezeigt. Als Voreinstellung werden solche Buchungssätze dem Konto »Nicht spezifiziert« zugeordnet. Wenn Sie nun die Buchungssätze einem anderen Konto zuweisen, wird diese Auswahl für zukünftige Importvorgänge gespeichert."
|
||||||
"Buchungssätzen ohne Konten oder Kategorien aus der QIF Datei angezeigt. Als "
|
|
||||||
"Voreinstellung werden solche Buchungssätze dem Konto »Nicht spezifiziert« "
|
|
||||||
"zugeordnet. Wenn Sie nun die Buchungssätze einem anderen Konto zuweisen, "
|
|
||||||
"wird diese Auswahl für zukünftige Importvorgänge gespeichert."
|
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-qif-import.glade:815
|
#: gnucash/gtkbuilder/assistant-qif-import.glade:815
|
||||||
msgid "Payees and memos"
|
msgid "Payees and memos"
|
||||||
@ -15030,23 +14996,23 @@ msgstr "_Tage im Voraus"
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:7
|
#: gnucash/gtkbuilder/dialog-account.glade:7
|
||||||
msgid "Cascade Account Values"
|
msgid "Cascade Account Values"
|
||||||
msgstr ""
|
msgstr "Kontoeigenschaften vererben"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:69
|
#: gnucash/gtkbuilder/dialog-account.glade:69
|
||||||
msgid "Enable Cascading Account Color"
|
msgid "Enable Cascading Account Color"
|
||||||
msgstr ""
|
msgstr "Kontofarbe in Unterkonten vererben"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:104
|
#: gnucash/gtkbuilder/dialog-account.glade:104
|
||||||
msgid "Enable Cascading Account Placeholder"
|
msgid "Enable Cascading Account Placeholder"
|
||||||
msgstr ""
|
msgstr "Platzhalter-Einstellung in Unterkonten vererben"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:129
|
#: gnucash/gtkbuilder/dialog-account.glade:129
|
||||||
msgid "Enable Cascading Account Hidden"
|
msgid "Enable Cascading Account Hidden"
|
||||||
msgstr ""
|
msgstr "Versteckt-Eigenschaft in Unterkonten vererben"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:151
|
#: gnucash/gtkbuilder/dialog-account.glade:151
|
||||||
msgid "Enable the sections to Cascade"
|
msgid "Enable the sections to Cascade"
|
||||||
msgstr ""
|
msgstr "Wählen Sie die Eigenschaften, die vom Hauptkonto in die Unterkonten vererbt werden sollen."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:199
|
#: gnucash/gtkbuilder/dialog-account.glade:199
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:1330
|
#: gnucash/gtkbuilder/dialog-account.glade:1330
|
||||||
@ -15059,9 +15025,7 @@ msgstr "Voreinstellung"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"If any account has an existing color it will not be replaced unless the "
|
"If any account has an existing color it will not be replaced unless the "
|
||||||
"following is ticked."
|
"following is ticked."
|
||||||
msgstr ""
|
msgstr "Vorhandene Kontofarben werden nur neu festgelegt, wenn das folgende Kontrollkästchen aktiviert ist."
|
||||||
"Wenn ein Konto eine vorhandene Farbe hat, wird es die Farbe nur ersetzt, "
|
|
||||||
"wenn das folgende Kontrollkästchen aktiviert ist."
|
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:232
|
#: gnucash/gtkbuilder/dialog-account.glade:232
|
||||||
msgid "Replace any existing account colors"
|
msgid "Replace any existing account colors"
|
||||||
@ -15171,7 +15135,7 @@ msgstr "Konten nicht anzeigen, die Kontostand Null haben."
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:1065
|
#: gnucash/gtkbuilder/dialog-account.glade:1065
|
||||||
msgid "Use Commodity Value"
|
msgid "Use Commodity Value"
|
||||||
msgstr "Nutze gewöhnlichen Wert "
|
msgstr "Aus Wertpapier/Währung übernehmen"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:1196
|
#: gnucash/gtkbuilder/dialog-account.glade:1196
|
||||||
#: gnucash/gtkbuilder/dialog-customer.glade:213
|
#: gnucash/gtkbuilder/dialog-customer.glade:213
|
||||||
@ -15271,7 +15235,7 @@ msgstr "Anfangsbestand"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"This account holds opening balance transactions. Only one account per "
|
"This account holds opening balance transactions. Only one account per "
|
||||||
"commodity can hold opening balance transactions."
|
"commodity can hold opening balance transactions."
|
||||||
msgstr ""
|
msgstr "Dieses Konto enthält die Anfangsbestand-Buchungen. Pro Währung/Aktie kann nur ein Konto die Anfangsbestand-Buchungen enthalten."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:1564
|
#: gnucash/gtkbuilder/dialog-account.glade:1564
|
||||||
msgid "<b>Acco_unt Type</b>"
|
msgid "<b>Acco_unt Type</b>"
|
||||||
@ -15907,7 +15871,7 @@ msgstr "Dateipfad-Anfang für Dokument-Verknüpfungen bearbeiten"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Existing relative file path links will be converted to absolute ones by "
|
"Existing relative file path links will be converted to absolute ones by "
|
||||||
"combining them with the existing path head unless box unticked."
|
"combining them with the existing path head unless box unticked."
|
||||||
msgstr ""
|
msgstr "Vorhandene Verknüpfungen mit relativen Pfaden werden zu absoluten Pfaden umgewandelt, indem der Pfad-Anfang vorangestellt wird, außer das folgende Kästchen ist aktiviert."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:140
|
#: gnucash/gtkbuilder/dialog-doclink.glade:140
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -15958,7 +15922,7 @@ msgstr "Alle verknüpften Dokumente"
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:626
|
#: gnucash/gtkbuilder/dialog-doclink.glade:626
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Id"
|
msgstr "Nr."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:654
|
#: gnucash/gtkbuilder/dialog-doclink.glade:654
|
||||||
msgid "Linked Document"
|
msgid "Linked Document"
|
||||||
@ -16843,15 +16807,13 @@ msgid "<b>Separator Character</b>"
|
|||||||
msgstr "<b>Trennzeichen</b>"
|
msgstr "<b>Trennzeichen</b>"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:204
|
#: gnucash/gtkbuilder/dialog-preferences.glade:204
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Press 'Reset' to use the original account separator and close the preference "
|
"Press 'Reset' to use the original account separator and close the preference "
|
||||||
"window\n"
|
"window\n"
|
||||||
"Press 'Close' to return to the preference window\n"
|
"Press 'Close' to return to the preference window\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Drücken Sie \"Zurücksetzen\", um das ursprüngliche Kontentrennzeichen zu "
|
"Drücken Sie »Zurücksetzen«, um das ursprüngliche Kontentrennzeichen zu verwenden und das Einstellungsfenster zu schließen.\n"
|
||||||
"verwenden und das Einstellungsfenster zu schließen\n"
|
"Drücken Sie »Schließen«, um zum Einstellungsfenster zurückzukehren.\n"
|
||||||
"Drücken Sie \"Schließen\", um zum Einstellungsfenster zurückzukehren\n"
|
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:240
|
#: gnucash/gtkbuilder/dialog-preferences.glade:240
|
||||||
msgid "GnuCash Preferences"
|
msgid "GnuCash Preferences"
|
||||||
@ -17174,7 +17136,7 @@ msgstr "Begrüßungsbild (Splash screen) beim Programmstart anzeigen."
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1636
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1636
|
||||||
msgid "Auto-save time _interval"
|
msgid "Auto-save time _interval"
|
||||||
msgstr "Zeit_intervall automatisch Speichern"
|
msgstr "Zeit_intervall Automatisches Speichern"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1675
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1675
|
||||||
msgid "minutes"
|
msgid "minutes"
|
||||||
@ -17182,7 +17144,7 @@ msgstr "Minuten"
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1691
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1691
|
||||||
msgid "Show auto-save confirmation _question"
|
msgid "Show auto-save confirmation _question"
|
||||||
msgstr "Erklärung für automatisch Speichern an_zeigen"
|
msgstr "Erklärung für Automatisches Speichern an_zeigen"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1697
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1697
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -20988,7 +20950,6 @@ msgstr ""
|
|||||||
|
|
||||||
# Fixme Source: 1. "\n" widerspricht I18N Regeln, letztes überflüssig? [FE]
|
# Fixme Source: 1. "\n" widerspricht I18N Regeln, letztes überflüssig? [FE]
|
||||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:115
|
#: gnucash/import-export/csv-exp/assistant-csv-export.c:115
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This assistant will help you export the Transactions to a file\n"
|
"This assistant will help you export the Transactions to a file\n"
|
||||||
"with the separator specified below.\n"
|
"with the separator specified below.\n"
|
||||||
@ -21007,20 +20968,15 @@ msgid ""
|
|||||||
"Select the settings you require for the file and then click \"Next\" to "
|
"Select the settings you require for the file and then click \"Next\" to "
|
||||||
"proceed or \"Cancel\" to abort the export.\n"
|
"proceed or \"Cancel\" to abort the export.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Dieser Assistent exportiert Buchungen in eine Datei mit dem unten zu "
|
"Dieser Assistent exportiert Buchungen in eine Datei mit dem unten zu wählenden Trennzeichen.\n"
|
||||||
"wählenden Trennzeichen.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Jede Buchung wird mehrere Zeilen ergeben und Sie werden möglicherweise "
|
"Jede Buchung wird mehrere Zeilen ergeben und Sie werden möglicherweise nacharbeiten müssen, um den Export in ein für Sie nützliches Format zu bringen. Jede Buchung taucht nur ein Mal im Export auf und zwar in der Reihenfolge, in der die Konten verarbeitet werden.\n"
|
||||||
"nacharbeiten müssen, um den Export in ein für Sie nützliches Format zu "
|
|
||||||
"bringen. Jede Buchung taucht nur ein Mal im Export auf und zwar in der "
|
|
||||||
"Reihenfolge, in der die Konten verarbeitet werden.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Wenn Sie das einfache Layout auswählen, entspricht die Ausgabe der "
|
"Das Format für Preis/Wechselkurs wird in den allgemeinen Einstellungen festgelegt, Allgemein -> Preise als Dezimalzahlen festlegen.\n"
|
||||||
"einzeiligen Konto-Ansicht. Dabei werden die nicht angezeigten Buchungsfelder "
|
|
||||||
"allerdings nicht exportiert.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"Wählen Sie jetzt die Einstellungen und klicken Sie dann »Weiter« für den "
|
"Wenn Sie das einfache Layout auswählen, entspricht die Ausgabe der einzeiligen Konto-Ansicht. Dabei werden die nicht angezeigten Buchungsfelder allerdings nicht exportiert.\n"
|
||||||
"Export oder »Abbrechen« zum Abbrechen des Exports.\n"
|
"\n"
|
||||||
|
"Wählen Sie jetzt die Einstellungen und klicken Sie dann »Weiter« für den Export oder »Abbrechen« zum Abbrechen des Exports.\n"
|
||||||
|
|
||||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:762
|
#: gnucash/import-export/csv-exp/assistant-csv-export.c:762
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -26046,7 +26002,7 @@ msgstr "Dauer zwischen Zeitperioden"
|
|||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:65
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:65
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:66
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:66
|
||||||
msgid "Period order is most recent first"
|
msgid "Period order is most recent first"
|
||||||
msgstr ""
|
msgstr "Perioden-Reihenfolge ist: Neueste zuerst"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:68
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:68
|
||||||
msgid "Enable dual columns"
|
msgid "Enable dual columns"
|
||||||
@ -26898,14 +26854,13 @@ msgid "Maximum number of stacks in the chart."
|
|||||||
msgstr "Die maximale Anzahl gestapelte Balken im Diagramm."
|
msgstr "Die maximale Anzahl gestapelte Balken im Diagramm."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/category-barchart.scm:290
|
#: gnucash/report/reports/standard/category-barchart.scm:290
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Invalid Transactions"
|
#| msgid "Invalid Transactions"
|
||||||
msgid "Invalid dates"
|
msgid "Invalid dates"
|
||||||
msgstr "Ungültige Buchungen"
|
msgstr "Ungültige Datumsangaben"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/category-barchart.scm:291
|
#: gnucash/report/reports/standard/category-barchart.scm:291
|
||||||
msgid "Start date must be earlier than End date"
|
msgid "Start date must be earlier than End date"
|
||||||
msgstr ""
|
msgstr "Anfangsdatum muss vor Enddatum liegen"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/category-barchart.scm:329
|
#: gnucash/report/reports/standard/category-barchart.scm:329
|
||||||
msgid "Daily Average"
|
msgid "Daily Average"
|
||||||
@ -27306,7 +27261,6 @@ msgstr "Filter"
|
|||||||
|
|
||||||
# Todo: I18N: wrong use of\n
|
# Todo: I18N: wrong use of\n
|
||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:48
|
#: gnucash/report/reports/standard/income-gst-statement.scm:48
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This report is useful to calculate periodic business tax payable/receivable "
|
"This report is useful to calculate periodic business tax payable/receivable "
|
||||||
"from authorities. From 'Edit report options', choose your business sales and "
|
"from authorities. From 'Edit report options', choose your business sales and "
|
||||||
@ -27314,14 +27268,13 @@ msgid ""
|
|||||||
"liability, A/Payable or A/Receivable accounts, a split to a tax account, e."
|
"liability, A/Payable or A/Receivable accounts, a split to a tax account, e."
|
||||||
"g. Income:Sales -$1000, A/Receivable $1100, Liability:GST on Sales -$100."
|
"g. Income:Sales -$1000, A/Receivable $1100, Liability:GST on Sales -$100."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Dieser Bericht ist unterstützt die Berechnung wiederkehrender geschäftlicher "
|
"Dieser Bericht unterstützt die Berechnung regelmäßiger geschäftlicher\n"
|
||||||
"Steuerzahlungen und -erstattungen.\n"
|
"Steuerzahlungen und -erstattungen. Wählen Sie unter\n"
|
||||||
"Wählen Sie unter »Berichtsoptionen« Ihre Geschäftskonten für Einnahmen und "
|
"»Berichtsoptionen« Ihre Geschäftskonten für Einnahmen und Ausgaben.\n"
|
||||||
"Ausgaben.\n"
|
"Ihre Buchungen können zusätzlich zu den Teilbuchungen nach Konten für\n"
|
||||||
"Ihre Buchungen können zusätzlich zu den Teilbuchungen nach Konten für offene "
|
"offene Forderungen oder Verbindlichkeiten und Bankkonten,\n"
|
||||||
"Forderungen oder Verbindlichkeiten und Bankkonten, Teilbuchungen nach "
|
"Teilbuchungen nach Steuerkonten enthalten, z. Bsp. 'Erträge:Verkäufe\n"
|
||||||
"Steuerkonten enthalten, z. Bsp. 'Erträge:Verkäufe -1.000; Verbindlichkeiten:"
|
"-1.000; Verbindlichkeiten:Steuer -190; Aktiva:Bank 1.190"
|
||||||
"Steuer -190; Aktiva:Bank 1.190"
|
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:56
|
#: gnucash/report/reports/standard/income-gst-statement.scm:56
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -27354,7 +27307,7 @@ msgid ""
|
|||||||
"Note the UK variant may specify EU VAT accounts may be tagged with *EUVAT* "
|
"Note the UK variant may specify EU VAT accounts may be tagged with *EUVAT* "
|
||||||
"in the VAT account description. EU Goods sales and purchase accounts may be "
|
"in the VAT account description. EU Goods sales and purchase accounts may be "
|
||||||
"tagged with *EUGOODS* in the account description."
|
"tagged with *EUGOODS* in the account description."
|
||||||
msgstr ""
|
msgstr "Hinweis zur UK-Variante: EU VAT Konten können mit *EUVAT* in der VAT-Kontobeschreibung vermerkt sein. EU Waren Einkauf und Lieferungen können mit *EUGOODS* in der Kontobeschreibung vermerkt sein."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:71
|
#: gnucash/report/reports/standard/income-gst-statement.scm:71
|
||||||
msgid "This message will be removed when tax accounts are specified."
|
msgid "This message will be removed when tax accounts are specified."
|
||||||
@ -27454,7 +27407,6 @@ msgid "Default Format"
|
|||||||
msgstr "Voreingestelltes Format"
|
msgstr "Voreingestelltes Format"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:167
|
#: gnucash/report/reports/standard/income-gst-statement.scm:167
|
||||||
#, fuzzy
|
|
||||||
msgid "Australia BAS"
|
msgid "Australia BAS"
|
||||||
msgstr "Australien BAS"
|
msgstr "Australien BAS"
|
||||||
|
|
||||||
@ -27475,7 +27427,7 @@ msgid ""
|
|||||||
"UK VAT Return. Specify sales, purchase and tax accounts. EU rules may be "
|
"UK VAT Return. Specify sales, purchase and tax accounts. EU rules may be "
|
||||||
"used. Denote EU VAT accounts *EUVAT* in account description, and denote EU "
|
"used. Denote EU VAT accounts *EUVAT* in account description, and denote EU "
|
||||||
"goods sales and purchases accounts with *EUGOODS* in the account description."
|
"goods sales and purchases accounts with *EUGOODS* in the account description."
|
||||||
msgstr ""
|
msgstr "UK Steuererklärung (VAT). Gibt Umsatz, Aufwendungen und Steuerkonten an. EU Regeln können angewendet werden. EU VAT Konten können mit *EUVAT* in der Kontobeschreibung vermerkt werden, und EU Waren und Aufwandskonten mit *EUGOODS*."
|
||||||
|
|
||||||
#. Translators: "Gross Sales" refer to Net Sales + GST/VAT on Sales
|
#. Translators: "Gross Sales" refer to Net Sales + GST/VAT on Sales
|
||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:313
|
#: gnucash/report/reports/standard/income-gst-statement.scm:313
|
||||||
@ -30825,7 +30777,7 @@ msgstr "Kein Umtauschkurs verfügbar in SX [%s] für %s -> %s, Wert ist Null."
|
|||||||
|
|
||||||
#: libgnucash/app-utils/gnc-ui-balances.c:409
|
#: libgnucash/app-utils/gnc-ui-balances.c:409
|
||||||
msgid "Account is already at Auto-Clear Balance."
|
msgid "Account is already at Auto-Clear Balance."
|
||||||
msgstr ""
|
msgstr "Kontosaldo entspricht bereits dem Auto-Abgleich Saldo."
|
||||||
|
|
||||||
#: libgnucash/app-utils/gnc-ui-balances.c:455
|
#: libgnucash/app-utils/gnc-ui-balances.c:455
|
||||||
msgid "Too many uncleared splits"
|
msgid "Too many uncleared splits"
|
||||||
@ -31338,244 +31290,3 @@ msgstr "Buchung ungültig gemacht"
|
|||||||
#: libgnucash/tax/us/txf.scm:122
|
#: libgnucash/tax/us/txf.scm:122
|
||||||
msgid "No help available."
|
msgid "No help available."
|
||||||
msgstr "Keine Hilfe verfügbar."
|
msgstr "Keine Hilfe verfügbar."
|
||||||
|
|
||||||
#~ msgid ">>"
|
|
||||||
#~ msgstr ">>"
|
|
||||||
|
|
||||||
#~ msgid "<<"
|
|
||||||
#~ msgstr "<<"
|
|
||||||
|
|
||||||
#~ msgid "<b>Accounts</b>"
|
|
||||||
#~ msgstr "<b>Konten</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Dates</b>"
|
|
||||||
#~ msgstr "<b>Datumsbereich</b>"
|
|
||||||
|
|
||||||
#~ msgid "Sho_w All"
|
|
||||||
#~ msgstr "_Alle anzeigen"
|
|
||||||
|
|
||||||
#~ msgid "•"
|
|
||||||
#~ msgstr "~"
|
|
||||||
|
|
||||||
#~ msgid "<b>Currency To</b>"
|
|
||||||
#~ msgstr "<b>Zu Währung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Notes</b>"
|
|
||||||
#~ msgstr "<b>Beschreibung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Book Options</b>"
|
|
||||||
#~ msgstr "<b>Buch-Optionen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>General</b>"
|
|
||||||
#~ msgstr "<b>Allgemein</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Transactions</b>"
|
|
||||||
#~ msgstr "<b>Buchungen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Identification</b>"
|
|
||||||
#~ msgstr "<b>Identifizierung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>_Parent Account</b>"
|
|
||||||
#~ msgstr "<b>Ha_uptkonto</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>QIF Import</b>"
|
|
||||||
#~ msgstr "<b>QIF Import</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Terms</b>"
|
|
||||||
#~ msgstr "<b>Zahlungsbedingungen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Securities</b>"
|
|
||||||
#~ msgstr "<b>Wertpapiere</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Security Information</b>"
|
|
||||||
#~ msgstr "<b>Wertpapierinformationen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>1. Choose the file to import</b>"
|
|
||||||
#~ msgstr "<b>1. Wählen Sie die zu importierende Datei</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>3. Select import options</b>"
|
|
||||||
#~ msgstr "<b>3. Bestimmen Sie die Importoptionen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>4. Preview</b>"
|
|
||||||
#~ msgstr "<b>4. Vorschau</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Period</b>"
|
|
||||||
#~ msgstr "<b>Periode</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Colors</b>"
|
|
||||||
#~ msgstr "<b>Farben</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>_Notes</b>"
|
|
||||||
#~ msgstr "<b>Be_schreibung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Amount</b>"
|
|
||||||
#~ msgstr "<b>Betrag</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Start Date</b>"
|
|
||||||
#~ msgstr "<b>Anfangsdatum</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>End Date</b>"
|
|
||||||
#~ msgstr "<b>Enddatum</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Account Color</b>"
|
|
||||||
#~ msgstr "<b>Kontofarbe</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Fancy Date Format</b>"
|
|
||||||
#~ msgstr "<b>Ausführliches Datumsformat</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Date Format</b>"
|
|
||||||
#~ msgstr "<b>Datum</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Layout</b>"
|
|
||||||
#~ msgstr "<b>Layout</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Default zoom level</b>"
|
|
||||||
#~ msgstr "<b>Voreingestellte Vergrößerung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Online Quotes</b>"
|
|
||||||
#~ msgstr "<b>Online Kurse</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Name</b>"
|
|
||||||
#~ msgstr "<b>Name</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Options</b>"
|
|
||||||
#~ msgstr "<b>Optionen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Income Tax Identity</b>"
|
|
||||||
#~ msgstr "<b>Art der Steuererklärung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Tax Tables</b>"
|
|
||||||
#~ msgstr "<b>Steuertabellen</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Tax Table</b>"
|
|
||||||
#~ msgstr "<b>Steuertabelle</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Transfer From</b>"
|
|
||||||
#~ msgstr "<b>Herkunftskonto</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Transfer To</b>"
|
|
||||||
#~ msgstr "<b>Buchen nach</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>New Transaction Information</b>"
|
|
||||||
#~ msgstr "<b>Neue Buchung</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Progress</b>"
|
|
||||||
#~ msgstr "<b>Verlauf</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>From</b>"
|
|
||||||
#~ msgstr "<b>Von</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>To</b>"
|
|
||||||
#~ msgstr "<b>Bis</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>Online Banking</b>"
|
|
||||||
#~ msgstr "<b>Onlinebanking</b>"
|
|
||||||
|
|
||||||
#~ msgid "Search from "
|
|
||||||
#~ msgstr "Suche von "
|
|
||||||
|
|
||||||
#~ msgid "Search from Root"
|
|
||||||
#~ msgstr "Suchen von Hauptkonten"
|
|
||||||
|
|
||||||
#~ msgid "Search from Sub Account"
|
|
||||||
#~ msgstr "Suchen von Unterkonten"
|
|
||||||
|
|
||||||
#~ msgid "_Search"
|
|
||||||
#~ msgstr "_Suchen"
|
|
||||||
|
|
||||||
#~ msgid "xxx"
|
|
||||||
#~ msgstr "xxx"
|
|
||||||
|
|
||||||
#~ msgid "Text book style (experimental)"
|
|
||||||
#~ msgstr "Rechnungswesen-Stil (experimentell)"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "Show parent account subtotals, indented per accounting text book practice "
|
|
||||||
#~ "(experimental)."
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "Zeige Zwischensummen für übergeordnete Konten gemäß Rechnungswesen-Stil "
|
|
||||||
#~ "eingerückt an. (experimentell)."
|
|
||||||
|
|
||||||
#~ msgid "Company Name "
|
|
||||||
#~ msgstr "Firmenname "
|
|
||||||
|
|
||||||
#~ msgid "Increasing"
|
|
||||||
#~ msgstr "Aufsteigend"
|
|
||||||
|
|
||||||
#~ msgid "Decreasing"
|
|
||||||
#~ msgstr "Absteigend"
|
|
||||||
|
|
||||||
#~ msgid "type"
|
|
||||||
#~ msgstr "Typ"
|
|
||||||
|
|
||||||
#~ msgid "full_name"
|
|
||||||
#~ msgstr "Vollständige_Bezeichnung"
|
|
||||||
|
|
||||||
#~ msgid "name"
|
|
||||||
#~ msgstr "Name"
|
|
||||||
|
|
||||||
#~ msgid "code"
|
|
||||||
#~ msgstr "Kontonummer"
|
|
||||||
|
|
||||||
#~ msgid "description"
|
|
||||||
#~ msgstr "Beschreibung"
|
|
||||||
|
|
||||||
#~ msgid "color"
|
|
||||||
#~ msgstr "Farbe"
|
|
||||||
|
|
||||||
#~ msgid "notes"
|
|
||||||
#~ msgstr "Bemerkung"
|
|
||||||
|
|
||||||
#~ msgid "commoditym"
|
|
||||||
#~ msgstr "Devise/Wertpapier M"
|
|
||||||
|
|
||||||
#~ msgid "commodityn"
|
|
||||||
#~ msgstr "Devise/Wertpapier N"
|
|
||||||
|
|
||||||
#~ msgid "hidden"
|
|
||||||
#~ msgstr "Versteckt"
|
|
||||||
|
|
||||||
#~ msgid "tax"
|
|
||||||
#~ msgstr "Steuerrelevant"
|
|
||||||
|
|
||||||
#~ msgid "placeholder"
|
|
||||||
#~ msgstr "Platzhalter"
|
|
||||||
|
|
||||||
#~ msgid "_Open Read-Only"
|
|
||||||
#~ msgstr "_Schreibgeschützt öffnen"
|
|
||||||
|
|
||||||
#~ msgid "0"
|
|
||||||
#~ msgstr "0"
|
|
||||||
|
|
||||||
#~ msgid "1 /"
|
|
||||||
#~ msgstr "1 /"
|
|
||||||
|
|
||||||
#~ msgid "07/31/2013"
|
|
||||||
#~ msgstr "07/31/2013"
|
|
||||||
|
|
||||||
#~ msgid "31/07/2013"
|
|
||||||
#~ msgstr "31/07/2013"
|
|
||||||
|
|
||||||
#~ msgid "31.07.2013"
|
|
||||||
#~ msgstr "31.07.2013"
|
|
||||||
|
|
||||||
#~ msgid "2013-07-31"
|
|
||||||
#~ msgstr "2013-07-31"
|
|
||||||
|
|
||||||
#~ msgid "2"
|
|
||||||
#~ msgstr "2"
|
|
||||||
|
|
||||||
#~ msgid "2,00"
|
|
||||||
#~ msgstr "2,00"
|
|
||||||
|
|
||||||
#~ msgid "30"
|
|
||||||
#~ msgstr "30"
|
|
||||||
|
|
||||||
#~ msgid "1234567890123456789012345678901234567890"
|
|
||||||
#~ msgstr "1234567890123456789012345678901234567890"
|
|
||||||
|
|
||||||
#~ msgid "Searching for splits to clear ..."
|
|
||||||
#~ msgstr "Buchungsteile zum Abgleichen werden gesucht..."
|
|
||||||
|
|
||||||
#~ msgid "<b>Auto-Clear Information</b>"
|
|
||||||
#~ msgstr "<b>Information zum automatischen Kontenabgleich</b>"
|
|
||||||
|
6
po/el.po
6
po/el.po
@ -39,7 +39,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-17 15:18+0000\n"
|
"PO-Revision-Date: 2021-03-18 22:18+0000\n"
|
||||||
"Last-Translator: Katerina <katerina.gakou@hotmail.com>\n"
|
"Last-Translator: Katerina <katerina.gakou@hotmail.com>\n"
|
||||||
"Language-Team: Greek <https://hosted.weblate.org/projects/gnucash/gnucash/el/"
|
"Language-Team: Greek <https://hosted.weblate.org/projects/gnucash/gnucash/el/"
|
||||||
">\n"
|
">\n"
|
||||||
@ -2925,7 +2925,7 @@ msgstr "χρήστης"
|
|||||||
#: gnucash/gtkbuilder/dialog-print-check.glade:293
|
#: gnucash/gtkbuilder/dialog-print-check.glade:293
|
||||||
#: gnucash/gtkbuilder/gnc-date-format.glade:30
|
#: gnucash/gtkbuilder/gnc-date-format.glade:30
|
||||||
msgid "Custom"
|
msgid "Custom"
|
||||||
msgstr "Προσαρμοσμένο"
|
msgstr "Εξατομικευμένος"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-print-check.c:2602
|
#: gnucash/gnome/dialog-print-check.c:2602
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:3449
|
#: gnucash/gtkbuilder/dialog-preferences.glade:3449
|
||||||
@ -30600,7 +30600,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: libgnucash/engine/Account.cpp:4390
|
#: libgnucash/engine/Account.cpp:4390
|
||||||
msgid "Credit Card"
|
msgid "Credit Card"
|
||||||
msgstr "Πιστωτική κάρτα"
|
msgstr "Πιστωτική Κάρτα"
|
||||||
|
|
||||||
#: libgnucash/engine/Account.cpp:4392
|
#: libgnucash/engine/Account.cpp:4392
|
||||||
msgid "Stock"
|
msgid "Stock"
|
||||||
|
162
po/es.po
162
po/es.po
@ -7,15 +7,15 @@
|
|||||||
# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
|
# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
|
||||||
# Carlos Manrique Enguita <UO258425@uniovi.es>, 2021.
|
# Carlos Manrique Enguita <UO258425@uniovi.es>, 2021.
|
||||||
# Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>, 2021.
|
# Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>, 2021.
|
||||||
|
# Guille <willelopz+weblate@gmail.com>, 2021.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnucash 2.7.8\n"
|
"Project-Id-Version: gnucash 2.7.8\n"
|
||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-14 17:02+0000\n"
|
"PO-Revision-Date: 2021-03-28 22:29+0000\n"
|
||||||
"Last-Translator: Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail."
|
"Last-Translator: Guille <willelopz+weblate@gmail.com>\n"
|
||||||
"net>\n"
|
|
||||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
"Language-Team: Spanish <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||||
"es/>\n"
|
"es/>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@ -23,11 +23,11 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.5.2-dev\n"
|
"X-Generator: Weblate 4.6-dev\n"
|
||||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
"X-Poedit-KeywordsList: <b>;</b>;<span weight=\"bold\" size=\"larger\">;</"
|
"X-Poedit-KeywordsList: <b>;</b>;<span weight=\"bold\" size=\"larger\""
|
||||||
"span>;<span size=\"larger\" weight=\"bold\">\n"
|
">;</span>;<span size=\"larger\" weight=\"bold\">\n"
|
||||||
|
|
||||||
#: bindings/guile/commodity-table.scm:44
|
#: bindings/guile/commodity-table.scm:44
|
||||||
msgid "ALL NON-CURRENCY"
|
msgid "ALL NON-CURRENCY"
|
||||||
@ -517,6 +517,10 @@ msgid ""
|
|||||||
"community. For announcements of new releases, user groups etc. see the table "
|
"community. For announcements of new releases, user groups etc. see the table "
|
||||||
"at https://wiki.gnucash.org/wiki/Mailing_Lists"
|
"at https://wiki.gnucash.org/wiki/Mailing_Lists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Las listas de correo son el método de comunicación preferido por la "
|
||||||
|
"comunidad de GnuCash. Para los anuncios de nuevas versiones, grupos de "
|
||||||
|
"usuarios etc, consulta la tabla en https://wiki.gnucash.org/wiki/"
|
||||||
|
"Mailing_Lists"
|
||||||
|
|
||||||
#: doc/tip_of_the_day.list.c:9
|
#: doc/tip_of_the_day.list.c:9
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -1667,7 +1671,7 @@ msgstr "Corregir URL:"
|
|||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:190
|
#: gnucash/gnome/dialog-doclink.c:190
|
||||||
msgid "Enter URL like http://www.gnucash.org:"
|
msgid "Enter URL like http://www.gnucash.org:"
|
||||||
msgstr ""
|
msgstr "Introducir URL tipo http://www.gnucash.org:"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:205
|
#: gnucash/gnome/dialog-doclink.c:205
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -1707,7 +1711,7 @@ msgstr "El fichero de entrada no puede abrirse."
|
|||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:1361
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:1361
|
||||||
#: gnucash/gnome/gnc-plugin-page-register.c:631
|
#: gnucash/gnome/gnc-plugin-page-register.c:631
|
||||||
msgid "Manage Document Link"
|
msgid "Manage Document Link"
|
||||||
msgstr ""
|
msgstr "Gestionar enlace de documento"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:690
|
#: gnucash/gnome/dialog-doclink.c:690
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -2183,7 +2187,7 @@ msgstr[1] "La distribución impositiva %s no existe. ¿Quiere crearla?"
|
|||||||
#: gnucash/gnome/dialog-imap-editor.c:367
|
#: gnucash/gnome/dialog-imap-editor.c:367
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "To see the invalid mappings, use a filter of '%s'"
|
msgid "To see the invalid mappings, use a filter of '%s'"
|
||||||
msgstr ""
|
msgstr "Para ver las asociaciones inválidas, use un filtro de '%s'"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-imap-editor.c:367
|
#: gnucash/gnome/dialog-imap-editor.c:367
|
||||||
#: gnucash/gnome/dialog-imap-editor.c:604
|
#: gnucash/gnome/dialog-imap-editor.c:604
|
||||||
@ -4013,7 +4017,7 @@ msgstr "Abre “Encontrar Comprobante de Gasto” como diálogo"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-business.c:278
|
#: gnucash/gnome/gnc-plugin-business.c:278
|
||||||
msgid "Business Linked Documents"
|
msgid "Business Linked Documents"
|
||||||
msgstr ""
|
msgstr "Documentos enlazados con negocios"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-business.c:279
|
#: gnucash/gnome/gnc-plugin-business.c:279
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -4366,6 +4370,8 @@ msgstr "Borrar"
|
|||||||
#: gnucash/gnome/gnc-plugin-page-register.c:5065
|
#: gnucash/gnome/gnc-plugin-page-register.c:5065
|
||||||
msgid "'Check & Repair' is currently running, do you want to abort it?"
|
msgid "'Check & Repair' is currently running, do you want to abort it?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"'Comprobar y reparar' está siendo ejecutado en este momento, ¿Desea abortar "
|
||||||
|
"la operación?"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:520
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:520
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:526
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:526
|
||||||
@ -4404,22 +4410,23 @@ msgid "Accounts"
|
|||||||
msgstr "Cuentas"
|
msgstr "Cuentas"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1429
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1429
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Account %s does not have the same currency as the one you're moving "
|
"Account %s does not have the same currency as the one you're moving "
|
||||||
"transactions from.\n"
|
"transactions from.\n"
|
||||||
"Are you sure you want to do this?"
|
"Are you sure you want to do this?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Va a sobrescribir una transacción existente. ¿Seguro que quiere hacer esto?"
|
"La cuenta %s no usa la misma moneda que la cuenta desde la que está moviendo "
|
||||||
|
"la transacción.\n"
|
||||||
|
"¿Seguro que quiere hacer esto?"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1437
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1437
|
||||||
#, fuzzy
|
|
||||||
msgid "_Pick another account"
|
msgid "_Pick another account"
|
||||||
msgstr "_Seleccionar cuenta de transferencia"
|
msgstr "_Seleccionar otra cuenta"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1438
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1438
|
||||||
msgid "_Do it anyway"
|
msgid "_Do it anyway"
|
||||||
msgstr ""
|
msgstr "_Hacerlo de todos modos"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1521
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1521
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1657
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1657
|
||||||
@ -4486,9 +4493,8 @@ msgid "Are you sure you want to do this?"
|
|||||||
msgstr "¿Seguro que quiere hacer esto?"
|
msgstr "¿Seguro que quiere hacer esto?"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:147
|
#: gnucash/gnome/gnc-plugin-page-budget.c:147
|
||||||
#, fuzzy
|
|
||||||
msgid "Open the selected account."
|
msgid "Open the selected account."
|
||||||
msgstr "Abre la cuenta seleccionada"
|
msgstr "Abrir la cuenta seleccionada."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:152
|
#: gnucash/gnome/gnc-plugin-page-budget.c:152
|
||||||
msgid "Open _Subaccounts"
|
msgid "Open _Subaccounts"
|
||||||
@ -4506,7 +4512,7 @@ msgstr "_Borrar presupuesto"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:160
|
#: gnucash/gnome/gnc-plugin-page-budget.c:160
|
||||||
msgid "Select this or another budget and delete it."
|
msgid "Select this or another budget and delete it."
|
||||||
msgstr ""
|
msgstr "Seleccionar éste u otro presupuesto y eliminarlo."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:164
|
#: gnucash/gnome/gnc-plugin-page-budget.c:164
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -4802,7 +4808,7 @@ msgstr "_Liquidar factura"
|
|||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:366
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:366
|
||||||
#: gnucash/gnome/gnc-plugin-page-register.c:300
|
#: gnucash/gnome/gnc-plugin-page-register.c:300
|
||||||
msgid "_Manage Document Link..."
|
msgid "_Manage Document Link..."
|
||||||
msgstr ""
|
msgstr "_Gestionar enlace de documento..."
|
||||||
|
|
||||||
#. Translators: This is a menu item that opens an external file or URI that may
|
#. Translators: This is a menu item that opens an external file or URI that may
|
||||||
#. be linked to the current bill, invoice, transaction, or voucher using
|
#. be linked to the current bill, invoice, transaction, or voucher using
|
||||||
@ -4819,11 +4825,11 @@ msgstr "Cuenta No Enlazada"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:310
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:310
|
||||||
msgid "_Use as Default Layout for Customer Documents"
|
msgid "_Use as Default Layout for Customer Documents"
|
||||||
msgstr ""
|
msgstr "_Usar como diseño por defecto para documentos de cliente"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:311
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:311
|
||||||
msgid "_Reset Default Layout for Customer Documents"
|
msgid "_Reset Default Layout for Customer Documents"
|
||||||
msgstr ""
|
msgstr "_Reestablecer diseño por defecto para documentos de cliente"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:317
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:317
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -4862,11 +4868,11 @@ msgstr "Liquidar Recibo"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:331
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:331
|
||||||
msgid "_Use as Default Layout for Vendor Documents"
|
msgid "_Use as Default Layout for Vendor Documents"
|
||||||
msgstr ""
|
msgstr "_Usar como diseño por defecto para documentos de proveedor"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:332
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:332
|
||||||
msgid "_Reset Default Layout for Vendor Documents"
|
msgid "_Reset Default Layout for Vendor Documents"
|
||||||
msgstr ""
|
msgstr "_Reestablecer diseño por defecto para documentos de proveedor"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:338
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:338
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -4905,11 +4911,11 @@ msgstr "Comprobante"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:352
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:352
|
||||||
msgid "_Use as Default Layout for Employee Documents"
|
msgid "_Use as Default Layout for Employee Documents"
|
||||||
msgstr ""
|
msgstr "_Usar como diseño por defecto para documentos de empleado"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:353
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:353
|
||||||
msgid "_Reset Default Layout for Employee Documents"
|
msgid "_Reset Default Layout for Employee Documents"
|
||||||
msgstr ""
|
msgstr "_Reestablecer diseño por defecto para documentos de empleado"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:359
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:359
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -5001,6 +5007,8 @@ msgstr "Cuenta No Enlazada"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Use the current layout as default for all customer invoices and credit notes"
|
"Use the current layout as default for all customer invoices and credit notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Usar el diseño actual como predeterminado para todas las facturas de cliente "
|
||||||
|
"y notas de crédito"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:389
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:389
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -5056,6 +5064,8 @@ msgstr "Abre un boletín de sociedad para el titular de esta Factura"
|
|||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:409
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:409
|
||||||
msgid "Use the current layout as default for all vendor bills and credit notes"
|
msgid "Use the current layout as default for all vendor bills and credit notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Usar el diseño actual como predeterminado para todas las facturas de "
|
||||||
|
"proveedor y notas de crédito"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:410
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:410
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -5166,7 +5176,7 @@ msgstr "Abre un boletín de sociedad para el titular de esta Factura"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:445
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:445
|
||||||
msgid "Manage Document Link..."
|
msgid "Manage Document Link..."
|
||||||
msgstr ""
|
msgstr "Gestionar enlace de documento..."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:452
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:452
|
||||||
#: gnucash/gnome/gnc-plugin-page-register2.c:498
|
#: gnucash/gnome/gnc-plugin-page-register2.c:498
|
||||||
@ -6075,7 +6085,7 @@ msgstr "Ordenar %s por…"
|
|||||||
#: gnucash/gnome/gnc-plugin-page-register.c:4751
|
#: gnucash/gnome/gnc-plugin-page-register.c:4751
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s %s from %s, posted %s, amount %s"
|
msgid "%s %s from %s, posted %s, amount %s"
|
||||||
msgstr ""
|
msgstr "%s %s de %s, contabilizado el %s, monto %s"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-register.c:4760
|
#: gnucash/gnome/gnc-plugin-page-register.c:4760
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -6086,6 +6096,8 @@ msgstr "Seleccionar Cuenta"
|
|||||||
#: gnucash/gnome/gnc-plugin-page-register.c:4761
|
#: gnucash/gnome/gnc-plugin-page-register.c:4761
|
||||||
msgid "Several documents are linked with this transaction. Please choose one:"
|
msgid "Several documents are linked with this transaction. Please choose one:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Varios documentos están conectados con esta transacción. Por favor, escoja "
|
||||||
|
"uno:"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-register.c:4762
|
#: gnucash/gnome/gnc-plugin-page-register.c:4762
|
||||||
#: gnucash/gnome-search/dialog-search.c:323
|
#: gnucash/gnome-search/dialog-search.c:323
|
||||||
@ -6838,7 +6850,7 @@ msgstr "Guión"
|
|||||||
|
|
||||||
#: gnucash/gnome/report-menus.scm:118
|
#: gnucash/gnome/report-menus.scm:118
|
||||||
msgid "A basic dashboard for your accounting data"
|
msgid "A basic dashboard for your accounting data"
|
||||||
msgstr ""
|
msgstr "Un tablero básico para sus datos de contabilidad"
|
||||||
|
|
||||||
#: gnucash/gnome/search-owner.c:136
|
#: gnucash/gnome/search-owner.c:136
|
||||||
msgid "You have not selected an owner"
|
msgid "You have not selected an owner"
|
||||||
@ -7183,6 +7195,8 @@ msgid ""
|
|||||||
"This may cause issues for future reconciliation actions on this account. "
|
"This may cause issues for future reconciliation actions on this account. "
|
||||||
"Please double-check this is the date you intended."
|
"Please double-check this is the date you intended."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Esto puede causar problemas con acciones de reconciliación futuras en esta "
|
||||||
|
"cuenta. Por favor, compruebe que ésta sea la fecha deseada."
|
||||||
|
|
||||||
#: gnucash/gnome/window-reconcile.c:1852
|
#: gnucash/gnome/window-reconcile.c:1852
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -7682,7 +7696,7 @@ msgstr ""
|
|||||||
#: gnucash/gnome-utils/dialog-account.c:1328
|
#: gnucash/gnome-utils/dialog-account.c:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"An account with opening balance already exists for the desired currency."
|
"An account with opening balance already exists for the desired currency."
|
||||||
msgstr ""
|
msgstr "Ya existe una cuenta con saldos iniciales para la moneda deseada."
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-account.c:1329
|
#: gnucash/gnome-utils/dialog-account.c:1329
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -7906,7 +7920,7 @@ msgstr "Emplear Existente"
|
|||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-dup-trans.c:148
|
#: gnucash/gnome-utils/dialog-dup-trans.c:148
|
||||||
msgid "Use +- keys to increment/decrement number"
|
msgid "Use +- keys to increment/decrement number"
|
||||||
msgstr ""
|
msgstr "Use las teclas +- para incrementar /reducir el número"
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-dup-trans.c:297
|
#: gnucash/gnome-utils/dialog-dup-trans.c:297
|
||||||
msgid "Action/Number"
|
msgid "Action/Number"
|
||||||
@ -8159,7 +8173,7 @@ msgstr "nombre"
|
|||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-tax-table.c:634
|
#: gnucash/gnome-utils/dialog-tax-table.c:634
|
||||||
msgid "Please enter new name"
|
msgid "Please enter new name"
|
||||||
msgstr ""
|
msgstr "Introduzca un nuevo nombre, por favor"
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-tax-table.c:635
|
#: gnucash/gnome-utils/dialog-tax-table.c:635
|
||||||
#: gnucash/gtkbuilder/dialog-tax-table.glade:74
|
#: gnucash/gtkbuilder/dialog-tax-table.glade:74
|
||||||
@ -9144,7 +9158,7 @@ msgstr "Cerrar _sin guardar"
|
|||||||
|
|
||||||
#: gnucash/gnome-utils/gnc-main-window.c:1452
|
#: gnucash/gnome-utils/gnc-main-window.c:1452
|
||||||
msgid "This window is closing and will not be restored."
|
msgid "This window is closing and will not be restored."
|
||||||
msgstr ""
|
msgstr "Esta ventana se cerrará y no será restaurada."
|
||||||
|
|
||||||
#: gnucash/gnome-utils/gnc-main-window.c:1458
|
#: gnucash/gnome-utils/gnc-main-window.c:1458
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -10503,7 +10517,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: gnucash/gnucash-cli.cpp:185
|
#: gnucash/gnucash-cli.cpp:185
|
||||||
msgid "Unknown report command '{1}'"
|
msgid "Unknown report command '{1}'"
|
||||||
msgstr ""
|
msgstr "Comando de informe desconocido '{1}'"
|
||||||
|
|
||||||
#: gnucash/gnucash-cli.cpp:191
|
#: gnucash/gnucash-cli.cpp:191
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -10562,7 +10576,7 @@ msgstr "Opciones del Libro"
|
|||||||
|
|
||||||
#: gnucash/gnucash-core-app.cpp:517
|
#: gnucash/gnucash-core-app.cpp:517
|
||||||
msgid "Show this help message"
|
msgid "Show this help message"
|
||||||
msgstr ""
|
msgstr "Mostrar este mensaje de ayuda"
|
||||||
|
|
||||||
#: gnucash/gnucash-core-app.cpp:519
|
#: gnucash/gnucash-core-app.cpp:519
|
||||||
msgid "Show GnuCash version"
|
msgid "Show GnuCash version"
|
||||||
@ -12709,7 +12723,7 @@ msgstr ""
|
|||||||
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:14
|
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:14
|
||||||
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:117
|
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:117
|
||||||
msgid "Confirm Window Close"
|
msgid "Confirm Window Close"
|
||||||
msgstr ""
|
msgstr "Confirme el cierre de la ventana"
|
||||||
|
|
||||||
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:15
|
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:15
|
||||||
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:118
|
#: gnucash/gschemas/org.gnucash.warnings.gschema.xml.in:118
|
||||||
@ -13980,6 +13994,9 @@ msgid ""
|
|||||||
"If not satisfied with the available templates, please read the wiki page "
|
"If not satisfied with the available templates, please read the wiki page "
|
||||||
"linked below and share your new or improved template."
|
"linked below and share your new or improved template."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"En caso de no estar satisfecho con las plantillas disponibles, lea por favor "
|
||||||
|
"la página de la wiki enlazada debajo y comparta sus plantillas nuevas o "
|
||||||
|
"mejoradas."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-hierarchy.glade:490
|
#: gnucash/gtkbuilder/assistant-hierarchy.glade:490
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -15387,6 +15404,8 @@ msgid ""
|
|||||||
"This account holds opening balance transactions. Only one account per "
|
"This account holds opening balance transactions. Only one account per "
|
||||||
"commodity can hold opening balance transactions."
|
"commodity can hold opening balance transactions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Esta cuenta contiene las transacciones de los saldo de apertura. Únicamente "
|
||||||
|
"una cuenta por cada valor puede contener transacciones de saldo de apertura."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-account.glade:1564
|
#: gnucash/gtkbuilder/dialog-account.glade:1564
|
||||||
msgid "<b>Acco_unt Type</b>"
|
msgid "<b>Acco_unt Type</b>"
|
||||||
@ -16039,6 +16058,8 @@ msgstr ""
|
|||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:178
|
#: gnucash/gtkbuilder/dialog-doclink.glade:178
|
||||||
msgid "Note: Only Document Links that are not read-only will be changed."
|
msgid "Note: Only Document Links that are not read-only will be changed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Nota: Únicamente los enlaces a documentos que no son de solo lectura serán "
|
||||||
|
"modificados."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:279
|
#: gnucash/gtkbuilder/dialog-doclink.glade:279
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -16053,7 +16074,7 @@ msgstr "Dibujo Ubicativo"
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:380
|
#: gnucash/gtkbuilder/dialog-doclink.glade:380
|
||||||
msgid "Enter URL like http://www.gnucash.org"
|
msgid "Enter URL like http://www.gnucash.org"
|
||||||
msgstr ""
|
msgstr "Introduzca URL como http://www.gnucash.org"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:425
|
#: gnucash/gtkbuilder/dialog-doclink.glade:425
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -16981,6 +17002,9 @@ msgid ""
|
|||||||
"window\n"
|
"window\n"
|
||||||
"Press 'Close' to return to the preference window\n"
|
"Press 'Close' to return to the preference window\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Pulse 'Reset' para usar el separador de cuentas original y cerrar la ventana "
|
||||||
|
"de preferencias\n"
|
||||||
|
"Pulse 'Cerrar' para regresar a la ventana de preferencias\n"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:240
|
#: gnucash/gtkbuilder/dialog-preferences.glade:240
|
||||||
msgid "GnuCash Preferences"
|
msgid "GnuCash Preferences"
|
||||||
@ -17238,7 +17262,7 @@ msgstr "Cuantos dígitos decimales automáticos se rellenarán."
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1372
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1372
|
||||||
msgid "Numbers, Date, Time"
|
msgid "Numbers, Date, Time"
|
||||||
msgstr ""
|
msgstr "Números, Fecha, Hora"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1403
|
#: gnucash/gtkbuilder/dialog-preferences.glade:1403
|
||||||
msgid "Perform account list _setup on new file"
|
msgid "Perform account list _setup on new file"
|
||||||
@ -19216,7 +19240,7 @@ msgstr "Periodo del presupuesto último"
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:116
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:116
|
||||||
msgid "Replace"
|
msgid "Replace"
|
||||||
msgstr ""
|
msgstr "Reemplazar"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:120
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:120
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -20884,12 +20908,13 @@ msgstr ""
|
|||||||
#: gnucash/import-export/bi-import/dialog-bi-import.c:534
|
#: gnucash/import-export/bi-import/dialog-bi-import.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error(s) in invoice %s, all rows of this invoice ignored.\n"
|
msgid "Error(s) in invoice %s, all rows of this invoice ignored.\n"
|
||||||
msgstr ""
|
msgstr "Error(es) en factura %s, ignoradas todas las filas de esta factura.\n"
|
||||||
|
|
||||||
#: gnucash/import-export/bi-import/dialog-bi-import.c:540
|
#: gnucash/import-export/bi-import/dialog-bi-import.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error(s) in invoice without id, all rows of this invoice ignored.\n"
|
msgid "Error(s) in invoice without id, all rows of this invoice ignored.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Error(es) en factura sin id, ignoradas todas las filas de esta factura.\n"
|
||||||
|
|
||||||
#: gnucash/import-export/bi-import/dialog-bi-import.c:648
|
#: gnucash/import-export/bi-import/dialog-bi-import.c:648
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
@ -22376,7 +22401,7 @@ msgstr "¿Coteja?"
|
|||||||
|
|
||||||
#: gnucash/import-export/qif-imp/assistant-qif-import.c:3886
|
#: gnucash/import-export/qif-imp/assistant-qif-import.c:3886
|
||||||
msgid "QIF import requires guile with regex support."
|
msgid "QIF import requires guile with regex support."
|
||||||
msgstr ""
|
msgstr "Importación QIF requiere guile con soporte para regex."
|
||||||
|
|
||||||
#: gnucash/import-export/qif-imp/dialog-account-picker.c:235
|
#: gnucash/import-export/qif-imp/dialog-account-picker.c:235
|
||||||
msgid "Enter a name for the account"
|
msgid "Enter a name for the account"
|
||||||
@ -22627,6 +22652,8 @@ msgstr ""
|
|||||||
#, scheme-format
|
#, scheme-format
|
||||||
msgid "ERROR: ALPHAVANTAGE_API_KEY must be set for currency and quotes; see ~A"
|
msgid "ERROR: ALPHAVANTAGE_API_KEY must be set for currency and quotes; see ~A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"ERROR: ALPHAVANTAGE_API_KEY tiene que ser establecida para monedas y "
|
||||||
|
"cotizaciones; ver ~A"
|
||||||
|
|
||||||
#: gnucash/price-quotes.scm:460
|
#: gnucash/price-quotes.scm:460
|
||||||
msgid "There was a system error while retrieving the price quotes."
|
msgid "There was a system error while retrieving the price quotes."
|
||||||
@ -22657,7 +22684,7 @@ msgstr "¿Añado cotizaciones óptimas restantes?"
|
|||||||
#: gnucash/price-quotes.scm:535
|
#: gnucash/price-quotes.scm:535
|
||||||
#, scheme-format
|
#, scheme-format
|
||||||
msgid "Found Finance::Quote version ~A."
|
msgid "Found Finance::Quote version ~A."
|
||||||
msgstr ""
|
msgstr "Encontrado Finance::Quote versión ~A."
|
||||||
|
|
||||||
#: gnucash/python/init.py:18
|
#: gnucash/python/init.py:18
|
||||||
#: gnucash/report/reports/example/welcome-to-gnucash.scm:49
|
#: gnucash/report/reports/example/welcome-to-gnucash.scm:49
|
||||||
@ -24817,19 +24844,19 @@ msgstr "Muestra"
|
|||||||
|
|
||||||
#: gnucash/report/reports/example/sample-graphs.scm:142
|
#: gnucash/report/reports/example/sample-graphs.scm:142
|
||||||
msgid "Pie:"
|
msgid "Pie:"
|
||||||
msgstr ""
|
msgstr "Circular:"
|
||||||
|
|
||||||
#: gnucash/report/reports/example/sample-graphs.scm:147
|
#: gnucash/report/reports/example/sample-graphs.scm:147
|
||||||
msgid "Bar, normal:"
|
msgid "Bar, normal:"
|
||||||
msgstr ""
|
msgstr "Barras, normal:"
|
||||||
|
|
||||||
#: gnucash/report/reports/example/sample-graphs.scm:152
|
#: gnucash/report/reports/example/sample-graphs.scm:152
|
||||||
msgid "Bar, stacked:"
|
msgid "Bar, stacked:"
|
||||||
msgstr ""
|
msgstr "Barras, superpuestas:"
|
||||||
|
|
||||||
#: gnucash/report/reports/example/sample-graphs.scm:157
|
#: gnucash/report/reports/example/sample-graphs.scm:157
|
||||||
msgid "Scatter:"
|
msgid "Scatter:"
|
||||||
msgstr ""
|
msgstr "Dispersión:"
|
||||||
|
|
||||||
#: gnucash/report/reports/example/welcome-to-gnucash.scm:41
|
#: gnucash/report/reports/example/welcome-to-gnucash.scm:41
|
||||||
#, scheme-format
|
#, scheme-format
|
||||||
@ -25863,7 +25890,7 @@ msgstr "Cantidad remitida"
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:56
|
#: gnucash/report/reports/standard/balance-forecast.scm:56
|
||||||
msgid "The reserve amount is set to a minimum balance desired"
|
msgid "The reserve amount is set to a minimum balance desired"
|
||||||
msgstr ""
|
msgstr "La cantidad de reserva se fija al balance mínimo deseado"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:59
|
#: gnucash/report/reports/standard/balance-forecast.scm:59
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:60
|
#: gnucash/report/reports/standard/balance-forecast.scm:60
|
||||||
@ -25873,13 +25900,15 @@ msgstr "Mostrar distribución"
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:62
|
#: gnucash/report/reports/standard/balance-forecast.scm:62
|
||||||
msgid "Target amount above reserve"
|
msgid "Target amount above reserve"
|
||||||
msgstr ""
|
msgstr "Cantidad objetivo sobre la reserva"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:63
|
#: gnucash/report/reports/standard/balance-forecast.scm:63
|
||||||
msgid ""
|
msgid ""
|
||||||
"The target is used to plan for a future large purchase, which will be added "
|
"The target is used to plan for a future large purchase, which will be added "
|
||||||
"as a line above the reserve amount."
|
"as a line above the reserve amount."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"El objetivo se usa para planificar una gran compra en el futuro, y será "
|
||||||
|
"añadido como una línea sobre la cantidad de reserva."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:67
|
#: gnucash/report/reports/standard/balance-forecast.scm:67
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -25899,7 +25928,7 @@ msgstr "Cargo"
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-forecast.scm:266
|
#: gnucash/report/reports/standard/balance-forecast.scm:266
|
||||||
msgid "Reserve"
|
msgid "Reserve"
|
||||||
msgstr ""
|
msgstr "Reserva"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balance-sheet.scm:71
|
#: gnucash/report/reports/standard/balance-sheet.scm:71
|
||||||
#: gnucash/report/reports/standard/trial-balance.scm:574
|
#: gnucash/report/reports/standard/trial-balance.scm:574
|
||||||
@ -26248,7 +26277,7 @@ msgstr ""
|
|||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:65
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:65
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:66
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:66
|
||||||
msgid "Period order is most recent first"
|
msgid "Period order is most recent first"
|
||||||
msgstr ""
|
msgstr "El orden de los perîodos es el más reciente primero"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:68
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:68
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -26257,17 +26286,19 @@ msgstr "Columnas de ventas individuales"
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:69
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:69
|
||||||
msgid "Selecting this option will enable double-column reporting."
|
msgid "Selecting this option will enable double-column reporting."
|
||||||
msgstr ""
|
msgstr "Seleccionar esta opción habilita el reportar en doble columna."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:72
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:72
|
||||||
msgid "Disable amount indenting"
|
msgid "Disable amount indenting"
|
||||||
msgstr ""
|
msgstr "Deshabilitar indentación de cantidades"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:73
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:73
|
||||||
msgid ""
|
msgid ""
|
||||||
"Selecting this option will disable amount indenting, and condense amounts "
|
"Selecting this option will disable amount indenting, and condense amounts "
|
||||||
"into a single column."
|
"into a single column."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Seleccionar esta opción deshabilitará la indentación de cantidades, y "
|
||||||
|
"condensará las cantidades en una única columna."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:75
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:75
|
||||||
#: gnucash/report/trep-engine.scm:98
|
#: gnucash/report/trep-engine.scm:98
|
||||||
@ -26281,13 +26312,15 @@ msgstr "Añadir resumen de opciones."
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:78
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:78
|
||||||
msgid "Account full name instead of indenting"
|
msgid "Account full name instead of indenting"
|
||||||
msgstr ""
|
msgstr "Nombre completo de cuenta en lugar de indentación"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:79
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:79
|
||||||
msgid ""
|
msgid ""
|
||||||
"Selecting this option enables full account name instead, and disables "
|
"Selecting this option enables full account name instead, and disables "
|
||||||
"indenting account names."
|
"indenting account names."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Seleccionar esta opción habilita el nombre de cuenta completo y deshabilita "
|
||||||
|
"los nombres de cuentas indentados."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:87
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:87
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -26373,6 +26406,8 @@ msgid ""
|
|||||||
"If several profit & loss period columns are shown, also show overall period "
|
"If several profit & loss period columns are shown, also show overall period "
|
||||||
"profit & loss."
|
"profit & loss."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"En caso de que se muestren varias columnas de períodos de ganancias y "
|
||||||
|
"pérdidas, mostrar también las ganancias y pérdidas globales."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:248
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:248
|
||||||
#: gnucash/report/trep-engine.scm:600
|
#: gnucash/report/trep-engine.scm:600
|
||||||
@ -26867,11 +26902,11 @@ msgstr "Enseñar la diferencia como presupuesto - efectiva."
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/budget.scm:58
|
#: gnucash/report/reports/standard/budget.scm:58
|
||||||
msgid "Use accumulated amounts"
|
msgid "Use accumulated amounts"
|
||||||
msgstr ""
|
msgstr "Usar cantidades acumuladas"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/budget.scm:59
|
#: gnucash/report/reports/standard/budget.scm:59
|
||||||
msgid "Values are accumulated across periods."
|
msgid "Values are accumulated across periods."
|
||||||
msgstr ""
|
msgstr "Los valores son acumulados a través de los períodos."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/budget.scm:60
|
#: gnucash/report/reports/standard/budget.scm:60
|
||||||
msgid "Show Column with Totals"
|
msgid "Show Column with Totals"
|
||||||
@ -27128,7 +27163,7 @@ msgstr "Transacciones Inválidas"
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/category-barchart.scm:291
|
#: gnucash/report/reports/standard/category-barchart.scm:291
|
||||||
msgid "Start date must be earlier than End date"
|
msgid "Start date must be earlier than End date"
|
||||||
msgstr ""
|
msgstr "La fecha de inicio debe ser anterior a la fecha de fin"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/category-barchart.scm:329
|
#: gnucash/report/reports/standard/category-barchart.scm:329
|
||||||
msgid "Daily Average"
|
msgid "Daily Average"
|
||||||
@ -27588,6 +27623,7 @@ msgstr ""
|
|||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:71
|
#: gnucash/report/reports/standard/income-gst-statement.scm:71
|
||||||
msgid "This message will be removed when tax accounts are specified."
|
msgid "This message will be removed when tax accounts are specified."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Este mensaje desaparecerá cuando las cuentas impositivas sean especificadas."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/income-gst-statement.scm:110
|
#: gnucash/report/reports/standard/income-gst-statement.scm:110
|
||||||
msgid "Individual sales columns"
|
msgid "Individual sales columns"
|
||||||
@ -27854,7 +27890,7 @@ msgstr "Dibujo Ubicativo"
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/invoice.scm:207
|
#: gnucash/report/reports/standard/invoice.scm:207
|
||||||
msgid "Location for Picture"
|
msgid "Location for Picture"
|
||||||
msgstr ""
|
msgstr "Ubicación para Imagen"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/invoice.scm:213
|
#: gnucash/report/reports/standard/invoice.scm:213
|
||||||
#: gnucash/report/reports/standard/register.scm:354
|
#: gnucash/report/reports/standard/register.scm:354
|
||||||
@ -29509,10 +29545,12 @@ msgstr "Hasta"
|
|||||||
#: gnucash/report/stylesheets/css.scm:119
|
#: gnucash/report/stylesheets/css.scm:119
|
||||||
msgid "CSS code. This field specifies the CSS code for styling reports."
|
msgid "CSS code. This field specifies the CSS code for styling reports."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Código CSS. Este campo especifica el código CSS para dar estilo a los "
|
||||||
|
"reportes."
|
||||||
|
|
||||||
#: gnucash/report/stylesheets/css.scm:209
|
#: gnucash/report/stylesheets/css.scm:209
|
||||||
msgid "</style is disallowed in CSS. Using default CSS."
|
msgid "</style is disallowed in CSS. Using default CSS."
|
||||||
msgstr ""
|
msgstr "</style no está permitido en CSS. Usando CSS predeterminado."
|
||||||
|
|
||||||
#: gnucash/report/stylesheets/css.scm:228
|
#: gnucash/report/stylesheets/css.scm:228
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -29970,7 +30008,7 @@ msgstr "Emplear expresión regular para filtrar transacción"
|
|||||||
|
|
||||||
#: gnucash/report/trep-engine.scm:116
|
#: gnucash/report/trep-engine.scm:116
|
||||||
msgid "Transaction Filter excludes matched strings"
|
msgid "Transaction Filter excludes matched strings"
|
||||||
msgstr ""
|
msgstr "El filtro de transacciones excluye las cadenas de texto coincidentes"
|
||||||
|
|
||||||
#: gnucash/report/trep-engine.scm:118
|
#: gnucash/report/trep-engine.scm:118
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -31066,7 +31104,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: libgnucash/app-utils/gnc-ui-balances.c:455
|
#: libgnucash/app-utils/gnc-ui-balances.c:455
|
||||||
msgid "Too many uncleared splits"
|
msgid "Too many uncleared splits"
|
||||||
msgstr ""
|
msgstr "Demasiadas divisiones no compensadas"
|
||||||
|
|
||||||
#: libgnucash/app-utils/gnc-ui-balances.c:471
|
#: libgnucash/app-utils/gnc-ui-balances.c:471
|
||||||
msgid "The selected amount cannot be cleared."
|
msgid "The selected amount cannot be cleared."
|
||||||
@ -31200,6 +31238,8 @@ msgid ""
|
|||||||
"This report was saved using a later version of GnuCash. One of the newer ~a "
|
"This report was saved using a later version of GnuCash. One of the newer ~a "
|
||||||
"options '~a' is not available, fallback to the option '~a'."
|
"options '~a' is not available, fallback to the option '~a'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Este informe fue guardado usando una versión más reciente de GnuCash. Una de "
|
||||||
|
"las nuevas ~a opciones '~a' no está disponible, revertir a la opción '~a'."
|
||||||
|
|
||||||
#: libgnucash/app-utils/option-util.c:1663
|
#: libgnucash/app-utils/option-util.c:1663
|
||||||
#, c-format
|
#, c-format
|
||||||
|
@ -10,7 +10,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-17 15:18+0000\n"
|
"PO-Revision-Date: 2021-03-20 14:18+0000\n"
|
||||||
"Last-Translator: Katerina <katerina.gakou@hotmail.com>\n"
|
"Last-Translator: Katerina <katerina.gakou@hotmail.com>\n"
|
||||||
"Language-Team: Greek <https://hosted.weblate.org/projects/gnucash/glossary/"
|
"Language-Team: Greek <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||||
"el/>\n"
|
"el/>\n"
|
||||||
@ -177,9 +177,8 @@ msgid "action: POS"
|
|||||||
msgstr "ενέργεια: POS"
|
msgstr "ενέργεια: POS"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
#, fuzzy
|
|
||||||
msgid "action: rebate"
|
msgid "action: rebate"
|
||||||
msgstr "Aλλαγή τμήματος"
|
msgstr "ενέργεια: έκπτωση"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "action: sell"
|
msgid "action: sell"
|
||||||
@ -194,41 +193,36 @@ msgid "action: transfer"
|
|||||||
msgstr "ενέργεια: μεταφορά"
|
msgstr "ενέργεια: μεταφορά"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
#, fuzzy
|
|
||||||
msgid "action: wire"
|
msgid "action: wire"
|
||||||
msgstr "Ώρα δημιουργίας"
|
msgstr "ενέργεια: τραπεζικό έμβασμα"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "action: withdraw"
|
msgid "action: withdraw"
|
||||||
msgstr ""
|
msgstr "ενέργεια: ανάληψη"
|
||||||
|
|
||||||
#. "As in: payable aging, or: receivable aging. The aging report categorizes payables or receivables based on time buckets. This gives an overview of which bills or invoices are overdue at which time in the future. "
|
#. "As in: payable aging, or: receivable aging. The aging report categorizes payables or receivables based on time buckets. This gives an overview of which bills or invoices are overdue at which time in the future. "
|
||||||
msgid "aging"
|
msgid "aging"
|
||||||
msgstr ""
|
msgstr "χρονολογική κατάσταση"
|
||||||
|
|
||||||
#. "A sum of money"
|
#. "A sum of money"
|
||||||
#, fuzzy
|
|
||||||
msgid "amount"
|
msgid "amount"
|
||||||
msgstr "μήνας"
|
msgstr "ποσό"
|
||||||
|
|
||||||
#. "The result of adding several amounts together and then dividing this total by the number of amounts"
|
#. "The result of adding several amounts together and then dividing this total by the number of amounts"
|
||||||
#, fuzzy
|
|
||||||
msgid "average"
|
msgid "average"
|
||||||
msgstr "Μέσος"
|
msgstr "μέσος όρος"
|
||||||
|
|
||||||
#. "The amount of money that is in one's account"
|
#. "The amount of money that is in one's account"
|
||||||
msgid "balance (noun)"
|
msgid "balance (noun)"
|
||||||
msgstr ""
|
msgstr "υπόλοιπο λογαριασμού"
|
||||||
|
|
||||||
#. "Balance brought forward - usually the first entry of an account statement containing the 'balance c/f' of the previous billing period or page"
|
#. "Balance brought forward - usually the first entry of an account statement containing the 'balance c/f' of the previous billing period or page"
|
||||||
#, fuzzy
|
|
||||||
msgid "balance b/f"
|
msgid "balance b/f"
|
||||||
msgstr "Ισορροπία"
|
msgstr "υπόλοιπο εκ μεταφοράς"
|
||||||
|
|
||||||
#. "Balance carried forward - usually the last entry of an account statement to be used as 'balance b/f' on the next billing period or page"
|
#. "Balance carried forward - usually the last entry of an account statement to be used as 'balance b/f' on the next billing period or page"
|
||||||
#, fuzzy
|
|
||||||
msgid "balance c/f"
|
msgid "balance c/f"
|
||||||
msgstr "Ισορροπία"
|
msgstr "υπόλοιπο σε μεταφορά"
|
||||||
|
|
||||||
#. "A written record of money received and paid out, showing the difference between the two total amounts"
|
#. "A written record of money received and paid out, showing the difference between the two total amounts"
|
||||||
msgid "balance sheet"
|
msgid "balance sheet"
|
||||||
@ -248,7 +242,7 @@ msgstr "απόδειξη"
|
|||||||
|
|
||||||
#. "see invoice owner"
|
#. "see invoice owner"
|
||||||
msgid "bill owner"
|
msgid "bill owner"
|
||||||
msgstr ""
|
msgstr "εκδότης τιμολογίου"
|
||||||
|
|
||||||
#. "Conditions on paying a bill. Both an invoice and a bill have billing terms. For example, you can have 'terms' of 'Net-30', where the bill is due in full in 30 days."
|
#. "Conditions on paying a bill. Both an invoice and a bill have billing terms. For example, you can have 'terms' of 'Net-30', where the bill is due in full in 30 days."
|
||||||
msgid "billing terms"
|
msgid "billing terms"
|
||||||
@ -304,9 +298,8 @@ msgstr "Κλείσιμο καταγραφών"
|
|||||||
|
|
||||||
#
|
#
|
||||||
#. "An article that is bought and sold. The most general term of what an account keeps track of, e.g. a currency or a stock."
|
#. "An article that is bought and sold. The most general term of what an account keeps track of, e.g. a currency or a stock."
|
||||||
#, fuzzy
|
|
||||||
msgid "commodity"
|
msgid "commodity"
|
||||||
msgstr "Διάπραξη"
|
msgstr "προϊόν"
|
||||||
|
|
||||||
#. "e.g. NASDAQ"
|
#. "e.g. NASDAQ"
|
||||||
msgid "commodity listing"
|
msgid "commodity listing"
|
||||||
@ -345,14 +338,13 @@ msgid "credit note"
|
|||||||
msgstr "Ο χρήστης διέκοψε την μεταφορά"
|
msgstr "Ο χρήστης διέκοψε την μεταφορά"
|
||||||
|
|
||||||
#. "The system of money used in a country"
|
#. "The system of money used in a country"
|
||||||
#, fuzzy
|
|
||||||
msgid "currency"
|
msgid "currency"
|
||||||
msgstr "_Νόμισμα"
|
msgstr "νόμισμα"
|
||||||
|
|
||||||
# Translation of "custom" sucks! ("kata paraggelia"??? nah!)
|
# Translation of "custom" sucks! ("kata paraggelia"??? nah!)
|
||||||
#. "Custom print format (i.e. according to the user's wishes) as opposed to a template choice."
|
#. "Custom print format (i.e. according to the user's wishes) as opposed to a template choice."
|
||||||
msgid "Custom"
|
msgid "Custom"
|
||||||
msgstr "Προσαρμοσμένο"
|
msgstr "Εξατομικευμένος"
|
||||||
|
|
||||||
#. "Compact, well-structured presentation of informations. See https://en.wikipedia.org/wiki/Dashboard_(business)"
|
#. "Compact, well-structured presentation of informations. See https://en.wikipedia.org/wiki/Dashboard_(business)"
|
||||||
msgid "dashboard"
|
msgid "dashboard"
|
||||||
@ -365,35 +357,31 @@ msgstr "βάση δεδομένων"
|
|||||||
#
|
#
|
||||||
#. "A specific numbered day of the month"
|
#. "A specific numbered day of the month"
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Ημ/νία"
|
msgstr "Ημερομηνία"
|
||||||
|
|
||||||
#. "DD/MM/YY or MM/DD/YY or something else"
|
#. "DD/MM/YY or MM/DD/YY or something else"
|
||||||
#, fuzzy
|
|
||||||
msgid "date format"
|
msgid "date format"
|
||||||
msgstr "Μορφή Ημ/νίας"
|
msgstr "μορφή ημερομηνίας"
|
||||||
|
|
||||||
#. "A range in time that is delimited by two distinct dates."
|
#. "A range in time that is delimited by two distinct dates."
|
||||||
#, fuzzy
|
|
||||||
msgid "date range"
|
msgid "date range"
|
||||||
msgstr "ημερομηνία αλλαγής"
|
msgstr "εύρος ημερομηνιών"
|
||||||
|
|
||||||
#. "(a) A written note in an account of a sum owed or paid out. (b) A sum withdrawn from an account."
|
#. "(a) A written note in an account of a sum owed or paid out. (b) A sum withdrawn from an account."
|
||||||
msgid "Debit (column in register)"
|
msgid "Debit (column in register)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. "Each option has a default setting that it is shipped with, until the user changes the setting."
|
#. "Each option has a default setting that it is shipped with, until the user changes the setting."
|
||||||
#, fuzzy
|
|
||||||
msgid "default"
|
msgid "default"
|
||||||
msgstr "Εξ' ορισμού"
|
msgstr "προεπιλογή"
|
||||||
|
|
||||||
#. "see credit"
|
#. "see credit"
|
||||||
msgid "deposit (in the reconcile dialog)"
|
msgid "deposit (in the reconcile dialog)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. "The process of something becoming less valuable"
|
#. "The process of something becoming less valuable"
|
||||||
#, fuzzy
|
|
||||||
msgid "depreciation"
|
msgid "depreciation"
|
||||||
msgstr "Έντονη ατμοσφαιρική κατακρήμνιση"
|
msgstr "μείωση της αξίας"
|
||||||
|
|
||||||
#. "1. One textfield per transaction. The text in it should describe what the transaction was about. A short descriptive phrase (up to 40 chars) 2. One textfield per account. It is intended to be a longer, 1-5 sentence description of what this account is all about."
|
#. "1. One textfield per transaction. The text in it should describe what the transaction was about. A short descriptive phrase (up to 40 chars) 2. One textfield per account. It is intended to be a longer, 1-5 sentence description of what this account is all about."
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -401,36 +389,32 @@ msgid "Description (column in register)"
|
|||||||
msgstr "Η περιγραφή περιέχει"
|
msgstr "Η περιγραφή περιέχει"
|
||||||
|
|
||||||
#. "Reductions to a basic price of goods or services. Your language might distinguish between discounts dealing with payments (billing terms) and others (invoice)."
|
#. "Reductions to a basic price of goods or services. Your language might distinguish between discounts dealing with payments (billing terms) and others (invoice)."
|
||||||
#, fuzzy
|
|
||||||
msgid "discount"
|
msgid "discount"
|
||||||
msgstr "λογαριασμός"
|
msgstr "έκπτωση"
|
||||||
|
|
||||||
#. "Important Buzzword :)"
|
#. "Important Buzzword :)"
|
||||||
#, fuzzy
|
|
||||||
msgid "double entry"
|
msgid "double entry"
|
||||||
msgstr "διπλό"
|
msgstr "διπλή καταχώρηση"
|
||||||
|
|
||||||
#. "Transactions or bills/invoices can contain a document link which links either to some file on the local disk or to some arbitrary URL."
|
#. "Transactions or bills/invoices can contain a document link which links either to some file on the local disk or to some arbitrary URL."
|
||||||
msgid "document link"
|
msgid "document link"
|
||||||
msgstr ""
|
msgstr "σύνδεσμος προς το αρχείο"
|
||||||
|
|
||||||
#. "Electronic mail. Some languages allow different writings, but each team should use only one. https://en.wikipedia.org/wiki/Email"
|
#. "Electronic mail. Some languages allow different writings, but each team should use only one. https://en.wikipedia.org/wiki/Email"
|
||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. "a person who works for somebody or a company in return for wages"
|
#. "a person who works for somebody or a company in return for wages"
|
||||||
#, fuzzy
|
|
||||||
msgid "employee"
|
msgid "employee"
|
||||||
msgstr "Πρότυπο"
|
msgstr "υπάλληλος"
|
||||||
|
|
||||||
#. "1. The money value of a property after all charges on it have been paid. Equity isn't debt, it's a representation of long-term capital (So combining it with liability isn't really very meaningful, except in the balance sheet. 2. (a) The value of the shares issued by a company. (b) Ordinary stocks and shares that carry no fixed interest."
|
#. "1. The money value of a property after all charges on it have been paid. Equity isn't debt, it's a representation of long-term capital (So combining it with liability isn't really very meaningful, except in the balance sheet. 2. (a) The value of the shares issued by a company. (b) Ordinary stocks and shares that carry no fixed interest."
|
||||||
#, fuzzy
|
|
||||||
msgid "equity"
|
msgid "equity"
|
||||||
msgstr "Ασφάλεια"
|
msgstr "ίδια κεφάλαια"
|
||||||
|
|
||||||
#. "Report that ... FIXME: Add description."
|
#. "Report that ... FIXME: Add description."
|
||||||
msgid "equity statement"
|
msgid "equity statement"
|
||||||
msgstr ""
|
msgstr "κατάσταση μεταβολών ιδίων κεφαλαίων"
|
||||||
|
|
||||||
#. "A trusted third party that holds a payment or deposit until a transaction is completed. In the US, many mortgage companies set up an escrow account when you get a mortgage. You pay into the account every month and they disburse amounts out of the escrow to pay for hazard insurance and property taxes. So they are holding funds 'in escrow' to complete the transactions (paying insurance and taxes)."
|
#. "A trusted third party that holds a payment or deposit until a transaction is completed. In the US, many mortgage companies set up an escrow account when you get a mortgage. You pay into the account every month and they disburse amounts out of the escrow to pay for hazard insurance and property taxes. So they are holding funds 'in escrow' to complete the transactions (paying insurance and taxes)."
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -438,23 +422,20 @@ msgid "escrow (account)"
|
|||||||
msgstr "προσωρινά"
|
msgstr "προσωρινά"
|
||||||
|
|
||||||
#. "The relation in value between the money used in different countries"
|
#. "The relation in value between the money used in different countries"
|
||||||
#, fuzzy
|
|
||||||
msgid "exchange rate"
|
msgid "exchange rate"
|
||||||
msgstr "Εναλλαγή Κεφαλαία-Μικρά"
|
msgstr "τιμή συναλλάγματος"
|
||||||
|
|
||||||
#. "in the account creation dialog??"
|
#. "in the account creation dialog??"
|
||||||
#, fuzzy
|
|
||||||
msgid "field"
|
msgid "field"
|
||||||
msgstr "Πεδίο"
|
msgstr "πεδίο"
|
||||||
|
|
||||||
#. "Any piece of information (text, graphics, executable) put together and given a name. All the information you have on the hard drive is arranged as a collection of files."
|
#. "Any piece of information (text, graphics, executable) put together and given a name. All the information you have on the hard drive is arranged as a collection of files."
|
||||||
msgid "file"
|
msgid "file"
|
||||||
msgstr "αρχείο"
|
msgstr "αρχείο"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
#, fuzzy
|
|
||||||
msgid "file type"
|
msgid "file type"
|
||||||
msgstr "Τύπος αρχείου:"
|
msgstr "τύπος αρχείου"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "financial calculator: interest rate"
|
msgid "financial calculator: interest rate"
|
||||||
@ -471,12 +452,11 @@ msgstr "Ο_νόματα Συναρτήσεων"
|
|||||||
|
|
||||||
#. "Free software is a matter of liberty, not price … see https://en.wikipedia.org/wiki/Free_software"
|
#. "Free software is a matter of liberty, not price … see https://en.wikipedia.org/wiki/Free_software"
|
||||||
msgid "free software"
|
msgid "free software"
|
||||||
msgstr ""
|
msgstr "ελεύθερο λογισμικό"
|
||||||
|
|
||||||
#. "An increase in wealth; profit; advantage (See also: capital gains)"
|
#. "An increase in wealth; profit; advantage (See also: capital gains)"
|
||||||
#, fuzzy
|
|
||||||
msgid "gain"
|
msgid "gain"
|
||||||
msgstr "Βροχή"
|
msgstr "κέρδος"
|
||||||
|
|
||||||
#. "Name of an automatically created account to get imbalanced transactions back in balance"
|
#. "Name of an automatically created account to get imbalanced transactions back in balance"
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -499,9 +479,8 @@ msgid "interest"
|
|||||||
msgstr "Δίκτυο"
|
msgstr "Δίκτυο"
|
||||||
|
|
||||||
#. "A list of goods sold or services provided together with the prices charged; see also: a bill. In Gnucash, an 'invoice' is a statement that we sent out (to a customer), whereas a 'bill' is one that we received (from a vendor)."
|
#. "A list of goods sold or services provided together with the prices charged; see also: a bill. In Gnucash, an 'invoice' is a statement that we sent out (to a customer), whereas a 'bill' is one that we received (from a vendor)."
|
||||||
#, fuzzy
|
|
||||||
msgid "invoice"
|
msgid "invoice"
|
||||||
msgstr "αρχάριος"
|
msgstr "τιμολόγιο"
|
||||||
|
|
||||||
#. "In business accounting: Jobs are a mechanism by which you can group multiple invoices or bills that belong to the same customer or vendor. The job describes a (larger) piece of work or a task undertaken on order, for which one or many invoices or bills will be issued."
|
#. "In business accounting: Jobs are a mechanism by which you can group multiple invoices or bills that belong to the same customer or vendor. The job describes a (larger) piece of work or a task undertaken on order, for which one or many invoices or bills will be issued."
|
||||||
msgid "job"
|
msgid "job"
|
||||||
@ -518,20 +497,17 @@ msgid "liabilities/equity"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. "A sum of money that is lent (by a bank), see also: financial calculator, Mortgage"
|
#. "A sum of money that is lent (by a bank), see also: financial calculator, Mortgage"
|
||||||
#, fuzzy
|
|
||||||
msgid "loan"
|
msgid "loan"
|
||||||
msgstr "Κορεάτικα"
|
msgstr "δάνειο"
|
||||||
|
|
||||||
#. "Annual Percentage Rate, includes in contrast to the Nominal Rate some of the various costs to obtain a loan."
|
#. "Annual Percentage Rate, includes in contrast to the Nominal Rate some of the various costs to obtain a loan."
|
||||||
#, fuzzy
|
|
||||||
msgid "loan: APR"
|
msgid "loan: APR"
|
||||||
msgstr "Κορεάτικα"
|
msgstr "δάνειο: ΣΕΠΕ"
|
||||||
|
|
||||||
#
|
#
|
||||||
#. "The money lost in business activity"
|
#. "The money lost in business activity"
|
||||||
#, fuzzy
|
|
||||||
msgid "loss"
|
msgid "loss"
|
||||||
msgstr "Κλείσιμο"
|
msgstr "χασούρα"
|
||||||
|
|
||||||
#. "name of an automatically created account"
|
#. "name of an automatically created account"
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
# Gabriel Ortiz Severino <gabrielortizseverino@gmail.com>, 2021.
|
# Gabriel Ortiz Severino <gabrielortizseverino@gmail.com>, 2021.
|
||||||
# Pablo <ppicapietra@gmail.com>, 2021.
|
# Pablo <ppicapietra@gmail.com>, 2021.
|
||||||
# Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>, 2021.
|
# Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>, 2021.
|
||||||
|
# Guille <willelopz+weblate@gmail.com>, 2021.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnucash-glossary 1.8.9\n"
|
"Project-Id-Version: gnucash-glossary 1.8.9\n"
|
||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-14 17:02+0000\n"
|
"PO-Revision-Date: 2021-03-20 22:04+0000\n"
|
||||||
"Last-Translator: Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>"
|
"Last-Translator: Guille <willelopz+weblate@gmail.com>\n"
|
||||||
"\n"
|
|
||||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/gnucash/glossary/"
|
"Language-Team: Spanish <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||||
"es/>\n"
|
"es/>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@ -198,7 +198,7 @@ msgstr "acción: transferencia"
|
|||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "action: wire"
|
msgid "action: wire"
|
||||||
msgstr ""
|
msgstr "acción: transferir"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "action: withdraw"
|
msgid "action: withdraw"
|
||||||
@ -371,7 +371,7 @@ msgstr "Debe (columna en el libro), Cargo"
|
|||||||
|
|
||||||
#. "Each option has a default setting that it is shipped with, until the user changes the setting."
|
#. "Each option has a default setting that it is shipped with, until the user changes the setting."
|
||||||
msgid "default"
|
msgid "default"
|
||||||
msgstr "defecto"
|
msgstr "predeterminado/a"
|
||||||
|
|
||||||
#. "see credit"
|
#. "see credit"
|
||||||
msgid "deposit (in the reconcile dialog)"
|
msgid "deposit (in the reconcile dialog)"
|
||||||
@ -465,7 +465,7 @@ msgstr "importar"
|
|||||||
|
|
||||||
#. "Report that ... FIXME: add description. This report used to be called the 'Profit & Loss', but it was renamed on 2004-07-13."
|
#. "Report that ... FIXME: add description. This report used to be called the 'Profit & Loss', but it was renamed on 2004-07-13."
|
||||||
msgid "income statement"
|
msgid "income statement"
|
||||||
msgstr ""
|
msgstr "declaración de ingresos"
|
||||||
|
|
||||||
#. "Money charged for borrowing money, or paid to somebody who invests money"
|
#. "Money charged for borrowing money, or paid to somebody who invests money"
|
||||||
msgid "interest"
|
msgid "interest"
|
||||||
@ -506,9 +506,8 @@ msgid "Lost Accounts"
|
|||||||
msgstr "Cuentas perdidas"
|
msgstr "Cuentas perdidas"
|
||||||
|
|
||||||
#. "A particular collection of items that were bought in one transaction. A lot is typically formed when the item is bought, and is closed when the item is sold out. Needed e.g. for U.S. tax purposes."
|
#. "A particular collection of items that were bought in one transaction. A lot is typically formed when the item is bought, and is closed when the item is sold out. Needed e.g. for U.S. tax purposes."
|
||||||
#, fuzzy
|
|
||||||
msgid "Lot"
|
msgid "Lot"
|
||||||
msgstr "Tot."
|
msgstr "Lote"
|
||||||
|
|
||||||
#. "Combine two books into one (see book)."
|
#. "Combine two books into one (see book)."
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -566,7 +565,7 @@ msgstr "beneficio neta"
|
|||||||
|
|
||||||
#. "Your net worth is your assets minus your liabilities. If your accounts are balanced, your net worth should equal your equity plus your net profit."
|
#. "Your net worth is your assets minus your liabilities. If your accounts are balanced, your net worth should equal your equity plus your net profit."
|
||||||
msgid "net worth"
|
msgid "net worth"
|
||||||
msgstr ""
|
msgstr "patrimonio neto"
|
||||||
|
|
||||||
#. "One textfield per transaction that can hold explanatory text about the transaction."
|
#. "One textfield per transaction that can hold explanatory text about the transaction."
|
||||||
msgid "notes (register)"
|
msgid "notes (register)"
|
||||||
|
@ -10,7 +10,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-03 11:41+0000\n"
|
"PO-Revision-Date: 2021-03-21 13:29+0000\n"
|
||||||
"Last-Translator: Avi Markovitz <avi.markovitz@gmail.com>\n"
|
"Last-Translator: Avi Markovitz <avi.markovitz@gmail.com>\n"
|
||||||
"Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/glossary/"
|
"Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||||
"he/>\n"
|
"he/>\n"
|
||||||
@ -20,7 +20,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
|
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
|
||||||
"n % 10 == 0) ? 2 : 3));\n"
|
"n % 10 == 0) ? 2 : 3));\n"
|
||||||
"X-Generator: Weblate 4.5-dev\n"
|
"X-Generator: Weblate 4.5.2\n"
|
||||||
|
|
||||||
#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
|
#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
|
||||||
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Dutch translation of GNUCash glossary.
|
# Dutch translation of GNUCash glossary.
|
||||||
# Copyright (C) 2006 Free Software Foundation, Inc.
|
# Copyright (C) 2006 Free Software Foundation, Inc.
|
||||||
# Bernard Meens <meensb@xs4all.nl>, 2006.
|
# Bernard Meens <meensb@xs4all.nl>, 2006.
|
||||||
# Geert Janssens <geert@kobaltwit.be>, 2020
|
# Geert Janssens <geert@kobaltwit.be>, 2020, 2021.
|
||||||
# eol <joshua.de.clercq@gmail.com>, 2021.
|
# eol <joshua.de.clercq@gmail.com>, 2021.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -9,8 +9,8 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||||
"PO-Revision-Date: 2021-01-24 21:32+0000\n"
|
"PO-Revision-Date: 2021-03-27 11:29+0000\n"
|
||||||
"Last-Translator: eol <joshua.de.clercq@gmail.com>\n"
|
"Last-Translator: Geert Janssens <geert@kobaltwit.be>\n"
|
||||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/gnucash/glossary/"
|
"Language-Team: Dutch <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||||
"nl/>\n"
|
"nl/>\n"
|
||||||
"Language: nl\n"
|
"Language: nl\n"
|
||||||
@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.5-dev\n"
|
"X-Generator: Weblate 4.6-dev\n"
|
||||||
|
|
||||||
#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
|
#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
|
||||||
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
||||||
@ -314,7 +314,7 @@ msgstr "Credit"
|
|||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "Credit Card"
|
msgid "Credit Card"
|
||||||
msgstr "Credit Card"
|
msgstr "Creditcard"
|
||||||
|
|
||||||
#. "A transfer of money direct from one bank account to another, without using a cheque"
|
#. "A transfer of money direct from one bank account to another, without using a cheque"
|
||||||
msgid "credit transfer"
|
msgid "credit transfer"
|
||||||
@ -454,7 +454,7 @@ msgstr "inkomensverklaring"
|
|||||||
|
|
||||||
#. "Money charged for borrowing money, or paid to somebody who invests money"
|
#. "Money charged for borrowing money, or paid to somebody who invests money"
|
||||||
msgid "interest"
|
msgid "interest"
|
||||||
msgstr "interest"
|
msgstr "intrest"
|
||||||
|
|
||||||
#. "A list of goods sold or services provided together with the prices charged; see also: a bill. In Gnucash, an 'invoice' is a statement that we sent out (to a customer), whereas a 'bill' is one that we received (from a vendor)."
|
#. "A list of goods sold or services provided together with the prices charged; see also: a bill. In Gnucash, an 'invoice' is a statement that we sent out (to a customer), whereas a 'bill' is one that we received (from a vendor)."
|
||||||
msgid "invoice"
|
msgid "invoice"
|
||||||
@ -598,7 +598,7 @@ msgstr "betaling"
|
|||||||
|
|
||||||
#. "An account where no transactions may be posted to; transactions can only be posted to subaccounts of this account, so this account serves as a placeholder in the hierarchy"
|
#. "An account where no transactions may be posted to; transactions can only be posted to subaccounts of this account, so this account serves as a placeholder in the hierarchy"
|
||||||
msgid "placeholder"
|
msgid "placeholder"
|
||||||
msgstr "verzamelboek"
|
msgstr "aggregatie"
|
||||||
|
|
||||||
#. "A set of investments owned by a person"
|
#. "A set of investments owned by a person"
|
||||||
msgid "portfolio"
|
msgid "portfolio"
|
||||||
@ -638,7 +638,7 @@ msgstr "winst"
|
|||||||
|
|
||||||
#. "OBSOLETE. This report was renamed to 'income statement' on 2004-07-13. Old definition: A list that shows the amount of money spent compared with the amount earned by a business in a particular period"
|
#. "OBSOLETE. This report was renamed to 'income statement' on 2004-07-13. Old definition: A list that shows the amount of money spent compared with the amount earned by a business in a particular period"
|
||||||
msgid "Profit & Loss"
|
msgid "Profit & Loss"
|
||||||
msgstr "Winst & Verlies"
|
msgstr "Winst- en verliesrekening"
|
||||||
|
|
||||||
#. "-"
|
#. "-"
|
||||||
msgid "quick-fill"
|
msgid "quick-fill"
|
||||||
@ -698,7 +698,7 @@ msgstr "rapport vorm: vertikaal"
|
|||||||
|
|
||||||
#. "name of an equity account (?); to be distinguished from the opening balance."
|
#. "name of an equity account (?); to be distinguished from the opening balance."
|
||||||
msgid "Retained Earnings"
|
msgid "Retained Earnings"
|
||||||
msgstr "Winst reserves"
|
msgstr "Ingehouden winst"
|
||||||
|
|
||||||
#. "Create a new transaction that is the inverse of the old one. When you add the two together they completely cancel out. Accounts use this instead of voiding transactions, usually because the prior month has been closed and can no longer be changed, or the entire accounting system is 'write only'."
|
#. "Create a new transaction that is the inverse of the old one. When you add the two together they completely cancel out. Accounts use this instead of voiding transactions, usually because the prior month has been closed and can no longer be changed, or the entire accounting system is 'write only'."
|
||||||
msgid "reverse transaction, to (Action in the register)"
|
msgid "reverse transaction, to (Action in the register)"
|
||||||
@ -738,7 +738,7 @@ msgstr "bron"
|
|||||||
|
|
||||||
#. "One of the two or several parts a transaction is divided into"
|
#. "One of the two or several parts a transaction is divided into"
|
||||||
msgid "split"
|
msgid "split"
|
||||||
msgstr "deel"
|
msgstr "boekregel"
|
||||||
|
|
||||||
#. "This sets the particular design or shape of a report."
|
#. "This sets the particular design or shape of a report."
|
||||||
msgid "style sheet"
|
msgid "style sheet"
|
||||||
|
83
po/he.po
83
po/he.po
@ -11,7 +11,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-17 08:18+0000\n"
|
"PO-Revision-Date: 2021-03-28 11:29+0000\n"
|
||||||
"Last-Translator: Avi Markovitz <avi.markovitz@gmail.com>\n"
|
"Last-Translator: Avi Markovitz <avi.markovitz@gmail.com>\n"
|
||||||
"Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
"Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||||
"he/>\n"
|
"he/>\n"
|
||||||
@ -20,7 +20,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Weblate 4.5.2-dev\n"
|
"X-Generator: Weblate 4.6-dev\n"
|
||||||
"X-Poedit-Basepath: .\n"
|
"X-Poedit-Basepath: .\n"
|
||||||
|
|
||||||
#: bindings/guile/commodity-table.scm:44
|
#: bindings/guile/commodity-table.scm:44
|
||||||
@ -1459,7 +1459,7 @@ msgstr "הצגת/עריכת לקוח"
|
|||||||
|
|
||||||
#: gnucash/gnome/dialog-customer.c:911
|
#: gnucash/gnome/dialog-customer.c:911
|
||||||
msgid "Customer's Jobs"
|
msgid "Customer's Jobs"
|
||||||
msgstr "מטלות של הלקוח"
|
msgstr "ריכוזי לקוח"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-customer.c:913
|
#: gnucash/gnome/dialog-customer.c:913
|
||||||
msgid "Customer's Invoices"
|
msgid "Customer's Invoices"
|
||||||
@ -1575,7 +1575,7 @@ msgstr "נא להזין פורטן כגון http://www.gnucash.org:"
|
|||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:205
|
#: gnucash/gnome/dialog-doclink.c:205
|
||||||
msgid "Existing Document Link is"
|
msgid "Existing Document Link is"
|
||||||
msgstr "קישור המסמך הקיים הוא"
|
msgstr "הקישור למסמך הוא"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:461 gnucash/gnome/dialog-doclink.c:506
|
#: gnucash/gnome/dialog-doclink.c:461 gnucash/gnome/dialog-doclink.c:506
|
||||||
msgid "File Found"
|
msgid "File Found"
|
||||||
@ -1608,7 +1608,7 @@ msgstr "לא ניתן לערוך פריט עיסקי."
|
|||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:1361
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:1361
|
||||||
#: gnucash/gnome/gnc-plugin-page-register.c:631
|
#: gnucash/gnome/gnc-plugin-page-register.c:631
|
||||||
msgid "Manage Document Link"
|
msgid "Manage Document Link"
|
||||||
msgstr "ניהול קישור מסמכים"
|
msgstr "ניהול קישור מסמך"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:690
|
#: gnucash/gnome/dialog-doclink.c:690
|
||||||
msgid "Transaction can not be modified."
|
msgid "Transaction can not be modified."
|
||||||
@ -1674,13 +1674,13 @@ msgid ""
|
|||||||
"Double click on the entry in the Available column to modify the document "
|
"Double click on the entry in the Available column to modify the document "
|
||||||
"link."
|
"link."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"יש ללחוץ לחיצה כפולה על עמודת המזהה כדי לעבור אל הפריט העסקי.\n"
|
"הקשה כפולה על עמודת המזהה כדי לעבור אל הפריט העסקי.\n"
|
||||||
"יש ללחוץ לחיצה כפולה על עמודת הקישור כדי לפתוח את המסמך המקושר.\n"
|
"הקשה כפולה על עמודת הקישור כדי לפתוח את המסמך המקושר.\n"
|
||||||
"יש ללחוץ לחיצה כפולה על עמודת זמינות כדי לשנות את קישור המסמך."
|
"הקשה כפולה על עמודת זמינות כדי לשנות את קישור המסמך."
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-doclink.c:1033
|
#: gnucash/gnome/dialog-doclink.c:1033
|
||||||
msgid "Business Document Links"
|
msgid "Business Document Links"
|
||||||
msgstr "קישורים עסקיים"
|
msgstr "קישורי מסמכים עסקיים"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-employee.c:199
|
#: gnucash/gnome/dialog-employee.c:199
|
||||||
msgid "You must enter a username."
|
msgid "You must enter a username."
|
||||||
@ -2370,7 +2370,7 @@ msgstr "הערות לחשבונית"
|
|||||||
#: gnucash/gtkbuilder/dialog-job.glade:217
|
#: gnucash/gtkbuilder/dialog-job.glade:217
|
||||||
#: gnucash/report/reports/standard/invoice.scm:317
|
#: gnucash/report/reports/standard/invoice.scm:317
|
||||||
msgid "Billing ID"
|
msgid "Billing ID"
|
||||||
msgstr "מזהה חשבונית ספק"
|
msgstr "מזהה אמצעי תשלום לספק"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-invoice.c:3342 gnucash/gnome/dialog-invoice.c:3376
|
#: gnucash/gnome/dialog-invoice.c:3342 gnucash/gnome/dialog-invoice.c:3376
|
||||||
#: gnucash/gnome/dialog-invoice.c:3410
|
#: gnucash/gnome/dialog-invoice.c:3410
|
||||||
@ -3263,7 +3263,7 @@ msgstr "הצגת/עריכת ספק"
|
|||||||
|
|
||||||
#: gnucash/gnome/dialog-vendor.c:716
|
#: gnucash/gnome/dialog-vendor.c:716
|
||||||
msgid "Vendor's Jobs"
|
msgid "Vendor's Jobs"
|
||||||
msgstr "מטלות של הספק"
|
msgstr "ריכוזי ספק"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-vendor.c:718
|
#: gnucash/gnome/dialog-vendor.c:718
|
||||||
msgid "Vendor's Bills"
|
msgid "Vendor's Bills"
|
||||||
@ -4377,7 +4377,7 @@ msgstr "אפשרויות"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:223
|
#: gnucash/gnome/gnc-plugin-page-budget.c:223
|
||||||
msgid "Estimate"
|
msgid "Estimate"
|
||||||
msgstr "הערך"
|
msgstr "הערכה"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:224
|
#: gnucash/gnome/gnc-plugin-page-budget.c:224
|
||||||
msgid "All Periods"
|
msgid "All Periods"
|
||||||
@ -4414,7 +4414,7 @@ msgstr "למחוק %s?"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:1028
|
#: gnucash/gnome/gnc-plugin-page-budget.c:1028
|
||||||
msgid "You must select at least one account to estimate."
|
msgid "You must select at least one account to estimate."
|
||||||
msgstr "נא לבחור לפחות חשבון אחד להערכה."
|
msgstr "נא לבחור לפחות חשבון אחד לבצועה הערכה."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:1154
|
#: gnucash/gnome/gnc-plugin-page-budget.c:1154
|
||||||
msgid "You must select at least one account to edit."
|
msgid "You must select at least one account to edit."
|
||||||
@ -4595,7 +4595,7 @@ msgstr "_תשלום חשבון"
|
|||||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:366
|
#: gnucash/gnome/gnc-plugin-page-invoice.c:366
|
||||||
#: gnucash/gnome/gnc-plugin-page-register.c:300
|
#: gnucash/gnome/gnc-plugin-page-register.c:300
|
||||||
msgid "_Manage Document Link..."
|
msgid "_Manage Document Link..."
|
||||||
msgstr "_ניהול קישורי מסמך…"
|
msgstr "_ניהול קישור מסמך…"
|
||||||
|
|
||||||
#. Translators: This is a menu item that opens an external file or URI that may
|
#. Translators: This is a menu item that opens an external file or URI that may
|
||||||
#. be linked to the current bill, invoice, transaction, or voucher using
|
#. be linked to the current bill, invoice, transaction, or voucher using
|
||||||
@ -5064,7 +5064,7 @@ msgstr "לקוחות"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-owner-tree.c:631
|
#: gnucash/gnome/gnc-plugin-page-owner-tree.c:631
|
||||||
msgid "Jobs"
|
msgid "Jobs"
|
||||||
msgstr "מטלות"
|
msgstr "ריכוזים"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-owner-tree.c:636
|
#: gnucash/gnome/gnc-plugin-page-owner-tree.c:636
|
||||||
msgid "Vendors"
|
msgid "Vendors"
|
||||||
@ -6321,7 +6321,7 @@ msgstr "_הסרת פיצולים"
|
|||||||
|
|
||||||
#: gnucash/gnome/gnc-split-reg.c:1299
|
#: gnucash/gnome/gnc-split-reg.c:1299
|
||||||
msgid "Change a Transaction Linked Document"
|
msgid "Change a Transaction Linked Document"
|
||||||
msgstr "שינוי קישור מסמך תנועה"
|
msgstr "שינוי קישור למסמך המקושר לתנועה"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-split-reg.c:1440
|
#: gnucash/gnome/gnc-split-reg.c:1440
|
||||||
#: gnucash/gnome-utils/gnc-tree-control-split-reg.c:963
|
#: gnucash/gnome-utils/gnc-tree-control-split-reg.c:963
|
||||||
@ -7599,7 +7599,7 @@ msgstr "מטבע ספרים"
|
|||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-options.c:1320
|
#: gnucash/gnome-utils/dialog-options.c:1320
|
||||||
msgid "Default lot tracking policy"
|
msgid "Default lot tracking policy"
|
||||||
msgstr "מדיניות מעקב דבוקה ברירת מחדל"
|
msgstr "מדיניות מעקב דבוקת ברירת מחדל"
|
||||||
|
|
||||||
#: gnucash/gnome-utils/dialog-options.c:1343
|
#: gnucash/gnome-utils/dialog-options.c:1343
|
||||||
msgid "Default gain/loss account"
|
msgid "Default gain/loss account"
|
||||||
@ -14069,9 +14069,9 @@ msgid ""
|
|||||||
"for the share distribution. You can also enter a description of the "
|
"for the share distribution. You can also enter a description of the "
|
||||||
"transaction, or accept the default one."
|
"transaction, or accept the default one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"הזנת התאריך ומספר המניות שנוספו או נגרעו מתוצאת מפיצול או מיזוג מניות. "
|
"נא להזין תאריך ומספר המניות שנוספו או נגרעו כתוצאה מפיצול או מיזוג מניות. "
|
||||||
"למיזוג מניות (פיצולים שליליים) נא להשתמש בערך שלילי בהתפלגות המניה. ניתן גם "
|
"למיזוג מניות (פיצולים שליליים) נא להשתמש בערך שלילי בהתפלגות המניה. ניתן גם "
|
||||||
"להזין תיאור תנועה או לקבל את את ברירת המחדל."
|
"להזין תיאור תנועה או לקבל את תאור ברירת המחדל."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-stock-split.glade:151
|
#: gnucash/gtkbuilder/assistant-stock-split.glade:151
|
||||||
msgid "Desc_ription"
|
msgid "Desc_ription"
|
||||||
@ -15185,7 +15185,7 @@ msgid ""
|
|||||||
"Existing relative file path links will be converted to absolute ones by "
|
"Existing relative file path links will be converted to absolute ones by "
|
||||||
"combining them with the existing path head unless box unticked."
|
"combining them with the existing path head unless box unticked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"נתיב יחסי לקישורי קובצים יומרו לנתיב מוחלט על ידי שילובם עם הנתיב הראשי "
|
"נתיב יחסי לקישורי קבצים יומרו לנתיב מוחלט על ידי שילובם עם הנתיב הראשי "
|
||||||
"הקיים, אלה אם הוסר הסימון בתיבת הסימון."
|
"הקיים, אלה אם הוסר הסימון בתיבת הסימון."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-doclink.glade:140
|
#: gnucash/gtkbuilder/dialog-doclink.glade:140
|
||||||
@ -15256,9 +15256,9 @@ msgid ""
|
|||||||
"Double click on the entry in the Available column to modify the document "
|
"Double click on the entry in the Available column to modify the document "
|
||||||
"link."
|
"link."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"יש ללחוץ לחיצה כפולה על עמודת התיאור כדי לקפוץ אל העסקה.\n"
|
"הקשה כפולה על עמודת התיאור כדי לדילוג אל העסקה.\n"
|
||||||
"יש ללחוץ לחיצה כפולה על עמודת הקישור כדי לפתוח את המסמך המקושר.\n"
|
"הקשה כפולה על עמודת הקישור כדי לפתוח את המסמך המקושר.\n"
|
||||||
"יש ללחוץ לחיצה כפולה על עמודת הזמינות כדי לשנות את קישור המסמך."
|
"הקשה כפולה על עמודת הזמינות כדי לשנות את קישור המסמך."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-employee.glade:166
|
#: gnucash/gtkbuilder/dialog-employee.glade:166
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -15846,7 +15846,7 @@ msgstr "_ניקוי"
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-lot-viewer.glade:61
|
#: gnucash/gtkbuilder/dialog-lot-viewer.glade:61
|
||||||
msgid "Scrub the highlighted lot"
|
msgid "Scrub the highlighted lot"
|
||||||
msgstr "סגירת הדבוקה המודגשת"
|
msgstr "ניקוי הדבוקה המודגשת"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-lot-viewer.glade:78
|
#: gnucash/gtkbuilder/dialog-lot-viewer.glade:78
|
||||||
msgid "Delete the highlighted lot"
|
msgid "Delete the highlighted lot"
|
||||||
@ -18272,7 +18272,7 @@ msgstr "הכפלת תקציב נוכחי לכל תקופה ב'ערך'"
|
|||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:177
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:177
|
||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:316
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:316
|
||||||
msgid "The number of leading digits to keep when rounding"
|
msgid "The number of leading digits to keep when rounding"
|
||||||
msgstr "מספר ספרות מובילות לשמירה בעת עגול ספרות"
|
msgstr "מספר ספרות אחרי הנקודה העשרונית אותן יש לשמור בעת עגול ספרות"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:196
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:196
|
||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:334
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:334
|
||||||
@ -18295,7 +18295,7 @@ msgstr "שימוש בערך ממוצע מכל התקופות 'בפועל', עב
|
|||||||
msgid ""
|
msgid ""
|
||||||
"GnuCash will estimate budget values for the selected accounts from past "
|
"GnuCash will estimate budget values for the selected accounts from past "
|
||||||
"transactions."
|
"transactions."
|
||||||
msgstr "גנוקאש יעריך את ערכי תקציב לחשבונות שנבחרו לפי תנועות העבר."
|
msgstr "גנוקאש תבצעה אמדן ערכי תקציב לחשבונות שנבחרו על פי תנועות העבר."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:389
|
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:389
|
||||||
msgid "Use Average"
|
msgid "Use Average"
|
||||||
@ -19874,7 +19874,7 @@ msgstr "מזהה נמען"
|
|||||||
|
|
||||||
#: gnucash/import-export/bi-import/dialog-bi-import-gui.c:145
|
#: gnucash/import-export/bi-import/dialog-bi-import-gui.c:145
|
||||||
msgid "Billing-ID"
|
msgid "Billing-ID"
|
||||||
msgstr "מזהה חשבונית ספק"
|
msgstr "מזהה אמצעי תשלום לספק"
|
||||||
|
|
||||||
#: gnucash/import-export/bi-import/dialog-bi-import-gui.c:152
|
#: gnucash/import-export/bi-import/dialog-bi-import-gui.c:152
|
||||||
#: gnucash/register/ledger-core/gncEntryLedgerModel.c:92
|
#: gnucash/register/ledger-core/gncEntryLedgerModel.c:92
|
||||||
@ -24188,7 +24188,7 @@ msgstr "שימוש בקווים מתחת לעמודות מספרים מסוכמ
|
|||||||
#: gnucash/report/reports/standard/income-statement.scm:85
|
#: gnucash/report/reports/standard/income-statement.scm:85
|
||||||
#: gnucash/report/reports/standard/trial-balance.scm:125
|
#: gnucash/report/reports/standard/trial-balance.scm:125
|
||||||
msgid "Display accounts as hyperlinks"
|
msgid "Display accounts as hyperlinks"
|
||||||
msgstr "הצגת חשבונות כהיפר קישורים"
|
msgstr "הצגת חשבונות כהיפר-קישורים"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/account-summary.scm:111
|
#: gnucash/report/reports/standard/account-summary.scm:111
|
||||||
#: gnucash/report/reports/standard/balance-sheet.scm:111
|
#: gnucash/report/reports/standard/balance-sheet.scm:111
|
||||||
@ -24992,7 +24992,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:102
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:102
|
||||||
msgid "Display amounts as hyperlinks"
|
msgid "Display amounts as hyperlinks"
|
||||||
msgstr "הצגת סכומים כהיפר קישורים"
|
msgstr "הצגת סכומים כהיפר-קישורים"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/balsheet-pnl.scm:103
|
#: gnucash/report/reports/standard/balsheet-pnl.scm:103
|
||||||
msgid "Shows each amounts in the table as a hyperlink to a register or report."
|
msgid "Shows each amounts in the table as a hyperlink to a register or report."
|
||||||
@ -25551,9 +25551,7 @@ msgstr "הכללת תקופות מכווצות לפני הבחירה."
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Include in report previous periods as single collapsed column (one for all "
|
"Include in report previous periods as single collapsed column (one for all "
|
||||||
"periods before starting)"
|
"periods before starting)"
|
||||||
msgstr ""
|
msgstr "הכללת תקופות קודמות בדוח בעמודה בודדת (עמודה אחת לכל התקופות הקודמות)"
|
||||||
"הכללת תקופות קודמות בדוח כעמודה מכווצת אחת (אחת לכל התקופות הקודמות כעמודה "
|
|
||||||
"ראשונה)"
|
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/budget.scm:87
|
#: gnucash/report/reports/standard/budget.scm:87
|
||||||
msgid "Include collapsed periods after selected."
|
msgid "Include collapsed periods after selected."
|
||||||
@ -25564,7 +25562,7 @@ msgid ""
|
|||||||
"Include in report further periods as single collapsed column (one for all "
|
"Include in report further periods as single collapsed column (one for all "
|
||||||
"periods after ending and to the end of budget range)"
|
"periods after ending and to the end of budget range)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"הכללת תקופות עתידיות בדוח כעמודה מכווצת אחת (אחת לכל התקופות העתידיות בסוף "
|
"הכללת תקופות עתידיות בדוח בעמודה בודדת (עמודה אחת לכל התקופות העתידיות בסוף "
|
||||||
"הדוח ולאחר טווח התקציב)"
|
"הדוח ולאחר טווח התקציב)"
|
||||||
|
|
||||||
#. Translators: Abbreviation for "Budget" amount
|
#. Translators: Abbreviation for "Budget" amount
|
||||||
@ -26418,7 +26416,8 @@ msgstr "פרטי חשבונית"
|
|||||||
#: gnucash/report/reports/standard/invoice.scm:121
|
#: gnucash/report/reports/standard/invoice.scm:121
|
||||||
msgid "Invoice date, due date, billing ID, terms, job details"
|
msgid "Invoice date, due date, billing ID, terms, job details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"תאריך חשבונית, תאריך פרעון, מזהה חשבונית ספק, תנאי תשלום, פרטי מרכז חיובים"
|
"תאריך חשבונית, תאריך פרעון, מזהה אמצעי תשלום לספק, תנאי תשלום, פרטי מרכז "
|
||||||
|
"חיובים"
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/invoice.scm:123
|
#: gnucash/report/reports/standard/invoice.scm:123
|
||||||
#: gnucash/report/reports/standard/invoice.scm:124
|
#: gnucash/report/reports/standard/invoice.scm:124
|
||||||
@ -27255,7 +27254,7 @@ msgid ""
|
|||||||
"with one straight line. Unfortunately, the plotting tool can't handle that."
|
"with one straight line. Unfortunately, the plotting tool can't handle that."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"כל המחירים שנמצאו הם מאותו תאריך. מה שיוביל לתרשים עם קו ישר אחד. למרבה "
|
"כל המחירים שנמצאו הם מאותו תאריך. מה שיוביל לתרשים עם קו ישר אחד. למרבה "
|
||||||
"הצער, הכלי התרשים לא יכול להתמודד עם זה."
|
"הצער, כלי התרשים לא יכול להתמודד עם זה."
|
||||||
|
|
||||||
#: gnucash/report/reports/standard/price-scatter.scm:330
|
#: gnucash/report/reports/standard/price-scatter.scm:330
|
||||||
msgid "Price Scatterplot"
|
msgid "Price Scatterplot"
|
||||||
@ -28096,7 +28095,7 @@ msgstr "אפשור קישורים"
|
|||||||
#: gnucash/report/stylesheets/head-or-tail.scm:96
|
#: gnucash/report/stylesheets/head-or-tail.scm:96
|
||||||
#: gnucash/report/stylesheets/plain.scm:58
|
#: gnucash/report/stylesheets/plain.scm:58
|
||||||
msgid "Enable hyperlinks in reports."
|
msgid "Enable hyperlinks in reports."
|
||||||
msgstr "אפשור היפרקישורים בדוחות."
|
msgstr "אפשור היפר-קישורים בדוחות."
|
||||||
|
|
||||||
#: gnucash/report/stylesheets/footer.scm:83
|
#: gnucash/report/stylesheets/footer.scm:83
|
||||||
#: gnucash/report/stylesheets/footer.scm:431
|
#: gnucash/report/stylesheets/footer.scm:431
|
||||||
@ -28807,9 +28806,9 @@ msgid ""
|
|||||||
"expense accounts to equity, and must usually be excluded from periodic "
|
"expense accounts to equity, and must usually be excluded from periodic "
|
||||||
"reporting."
|
"reporting."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"כברירת מחדל, לרוב לא נדרש לכלול תנועות סגירה בדוח תנועות. תנועות סגירה הן "
|
"על פי רוב לא נדרש לכלול תנועות סגירה בדוח תנועות. תנועות סגירה הן יתרות "
|
||||||
"יתרות שעברו מחשבונות הכנסות והוצאות לחשבון הון העצמי, בדרך כלל יש להחריג "
|
"שעברו מחשבונות הכנסות והוצאות לחשבון הון העצמי, בדרך כלל יש להחריג תנועות "
|
||||||
"תנועות סגירה מדיווח תקופתי."
|
"סגירה מדיווח תקופתי."
|
||||||
|
|
||||||
#: gnucash/report/trep-engine.scm:700
|
#: gnucash/report/trep-engine.scm:700
|
||||||
msgid "Filter on these accounts."
|
msgid "Filter on these accounts."
|
||||||
@ -28937,7 +28936,7 @@ msgstr "לא מוצג סכום."
|
|||||||
|
|
||||||
#: gnucash/report/trep-engine.scm:1057
|
#: gnucash/report/trep-engine.scm:1057
|
||||||
msgid "Enable hyperlinks in amounts."
|
msgid "Enable hyperlinks in amounts."
|
||||||
msgstr "אפשור היפרקישורים בסכומים."
|
msgstr "אפשור היפר-קישורים בסכומים."
|
||||||
|
|
||||||
#: gnucash/report/trep-engine.scm:1062
|
#: gnucash/report/trep-engine.scm:1062
|
||||||
msgid "Reverse amount display for certain account types."
|
msgid "Reverse amount display for certain account types."
|
||||||
@ -29906,7 +29905,7 @@ msgstr "עלות ממוצעת של דבוקות פתוחות."
|
|||||||
|
|
||||||
#: libgnucash/engine/policy.c:62
|
#: libgnucash/engine/policy.c:62
|
||||||
msgid "Manually select lots."
|
msgid "Manually select lots."
|
||||||
msgstr "בחירת דבוקות ידנית."
|
msgstr "בחירת דבוקות באופן ידני."
|
||||||
|
|
||||||
#: libgnucash/engine/qofbookslots.h:66
|
#: libgnucash/engine/qofbookslots.h:66
|
||||||
msgid "Use Trading Accounts"
|
msgid "Use Trading Accounts"
|
||||||
@ -29998,7 +29997,7 @@ msgstr ""
|
|||||||
#: libgnucash/engine/ScrubBusiness.c:616
|
#: libgnucash/engine/ScrubBusiness.c:616
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Checking business lots in account %s: %u of %u"
|
msgid "Checking business lots in account %s: %u of %u"
|
||||||
msgstr "בדיקת דבוקות עסקיות בחשבון %s: %u מ %u"
|
msgstr "בדיקת דבוקות עסקיות בחשבון %s: %u מ- %u"
|
||||||
|
|
||||||
#: libgnucash/engine/ScrubBusiness.c:670
|
#: libgnucash/engine/ScrubBusiness.c:670
|
||||||
#, c-format
|
#, c-format
|
||||||
|
52
po/hr.po
52
po/hr.po
@ -5,10 +5,10 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GnuCash 4.2\n"
|
"Project-Id-Version: GnuCash 4.2\n"
|
||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-02 22:38+0000\n"
|
"PO-Revision-Date: 2021-03-25 12:29+0000\n"
|
||||||
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
|
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
|
||||||
"Language-Team: Croatian <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
"Language-Team: Croatian <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||||
"hr/>\n"
|
"hr/>\n"
|
||||||
@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
"X-Generator: Weblate 4.5\n"
|
"X-Generator: Weblate 4.5.2-dev\n"
|
||||||
|
|
||||||
#: bindings/guile/commodity-table.scm:44
|
#: bindings/guile/commodity-table.scm:44
|
||||||
msgid "ALL NON-CURRENCY"
|
msgid "ALL NON-CURRENCY"
|
||||||
@ -1844,10 +1844,9 @@ msgstr "Odnosi se na porez"
|
|||||||
#. Translators: %s is a full account name.
|
#. Translators: %s is a full account name.
|
||||||
#. This is a label in Search Account from context menu.
|
#. This is a label in Search Account from context menu.
|
||||||
#: gnucash/gnome/dialog-find-account.c:474
|
#: gnucash/gnome/dialog-find-account.c:474
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
#| msgid "Accounts in '%s'"
|
|
||||||
msgid "Su_b-accounts of '%s'"
|
msgid "Su_b-accounts of '%s'"
|
||||||
msgstr "Konti u „%s“"
|
msgstr "Po_dkonta od „%s”"
|
||||||
|
|
||||||
#: gnucash/gnome/dialog-find-transactions2.c:107
|
#: gnucash/gnome/dialog-find-transactions2.c:107
|
||||||
#: gnucash/gnome/dialog-find-transactions.c:105
|
#: gnucash/gnome/dialog-find-transactions.c:105
|
||||||
@ -4336,8 +4335,8 @@ msgid ""
|
|||||||
"of another account"
|
"of another account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Popis prikazuje objekte, koji koriste konto koji želiš izbrisati.\n"
|
"Popis prikazuje objekte, koji koriste konto koji želiš izbrisati.\n"
|
||||||
"Prije brisanja, objekte moraš obrisati ili promijeniti, tako da koriste "
|
"Prije brisanja, objekte moraš izbrisati ili promijeniti, tako da\n"
|
||||||
"jedan drugi konto"
|
"koriste jedan drugi konto"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1728
|
#: gnucash/gnome/gnc-plugin-page-account-tree.c:1728
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -4429,10 +4428,8 @@ msgid "Edit Note"
|
|||||||
msgstr "Uredi zabilješku"
|
msgstr "Uredi zabilješku"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:183
|
#: gnucash/gnome/gnc-plugin-page-budget.c:183
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Edit note for the selected account and period"
|
|
||||||
msgid "Edit note for the selected account and period."
|
msgid "Edit note for the selected account and period."
|
||||||
msgstr "Uredi zabilješku za odabrani račun i razdoblje"
|
msgstr "Uredi zabilješku za odabrani konto i razdoblje."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:187
|
#: gnucash/gnome/gnc-plugin-page-budget.c:187
|
||||||
#: gnucash/report/reports/standard/budget.scm:39
|
#: gnucash/report/reports/standard/budget.scm:39
|
||||||
@ -4440,10 +4437,8 @@ msgid "Budget Report"
|
|||||||
msgstr "Proračunski izvještaj"
|
msgstr "Proračunski izvještaj"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:189
|
#: gnucash/gnome/gnc-plugin-page-budget.c:189
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Print the current report"
|
|
||||||
msgid "Run the budget report."
|
msgid "Run the budget report."
|
||||||
msgstr "Ispiši trenutačni izvještaj"
|
msgstr "Pokreni proračunski izvještaj."
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:199
|
#: gnucash/gnome/gnc-plugin-page-budget.c:199
|
||||||
msgid "Refresh this window."
|
msgid "Refresh this window."
|
||||||
@ -4470,10 +4465,8 @@ msgid "Note"
|
|||||||
msgstr "Napomena"
|
msgstr "Napomena"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:226
|
#: gnucash/gnome/gnc-plugin-page-budget.c:226
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Account Report"
|
|
||||||
msgid "Run Report"
|
msgid "Run Report"
|
||||||
msgstr "Izvještaj o kontu"
|
msgstr "Pokreni izvještaj"
|
||||||
|
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:310
|
#: gnucash/gnome/gnc-plugin-page-budget.c:310
|
||||||
#: gnucash/gnome/gnc-plugin-page-budget.c:351
|
#: gnucash/gnome/gnc-plugin-page-budget.c:351
|
||||||
@ -13587,10 +13580,9 @@ msgstr "<b>Opis kategorije</b>"
|
|||||||
|
|
||||||
#. %s is an account template
|
#. %s is an account template
|
||||||
#: gnucash/gtkbuilder/assistant-hierarchy.glade:384
|
#: gnucash/gtkbuilder/assistant-hierarchy.glade:384
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
#| msgid "Accounts in '%s'"
|
|
||||||
msgid "Accounts in %s"
|
msgid "Accounts in %s"
|
||||||
msgstr "Konti u „%s“"
|
msgstr "Konta u %s"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/assistant-hierarchy.glade:477
|
#: gnucash/gtkbuilder/assistant-hierarchy.glade:477
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -15866,26 +15858,20 @@ msgid "Search the Account List"
|
|||||||
msgstr "Pretraži popis konta"
|
msgstr "Pretraži popis konta"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:38
|
#: gnucash/gtkbuilder/dialog-find-account.glade:38
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Close on Jump"
|
|
||||||
msgid "Close _on Jump"
|
msgid "Close _on Jump"
|
||||||
msgstr "Zatvori prilikom prelaska"
|
msgstr "_Zatvori prilikom prelaska"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:55
|
#: gnucash/gtkbuilder/dialog-find-account.glade:55
|
||||||
msgid "_Jump To"
|
msgid "_Jump To"
|
||||||
msgstr "_Prijeđi na"
|
msgstr "_Prijeđi na"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:127
|
#: gnucash/gtkbuilder/dialog-find-account.glade:127
|
||||||
#, fuzzy
|
|
||||||
#| msgid "All accounts"
|
|
||||||
msgid "All _accounts"
|
msgid "All _accounts"
|
||||||
msgstr "Svi konti"
|
msgstr "_Sva konta"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:165
|
#: gnucash/gtkbuilder/dialog-find-account.glade:165
|
||||||
#, fuzzy
|
|
||||||
#| msgid " Search "
|
|
||||||
msgid "Search scope"
|
msgid "Search scope"
|
||||||
msgstr " Traži "
|
msgstr "Opseg pretraživanja"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:191
|
#: gnucash/gtkbuilder/dialog-find-account.glade:191
|
||||||
msgid "Account Full Name"
|
msgid "Account Full Name"
|
||||||
@ -15899,7 +15885,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:258
|
#: gnucash/gtkbuilder/dialog-find-account.glade:258
|
||||||
msgid "Sea_rch"
|
msgid "Sea_rch"
|
||||||
msgstr ""
|
msgstr "Tr_aži"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:294
|
#: gnucash/gtkbuilder/dialog-find-account.glade:294
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -15908,7 +15894,7 @@ msgid ""
|
|||||||
"if account should not be shown, this will be temporarily overridden."
|
"if account should not be shown, this will be temporarily overridden."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Odaberi redak i klikni „Prijeđi na”, za prijelaz na konto u kontnom planu.\n"
|
"Odaberi redak i klikni „Prijeđi na”, za prijelaz na konto u kontnom planu.\n"
|
||||||
"Ukoliko se konto ne prikaže, ovo će biti privremeno prepisano."
|
"Ukoliko se konto ne prikaže, ovo će se privremeno prepisati."
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-imap-editor.glade:35
|
#: gnucash/gtkbuilder/dialog-imap-editor.glade:35
|
||||||
msgid "Import Map Editor"
|
msgid "Import Map Editor"
|
||||||
@ -21961,7 +21947,7 @@ msgstr "Neprepoznata radnja „~a”."
|
|||||||
#: gnucash/import-export/qif-imp/qif-parse.scm:254
|
#: gnucash/import-export/qif-imp/qif-parse.scm:254
|
||||||
#, scheme-format
|
#, scheme-format
|
||||||
msgid "Unrecognized status '~a'. Defaulting to uncleared."
|
msgid "Unrecognized status '~a'. Defaulting to uncleared."
|
||||||
msgstr "Neprepoznati status „~s”. Upotrijebit će se „nepotvrđeno”."
|
msgstr "Neprepoznato stanje „~a”. Koristit će se „nepotvrđeno”."
|
||||||
|
|
||||||
#: gnucash/import-export/qif-imp/qif-to-gnc.scm:213
|
#: gnucash/import-export/qif-imp/qif-to-gnc.scm:213
|
||||||
msgid "QIF import: Name conflict with another account."
|
msgid "QIF import: Name conflict with another account."
|
||||||
|
13
po/id.po
13
po/id.po
@ -5,14 +5,15 @@
|
|||||||
# Triyan W. Nugroho <triyan.wn@gmail.com>, 2020.
|
# Triyan W. Nugroho <triyan.wn@gmail.com>, 2020.
|
||||||
# Ferdinand Tampubolon <dnandz@gmail.com>, 2021.
|
# Ferdinand Tampubolon <dnandz@gmail.com>, 2021.
|
||||||
# Reza Almanda <rezaalmanda27@gmail.com>, 2021.
|
# Reza Almanda <rezaalmanda27@gmail.com>, 2021.
|
||||||
|
# Syahmin Sukhairi <syahmin@gmail.com>, 2021.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GnuCash 4.4\n"
|
"Project-Id-Version: GnuCash 4.4\n"
|
||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-20 04:50+0000\n"
|
"PO-Revision-Date: 2021-03-21 17:29+0000\n"
|
||||||
"Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n"
|
"Last-Translator: Syahmin Sukhairi <syahmin@gmail.com>\n"
|
||||||
"Language-Team: Indonesian <https://hosted.weblate.org/projects/gnucash/"
|
"Language-Team: Indonesian <https://hosted.weblate.org/projects/gnucash/"
|
||||||
"gnucash/id/>\n"
|
"gnucash/id/>\n"
|
||||||
"Language: id\n"
|
"Language: id\n"
|
||||||
@ -20,7 +21,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.5\n"
|
"X-Generator: Weblate 4.5.2-dev\n"
|
||||||
|
|
||||||
#: bindings/guile/commodity-table.scm:44
|
#: bindings/guile/commodity-table.scm:44
|
||||||
msgid "ALL NON-CURRENCY"
|
msgid "ALL NON-CURRENCY"
|
||||||
@ -15989,7 +15990,7 @@ msgstr "Pencarian abaikan huruf besar/kecil tersedia pada 'Nama Lengkap Akun'."
|
|||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:258
|
#: gnucash/gtkbuilder/dialog-find-account.glade:258
|
||||||
msgid "Sea_rch"
|
msgid "Sea_rch"
|
||||||
msgstr ""
|
msgstr "Ca_ri"
|
||||||
|
|
||||||
#: gnucash/gtkbuilder/dialog-find-account.glade:294
|
#: gnucash/gtkbuilder/dialog-find-account.glade:294
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||||
"cgi?product=GnuCash&component=Translations\n"
|
"cgi?product=GnuCash&component=Translations\n"
|
||||||
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
"POT-Creation-Date: 2021-03-14 22:08+0100\n"
|
||||||
"PO-Revision-Date: 2021-03-15 01:02+0000\n"
|
"PO-Revision-Date: 2021-03-25 21:29+0000\n"
|
||||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||||
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
|
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
|
||||||
"gnucash/gnucash/pt_BR/>\n"
|
"gnucash/gnucash/pt_BR/>\n"
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/env perl
|
||||||
|
use 5.012;
|
||||||
use warnings;
|
use warnings;
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
|
use Encode;
|
||||||
use Git;
|
use Git;
|
||||||
use Cwd qq(getcwd);
|
use Cwd qq(getcwd);
|
||||||
use Text::Wrap;
|
use Text::Wrap;
|
||||||
|
binmode(STDOUT, ":utf8");
|
||||||
|
|
||||||
sub print_notes {
|
sub print_notes {
|
||||||
my $notes = shift;
|
my $notes = shift;
|
||||||
@ -72,11 +74,11 @@ my $repo = Git->repository(Directory => getcwd);
|
|||||||
$repo->command('describe') =~ m/(^[.\d]+)/;
|
$repo->command('describe') =~ m/(^[.\d]+)/;
|
||||||
my $tag = $1 or die "Unable to determine tag";
|
my $tag = $1 or die "Unable to determine tag";
|
||||||
|
|
||||||
my (@bugs, @improves);
|
my (@bugs, @improves, %l10n);
|
||||||
my ($revs, $c) = $repo->command_output_pipe('log', '--topo-order', '--format=%s<|>%b<|>%N<{}>', "$tag..HEAD");
|
my ($revs, $c) = $repo->command_output_pipe('log', '--topo-order', '--format=%s<|>%b<|>%N<{}>', "$tag..HEAD");
|
||||||
my $item = "";
|
my $item = "";
|
||||||
while(<$revs>) {
|
while(<$revs>) {
|
||||||
my $rev = $_;
|
my $rev = decode('UTF-8', $_);
|
||||||
chomp($rev);
|
chomp($rev);
|
||||||
$item .= ' ' if $item;
|
$item .= ' ' if $item;
|
||||||
$item .= $rev;
|
$item .= $rev;
|
||||||
@ -85,12 +87,20 @@ while(<$revs>) {
|
|||||||
if ($item =~ m/^[\s\[]*[Bb]ug[\]\s:\-\#]*[0-9]+/) {
|
if ($item =~ m/^[\s\[]*[Bb]ug[\]\s:\-\#]*[0-9]+/) {
|
||||||
$item =~ s/^[\s\[]*[Bb]ug[\]\s:\-\#]*([0-9]+)[ -]*/Bug $1 - /;
|
$item =~ s/^[\s\[]*[Bb]ug[\]\s:\-\#]*([0-9]+)[ -]*/Bug $1 - /;
|
||||||
push @bugs, $item;
|
push @bugs, $item;
|
||||||
|
} elsif ($item =~ m/^[Ll]10[Nn]:([a-z]{2}(?:[-_][A-Z]{2})?)/) {
|
||||||
|
$l10n{$1}++ unless ($item =~ /glossary/i);
|
||||||
|
}elsif ($item =~ m/^Translation/) {
|
||||||
|
map { $l10n{$_}++ } $item =~ m/GnuCash\/Program \(([[:alpha:][:punct:][:space:]]+)\)/g;
|
||||||
|
} elsif ($item =~ m/^(?:Merge|[Ll]1[08][Nn]|[Ii]1[08][Nn])/) {
|
||||||
|
my ($sum, $desc, $notes) = split('\<\|\>', $item);
|
||||||
|
push @improves, $item if ($desc || $notes);
|
||||||
} else {
|
} else {
|
||||||
push @improves, $item;
|
push @improves, $item;
|
||||||
}
|
}
|
||||||
$item = '';
|
$item = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$repo->command_close_pipe($revs, $c);
|
$repo->command_close_pipe($revs, $c);
|
||||||
|
|
||||||
print "\nThe following bugs have been fixed:\n";
|
print "\nThe following bugs have been fixed:\n";
|
||||||
@ -103,6 +113,8 @@ foreach my $other (@improves) {
|
|||||||
text_format($other, ' ', ' ');
|
text_format($other, ' ', ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "\nNew and Updated Translations: ", join(", ", keys(%l10n)), "\n\n";
|
||||||
|
|
||||||
print "*****HTML OUTPUT*****\n\n";
|
print "*****HTML OUTPUT*****\n\n";
|
||||||
print "<h6>Between $tag and XXX, the following bugfixes were accomplished:</h6>\n<ul>\n";
|
print "<h6>Between $tag and XXX, the following bugfixes were accomplished:</h6>\n<ul>\n";
|
||||||
foreach my $bug (sort @bugs) {
|
foreach my $bug (sort @bugs) {
|
||||||
@ -113,3 +125,4 @@ foreach my $other (@improves) {
|
|||||||
html_format_other($other);
|
html_format_other($other);
|
||||||
}
|
}
|
||||||
print "</ul>\n";
|
print "</ul>\n";
|
||||||
|
print "<p>New and Updated Translations: ", join(", ", sort(keys(%l10n))), "</p>\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user