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
b25a444140
1
.gitignore
vendored
1
.gitignore
vendored
@ -17,6 +17,7 @@
|
||||
.cproject
|
||||
.project
|
||||
.scm-links
|
||||
.vscode/
|
||||
ChangeLog
|
||||
Makefile
|
||||
Makefile.in
|
||||
|
@ -182,6 +182,7 @@
|
||||
num ; string: num field (def = null)
|
||||
notes ; string: notes (def = null)
|
||||
memo ; string: memo (def = null)
|
||||
currency ; commodity (def = commodity of 1st split)
|
||||
)
|
||||
(env-create-multisplit-transaction
|
||||
env
|
||||
@ -193,6 +194,7 @@
|
||||
#:reconcile reconcile
|
||||
#:num num
|
||||
#:memo memo
|
||||
#:currency currency
|
||||
#:notes notes))
|
||||
|
||||
(define* (env-transfer
|
||||
@ -239,42 +241,46 @@
|
||||
(pricedb? #t) ; boolean: add pricedb entry?
|
||||
void-reason ; string: void-reason (def = not-voided)
|
||||
reconcile ; pair : (cons reconciled reconciled-date)
|
||||
currency ; currency
|
||||
num ; string: num field (def = null)
|
||||
notes ; string: notes (def = null)
|
||||
memo) ; string: memo (def = null)
|
||||
(and (pair? list-of-splits)
|
||||
(let* ((book (gnc-get-current-book))
|
||||
(txn (xaccMallocTransaction book))
|
||||
(first-split (vector-ref (car list-of-splits) 0)))
|
||||
(first-split (vector-ref (car list-of-splits) 0))
|
||||
(txn-curr (or currency (xaccAccountGetCommodity first-split))))
|
||||
(xaccTransBeginEdit txn)
|
||||
(xaccTransSetDescription txn (or description (env-string env "ponies")))
|
||||
(xaccTransSetCurrency txn (xaccAccountGetCommodity first-split))
|
||||
(xaccTransSetCurrency txn txn-curr)
|
||||
(xaccTransSetDate txn DD MM YY)
|
||||
(for-each
|
||||
(lambda (split)
|
||||
(let ((acc (vector-ref split 0))
|
||||
(val (vector-ref split 1))
|
||||
(amt (vector-ref split 2))
|
||||
(action (and (> (vector-length split) 3)
|
||||
(vector-ref split 3)))
|
||||
(newsplit (xaccMallocSplit book)))
|
||||
(xaccSplitSetParent newsplit txn)
|
||||
(xaccSplitSetAccount newsplit acc)
|
||||
(xaccSplitSetValue newsplit val)
|
||||
(xaccSplitSetAmount newsplit amt)
|
||||
(if num (gnc-set-num-action txn newsplit num num))
|
||||
(if memo (xaccSplitSetMemo newsplit memo))
|
||||
(if memo (xaccSplitSetMemo newsplit memo))
|
||||
(if action (xaccSplitSetAction newsplit action))
|
||||
(when reconcile
|
||||
(xaccSplitSetReconcile newsplit (car reconcile))
|
||||
(xaccSplitSetDateReconciledSecs newsplit (cdr reconcile)))
|
||||
(if (and pricedb?
|
||||
(not (zero? amt))
|
||||
(not (gnc-commodity-equiv
|
||||
(xaccAccountGetCommodity first-split)
|
||||
(xaccAccountGetCommodity acc))))
|
||||
(gnc-pricedb-create (xaccAccountGetCommodity first-split)
|
||||
txn-curr (xaccAccountGetCommodity acc))))
|
||||
(gnc-pricedb-create txn-curr
|
||||
(xaccAccountGetCommodity acc)
|
||||
(gnc-dmy2time64 DD MM YY)
|
||||
(/ val amt)))))
|
||||
list-of-splits)
|
||||
(if num (xaccTransSetNum txn num))
|
||||
(if void-reason (xaccTransVoid txn void-reason))
|
||||
(if notes (xaccTransSetNotes txn notes))
|
||||
(xaccTransCommitEdit txn)
|
||||
|
7598
borrowed/chartjs/Chart.bundle.js
Normal file → Executable file
7598
borrowed/chartjs/Chart.bundle.js
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
6
borrowed/chartjs/Chart.bundle.min.js
vendored
Normal file → Executable file
6
borrowed/chartjs/Chart.bundle.min.js
vendored
Normal file → Executable file
File diff suppressed because one or more lines are too long
0
borrowed/chartjs/Chart.css
Normal file → Executable file
0
borrowed/chartjs/Chart.css
Normal file → Executable file
7580
borrowed/chartjs/Chart.js
vendored
Normal file → Executable file
7580
borrowed/chartjs/Chart.js
vendored
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
0
borrowed/chartjs/Chart.min.css
vendored
Normal file → Executable file
0
borrowed/chartjs/Chart.min.css
vendored
Normal file → Executable file
6
borrowed/chartjs/Chart.min.js
vendored
Normal file → Executable file
6
borrowed/chartjs/Chart.min.js
vendored
Normal file → Executable file
File diff suppressed because one or more lines are too long
0
borrowed/chartjs/LICENSE.md
Normal file → Executable file
0
borrowed/chartjs/LICENSE.md
Normal file → Executable file
32
borrowed/chartjs/README.md
Executable file
32
borrowed/chartjs/README.md
Executable file
@ -0,0 +1,32 @@
|
||||
<p align="center">
|
||||
<img src="https://www.chartjs.org/media/logo-title.svg"><br/>
|
||||
Simple yet flexible JavaScript charting for designers & developers
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.chartjs.org/docs/latest/getting-started/installation.html"><img src="https://img.shields.io/github/release/chartjs/Chart.js.svg?style=flat-square&maxAge=600" alt="Downloads"></a>
|
||||
<a href="https://travis-ci.org/chartjs/Chart.js"><img src="https://img.shields.io/travis/chartjs/Chart.js.svg?style=flat-square&maxAge=600" alt="Builds"></a>
|
||||
<a href="https://coveralls.io/github/chartjs/Chart.js?branch=master"><img src="https://img.shields.io/coveralls/chartjs/Chart.js.svg?style=flat-square&maxAge=600" alt="Coverage"></a>
|
||||
<a href="https://github.com/chartjs/awesome"><img src="https://awesome.re/badge-flat2.svg" alt="Awesome"></a>
|
||||
<a href="https://chartjs-slack.herokuapp.com/"><img src="https://img.shields.io/badge/slack-chartjs-blue.svg?style=flat-square&maxAge=3600" alt="Slack"></a>
|
||||
</p>
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Introduction](https://www.chartjs.org/docs/latest/)
|
||||
- [Getting Started](https://www.chartjs.org/docs/latest/getting-started/)
|
||||
- [General](https://www.chartjs.org/docs/latest/general/)
|
||||
- [Configuration](https://www.chartjs.org/docs/latest/configuration/)
|
||||
- [Charts](https://www.chartjs.org/docs/latest/charts/)
|
||||
- [Axes](https://www.chartjs.org/docs/latest/axes/)
|
||||
- [Developers](https://www.chartjs.org/docs/latest/developers/)
|
||||
- [Popular Extensions](https://github.com/chartjs/awesome)
|
||||
- [Samples](https://www.chartjs.org/samples/)
|
||||
|
||||
## Contributing
|
||||
|
||||
Instructions on building and testing Chart.js can be found in [the documentation](https://github.com/chartjs/Chart.js/blob/master/docs/developers/contributing.md#building-and-testing). Before submitting an issue or a pull request, please take a moment to look over the [contributing guidelines](https://github.com/chartjs/Chart.js/blob/master/docs/developers/contributing.md) first. For support, please post questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/chartjs) with the `chartjs` tag.
|
||||
|
||||
## License
|
||||
|
||||
Chart.js is available under the [MIT license](https://opensource.org/licenses/MIT).
|
@ -17,6 +17,7 @@
|
||||
|
||||
<body>
|
||||
<div style="width:1000px">
|
||||
<p>This example demonstrates a time series scale by drawing a financial line chart using just the core library. For more specific functionality for financial charts, please see <a href="https://github.com/chartjs/chartjs-chart-financial">chartjs-chart-financial</a></p>
|
||||
<canvas id="chart1"></canvas>
|
||||
</div>
|
||||
<br>
|
||||
@ -26,29 +27,68 @@
|
||||
<option value="line">Line</option>
|
||||
<option value="bar">Bar</option>
|
||||
</select>
|
||||
<select id="unit">
|
||||
<option value="second">Second</option>
|
||||
<option value="minute">Minute</option>
|
||||
<option value="hour">Hour</option>
|
||||
<option value="day" selected>Day</option>
|
||||
<option value="month">Month</option>
|
||||
<option value="year">Year</option>
|
||||
</select>
|
||||
<button id="update">update</button>
|
||||
<script>
|
||||
function randomNumber(min, max) {
|
||||
return Math.random() * (max - min) + min;
|
||||
}
|
||||
function generateData() {
|
||||
var unit = document.getElementById('unit').value;
|
||||
|
||||
function randomBar(date, lastClose) {
|
||||
var open = randomNumber(lastClose * 0.95, lastClose * 1.05).toFixed(2);
|
||||
var close = randomNumber(open * 0.95, open * 1.05).toFixed(2);
|
||||
return {
|
||||
t: date.valueOf(),
|
||||
y: close
|
||||
};
|
||||
}
|
||||
|
||||
var dateFormat = 'MMMM DD YYYY';
|
||||
var date = moment('April 01 2017', dateFormat);
|
||||
var data = [randomBar(date, 30)];
|
||||
while (data.length < 60) {
|
||||
date = date.clone().add(1, 'd');
|
||||
if (date.isoWeekday() <= 5) {
|
||||
data.push(randomBar(date, data[data.length - 1].y));
|
||||
function unitLessThanDay() {
|
||||
return unit === 'second' || unit === 'minute' || unit === 'hour';
|
||||
}
|
||||
|
||||
function beforeNineThirty(date) {
|
||||
return date.hour() < 9 || (date.hour() === 9 && date.minute() < 30);
|
||||
}
|
||||
|
||||
// Returns true if outside 9:30am-4pm on a weekday
|
||||
function outsideMarketHours(date) {
|
||||
if (date.isoWeekday() > 5) {
|
||||
return true;
|
||||
}
|
||||
if (unitLessThanDay() && (beforeNineThirty(date) || date.hour() > 16)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function randomNumber(min, max) {
|
||||
return Math.random() * (max - min) + min;
|
||||
}
|
||||
|
||||
function randomBar(date, lastClose) {
|
||||
var open = randomNumber(lastClose * 0.95, lastClose * 1.05).toFixed(2);
|
||||
var close = randomNumber(open * 0.95, open * 1.05).toFixed(2);
|
||||
return {
|
||||
t: date.valueOf(),
|
||||
y: close
|
||||
};
|
||||
}
|
||||
|
||||
var date = moment('Jan 01 1990', 'MMM DD YYYY');
|
||||
var now = moment();
|
||||
var data = [];
|
||||
var lessThanDay = unitLessThanDay();
|
||||
for (; data.length < 600 && date.isBefore(now); date = date.clone().add(1, unit).startOf(unit)) {
|
||||
if (outsideMarketHours(date)) {
|
||||
if (!lessThanDay || !beforeNineThirty(date)) {
|
||||
date = date.clone().add(date.isoWeekday() >= 5 ? 8 - date.isoWeekday() : 1, 'day');
|
||||
}
|
||||
if (lessThanDay) {
|
||||
date = date.hour(9).minute(30).second(0);
|
||||
}
|
||||
}
|
||||
data.push(randomBar(date, data.length > 0 ? data[data.length - 1].y : 30));
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
var ctx = document.getElementById('chart1').getContext('2d');
|
||||
@ -57,13 +97,12 @@
|
||||
|
||||
var color = Chart.helpers.color;
|
||||
var cfg = {
|
||||
type: 'bar',
|
||||
data: {
|
||||
datasets: [{
|
||||
label: 'CHRT - Chart.js Corporation',
|
||||
backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
|
||||
borderColor: window.chartColors.red,
|
||||
data: data,
|
||||
data: generateData(),
|
||||
type: 'line',
|
||||
pointRadius: 0,
|
||||
fill: false,
|
||||
@ -72,16 +111,56 @@
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
animation: {
|
||||
duration: 0
|
||||
},
|
||||
scales: {
|
||||
xAxes: [{
|
||||
type: 'time',
|
||||
distribution: 'series',
|
||||
offset: true,
|
||||
ticks: {
|
||||
major: {
|
||||
enabled: true,
|
||||
fontStyle: 'bold'
|
||||
},
|
||||
source: 'data',
|
||||
autoSkip: true
|
||||
autoSkip: true,
|
||||
autoSkipPadding: 75,
|
||||
maxRotation: 0,
|
||||
sampleSize: 100
|
||||
},
|
||||
afterBuildTicks: function(scale, ticks) {
|
||||
var majorUnit = scale._majorUnit;
|
||||
var firstTick = ticks[0];
|
||||
var i, ilen, val, tick, currMajor, lastMajor;
|
||||
|
||||
val = moment(ticks[0].value);
|
||||
if ((majorUnit === 'minute' && val.second() === 0)
|
||||
|| (majorUnit === 'hour' && val.minute() === 0)
|
||||
|| (majorUnit === 'day' && val.hour() === 9)
|
||||
|| (majorUnit === 'month' && val.date() <= 3 && val.isoWeekday() === 1)
|
||||
|| (majorUnit === 'year' && val.month() === 0)) {
|
||||
firstTick.major = true;
|
||||
} else {
|
||||
firstTick.major = false;
|
||||
}
|
||||
lastMajor = val.get(majorUnit);
|
||||
|
||||
for (i = 1, ilen = ticks.length; i < ilen; i++) {
|
||||
tick = ticks[i];
|
||||
val = moment(tick.value);
|
||||
currMajor = val.get(majorUnit);
|
||||
tick.major = currMajor !== lastMajor;
|
||||
lastMajor = currMajor;
|
||||
}
|
||||
return ticks;
|
||||
}
|
||||
}],
|
||||
yAxes: [{
|
||||
gridLines: {
|
||||
drawBorder: false
|
||||
},
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
labelString: 'Closing price ($)'
|
||||
@ -109,7 +188,9 @@
|
||||
|
||||
document.getElementById('update').addEventListener('click', function() {
|
||||
var type = document.getElementById('type').value;
|
||||
chart.config.data.datasets[0].type = type;
|
||||
var dataset = chart.config.data.datasets[0];
|
||||
dataset.type = type;
|
||||
dataset.data = generateData();
|
||||
chart.update();
|
||||
});
|
||||
|
||||
|
@ -26,14 +26,17 @@
|
||||
|
||||
utils.srand(110);
|
||||
|
||||
function getLineColor(ctx) {
|
||||
return utils.color(ctx.datasetIndex);
|
||||
}
|
||||
|
||||
function alternatePointStyles(ctx) {
|
||||
var index = ctx.dataIndex;
|
||||
return index % 2 === 0 ? 'circle' : 'rect';
|
||||
}
|
||||
|
||||
function makeHalfAsOpaque(ctx) {
|
||||
var c = ctx.dataset.backgroundColor;
|
||||
return utils.transparentize(c);
|
||||
return utils.transparentize(getLineColor(ctx));
|
||||
}
|
||||
|
||||
function adjustRadiusBasedOnData(ctx) {
|
||||
@ -56,9 +59,7 @@
|
||||
var data = {
|
||||
labels: utils.months({count: DATA_COUNT}),
|
||||
datasets: [{
|
||||
data: generateData(),
|
||||
backgroundColor: '#4dc9f6',
|
||||
borderColor: '#4dc9f6',
|
||||
data: generateData()
|
||||
}]
|
||||
};
|
||||
|
||||
@ -68,8 +69,11 @@
|
||||
elements: {
|
||||
line: {
|
||||
fill: false,
|
||||
backgroundColor: getLineColor,
|
||||
borderColor: getLineColor,
|
||||
},
|
||||
point: {
|
||||
backgroundColor: getLineColor,
|
||||
hoverBackgroundColor: makeHalfAsOpaque,
|
||||
radius: adjustRadiusBasedOnData,
|
||||
pointStyle: alternatePointStyles,
|
||||
@ -87,12 +91,8 @@
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
function addDataset() {
|
||||
var newColor = utils.color(chart.data.datasets.length);
|
||||
|
||||
chart.data.datasets.push({
|
||||
data: generateData(),
|
||||
backgroundColor: newColor,
|
||||
borderColor: newColor
|
||||
data: generateData()
|
||||
});
|
||||
chart.update();
|
||||
}
|
||||
|
@ -26,14 +26,21 @@
|
||||
|
||||
utils.srand(110);
|
||||
|
||||
function getLineColor(ctx) {
|
||||
return utils.color(ctx.datasetIndex);
|
||||
}
|
||||
|
||||
function alternatePointStyles(ctx) {
|
||||
var index = ctx.dataIndex;
|
||||
return index % 2 === 0 ? 'circle' : 'rect';
|
||||
}
|
||||
|
||||
function makeHalfAsOpaque(ctx) {
|
||||
var c = ctx.dataset.backgroundColor;
|
||||
return utils.transparentize(c);
|
||||
return utils.transparentize(getLineColor(ctx));
|
||||
}
|
||||
|
||||
function make20PercentOpaque(ctx) {
|
||||
return utils.transparentize(getLineColor(ctx), 0.8);
|
||||
}
|
||||
|
||||
function adjustRadiusBasedOnData(ctx) {
|
||||
@ -56,9 +63,7 @@
|
||||
var data = {
|
||||
labels: [['Eating', 'Dinner'], ['Drinking', 'Water'], 'Sleeping', ['Designing', 'Graphics'], 'Coding', 'Cycling', 'Running'],
|
||||
datasets: [{
|
||||
data: generateData(),
|
||||
backgroundColor: Chart.helpers.color('#4dc9f6').alpha(0.2).rgbString(),
|
||||
borderColor: '#4dc9f6',
|
||||
data: generateData()
|
||||
}]
|
||||
};
|
||||
|
||||
@ -66,7 +71,12 @@
|
||||
legend: false,
|
||||
tooltips: true,
|
||||
elements: {
|
||||
line: {
|
||||
backgroundColor: make20PercentOpaque,
|
||||
borderColor: getLineColor,
|
||||
},
|
||||
point: {
|
||||
backgroundColor: getLineColor,
|
||||
hoverBackgroundColor: makeHalfAsOpaque,
|
||||
radius: adjustRadiusBasedOnData,
|
||||
pointStyle: alternatePointStyles,
|
||||
@ -84,12 +94,8 @@
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
function addDataset() {
|
||||
var newColor = utils.color(chart.data.datasets.length);
|
||||
|
||||
chart.data.datasets.push({
|
||||
data: generateData(),
|
||||
backgroundColor: Chart.helpers.color(newColor).alpha(0.2).rgbString(),
|
||||
borderColor: newColor
|
||||
data: generateData()
|
||||
});
|
||||
chart.update();
|
||||
}
|
||||
|
@ -589,7 +589,7 @@ make_children_compatible (AccountWindow *aw)
|
||||
account = aw_get_account (aw);
|
||||
g_return_if_fail (account);
|
||||
|
||||
if (xaccAccountTypesCompatible (xaccAccountGetType (account), aw->type))
|
||||
if (xaccAccountTypesCompatible (aw->type, xaccAccountGetType (account)))
|
||||
return;
|
||||
|
||||
set_children_types (account, aw->type);
|
||||
@ -709,7 +709,7 @@ verify_children_compatible (AccountWindow *aw)
|
||||
if (!account)
|
||||
return FALSE;
|
||||
|
||||
if (xaccAccountTypesCompatible (xaccAccountGetType (account), aw->type))
|
||||
if (xaccAccountTypesCompatible (aw->type, xaccAccountGetType (account)))
|
||||
return TRUE;
|
||||
|
||||
if (gnc_account_n_children(account) == 0)
|
||||
@ -879,7 +879,7 @@ gnc_common_ok (AccountWindow *aw)
|
||||
}
|
||||
|
||||
/* check whether the types of child and parent are compatible */
|
||||
if (!xaccAccountTypesCompatible (aw->type, xaccAccountGetType (parent)))
|
||||
if (!xaccAccountTypesCompatible (xaccAccountGetType (parent), aw->type))
|
||||
{
|
||||
const char *message = _("The selected account type is incompatible with "
|
||||
"the one of the selected parent.");
|
||||
|
@ -92,7 +92,7 @@ gnc_doclink_get_unescape_uri (const gchar *path_head, const gchar *uri, gchar *u
|
||||
g_free (file_path);
|
||||
|
||||
#ifdef G_OS_WIN32 // make path look like a traditional windows path
|
||||
display_str = g_strdelimit (display_str, "/", '\\');
|
||||
g_strdelimit (display_str, "/", '\\');
|
||||
#endif
|
||||
}
|
||||
DEBUG("Return display string is '%s'", display_str);
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "gnc-gnome-utils.h"
|
||||
#include "gnc-splash.h"
|
||||
@ -168,13 +169,19 @@ gnc_update_splash_screen (const gchar *string, double percentage)
|
||||
}
|
||||
}
|
||||
|
||||
if (progress_bar)
|
||||
if (progress_bar )
|
||||
{
|
||||
if (percentage < 0)
|
||||
double curr_fraction =
|
||||
round(gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(progress_bar)) * 100.0);
|
||||
if (percentage >= 0 && percentage <= 100.0 &&
|
||||
round(percentage) == curr_fraction)
|
||||
return; // No change so don't wast time running the main loop
|
||||
|
||||
if (percentage <= 0)
|
||||
{
|
||||
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progress_bar), 0.0);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (percentage <= 100)
|
||||
{
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "gnc-engine.h"
|
||||
#include "gnc-plugin-page.h"
|
||||
@ -167,6 +168,7 @@ gnc_window_show_progress (const char *message, double percentage)
|
||||
{
|
||||
GncWindow *window;
|
||||
GtkWidget *progressbar;
|
||||
double curr_fraction;
|
||||
|
||||
window = progress_bar_hack_window;
|
||||
if (window == NULL)
|
||||
@ -179,6 +181,13 @@ gnc_window_show_progress (const char *message, double percentage)
|
||||
return;
|
||||
}
|
||||
|
||||
curr_fraction =
|
||||
round(gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(progressbar)) * 100.0);
|
||||
|
||||
if (percentage >= 0 && percentage <= 100 &&
|
||||
round(percentage) == curr_fraction)
|
||||
return; // No change, so don't waste time running the main loop.
|
||||
|
||||
gnc_update_splash_screen(message, percentage);
|
||||
|
||||
if (percentage < 0)
|
||||
@ -192,13 +201,13 @@ gnc_window_show_progress (const char *message, double percentage)
|
||||
{
|
||||
if (message && *message)
|
||||
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progressbar), message);
|
||||
if ((percentage == 0) &&
|
||||
if ((percentage == 0.0) &&
|
||||
(GNC_WINDOW_GET_IFACE(window)->ui_set_sensitive != NULL))
|
||||
GNC_WINDOW_GET_IFACE(window)->ui_set_sensitive(window, FALSE);
|
||||
if (percentage <= 100)
|
||||
if (percentage <= 100.0)
|
||||
{
|
||||
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progressbar),
|
||||
percentage / 100);
|
||||
percentage / 100.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1414,6 +1414,7 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
|
||||
|
||||
{
|
||||
gchar** filter;
|
||||
gchar* filter_str;
|
||||
guint filtersize = 0;
|
||||
/* Set the sort order for the split register and status of save order button */
|
||||
priv->sd.save_order = FALSE;
|
||||
@ -1440,9 +1441,10 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
|
||||
/* Set the filter for the split register and status of save filter button */
|
||||
priv->fd.save_filter = FALSE;
|
||||
|
||||
filter = g_strsplit (gnc_plugin_page_register_get_filter (plugin_page), ",",
|
||||
-1);
|
||||
filter_str = gnc_plugin_page_register_get_filter (plugin_page);
|
||||
filter = g_strsplit (filter_str, ",", -1);
|
||||
filtersize = g_strv_length (filter);
|
||||
g_free (filter_str);
|
||||
|
||||
PINFO ("Loaded Filter Status is %s", filter[0]);
|
||||
|
||||
@ -1974,7 +1976,7 @@ gnc_plugin_page_register_finish_pending (GncPluginPage* page)
|
||||
GncPluginPageRegister* reg_page;
|
||||
SplitRegister* reg;
|
||||
GtkWidget* dialog, *window;
|
||||
const gchar* name;
|
||||
gchar* name;
|
||||
gint response;
|
||||
|
||||
if (is_scrubbing && show_abort_verify)
|
||||
@ -1999,6 +2001,7 @@ gnc_plugin_page_register_finish_pending (GncPluginPage* page)
|
||||
/* Translators: %s is the name
|
||||
of the tab page */
|
||||
_ ("Save changes to %s?"), name);
|
||||
g_free (name);
|
||||
gtk_message_dialog_format_secondary_text
|
||||
(GTK_MESSAGE_DIALOG (dialog),
|
||||
"%s",
|
||||
@ -2042,7 +2045,7 @@ gnc_plugin_page_register_get_tab_name (GncPluginPage* plugin_page)
|
||||
Account* leader;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
g_strdup (_("unknown")));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (plugin_page);
|
||||
ld = priv->ledger;
|
||||
@ -2090,7 +2093,7 @@ gnc_plugin_page_register_get_tab_color (GncPluginPage* plugin_page)
|
||||
const char* color;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
g_strdup (_("unknown")));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (plugin_page);
|
||||
ld = priv->ledger;
|
||||
@ -2116,7 +2119,7 @@ gnc_plugin_page_register_check_for_empty_group (GKeyFile *state_file, const gcha
|
||||
g_strfreev (keys);
|
||||
}
|
||||
|
||||
static const gchar*
|
||||
static gchar*
|
||||
gnc_plugin_page_register_get_filter_gcm (Account* leader)
|
||||
{
|
||||
GKeyFile* state_file = gnc_state_get_current();
|
||||
@ -2124,7 +2127,7 @@ gnc_plugin_page_register_get_filter_gcm (Account* leader)
|
||||
gchar* filter_text;
|
||||
gchar acct_guid[GUID_ENCODING_LENGTH + 1];
|
||||
GError* error = NULL;
|
||||
const char* filter = NULL;
|
||||
char* filter = NULL;
|
||||
|
||||
// get the filter from the .gcm file
|
||||
guid_to_string_buff (xaccAccountGetGUID (leader), acct_guid);
|
||||
@ -2135,11 +2138,8 @@ gnc_plugin_page_register_get_filter_gcm (Account* leader)
|
||||
if (error)
|
||||
g_clear_error (&error);
|
||||
else
|
||||
{
|
||||
filter_text = g_strdelimit (filter_text, ";", ',');
|
||||
filter = g_strdup (filter_text);
|
||||
g_free (filter_text);
|
||||
}
|
||||
g_strdelimit (filter_text, ";", ',');
|
||||
|
||||
g_free (state_section);
|
||||
return filter;
|
||||
}
|
||||
@ -2150,10 +2150,10 @@ gnc_plugin_page_register_get_filter (GncPluginPage* plugin_page)
|
||||
GncPluginPageRegisterPrivate* priv;
|
||||
GNCLedgerDisplayType ledger_type;
|
||||
Account* leader;
|
||||
const char* filter = NULL;
|
||||
char* filter = NULL;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
g_strdup (_("unknown")));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (plugin_page);
|
||||
|
||||
@ -2163,9 +2163,11 @@ gnc_plugin_page_register_get_filter (GncPluginPage* plugin_page)
|
||||
// load from gcm file
|
||||
filter = gnc_plugin_page_register_get_filter_gcm (leader);
|
||||
|
||||
return filter ? g_strdup (filter) : g_strdup_printf ("%s,%s,%s,%s",
|
||||
DEFAULT_FILTER,
|
||||
"0", "0", get_filter_default_num_of_days (ledger_type));
|
||||
if (filter)
|
||||
return filter;
|
||||
|
||||
return g_strdup_printf ("%s,%s,%s,%s", DEFAULT_FILTER,
|
||||
"0", "0", get_filter_default_num_of_days (ledger_type));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2190,8 +2192,7 @@ gnc_plugin_page_register_set_filter_gcm (Account* leader, const gchar* filter,
|
||||
else
|
||||
{
|
||||
filter_text = g_strdup (filter);
|
||||
filter_text = g_strdelimit (filter_text, ",",
|
||||
';'); // make it conform to .gcm file list
|
||||
g_strdelimit (filter_text, ",", ';'); // make it conform to .gcm file list
|
||||
g_key_file_set_string (state_file, state_section, KEY_PAGE_FILTER,
|
||||
filter_text);
|
||||
g_free (filter_text);
|
||||
@ -2223,7 +2224,7 @@ gnc_plugin_page_register_set_filter (GncPluginPage* plugin_page,
|
||||
return;
|
||||
}
|
||||
|
||||
static const gchar*
|
||||
static gchar*
|
||||
gnc_plugin_page_register_get_sort_order_gcm (Account* leader)
|
||||
{
|
||||
GKeyFile* state_file = gnc_state_get_current();
|
||||
@ -2231,7 +2232,7 @@ gnc_plugin_page_register_get_sort_order_gcm (Account* leader)
|
||||
gchar* sort_text;
|
||||
gchar acct_guid[GUID_ENCODING_LENGTH + 1];
|
||||
GError* error = NULL;
|
||||
const char* sort_order = NULL;
|
||||
char* sort_order = NULL;
|
||||
|
||||
// get the sort_order from the .gcm file
|
||||
guid_to_string_buff (xaccAccountGetGUID (leader), acct_guid);
|
||||
@ -2255,7 +2256,7 @@ gnc_plugin_page_register_get_sort_order (GncPluginPage* plugin_page)
|
||||
{
|
||||
GncPluginPageRegisterPrivate* priv;
|
||||
Account* leader;
|
||||
const char* sort_order = NULL;
|
||||
char* sort_order = NULL;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
@ -2267,7 +2268,8 @@ gnc_plugin_page_register_get_sort_order (GncPluginPage* plugin_page)
|
||||
// load from gcm file
|
||||
sort_order = gnc_plugin_page_register_get_sort_order_gcm (leader);
|
||||
|
||||
return g_strdup (sort_order ? sort_order : DEFAULT_SORT_ORDER);
|
||||
|
||||
return sort_order ? sort_order : g_strdup (DEFAULT_SORT_ORDER);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -3181,7 +3183,7 @@ gnc_plugin_page_register_filter_start_cb (GtkWidget* radio,
|
||||
}
|
||||
|
||||
name = gtk_buildable_get_name (GTK_BUILDABLE (radio));
|
||||
active = (g_strcmp0 (name, g_strdup ("start_date_choose")) == 0 ? 1 : 0);
|
||||
active = !g_strcmp0 (name, "start_date_choose");
|
||||
gtk_widget_set_sensitive (priv->fd.start_date, active);
|
||||
get_filter_times (page);
|
||||
gnc_ppr_update_date_query (page);
|
||||
@ -3229,7 +3231,7 @@ gnc_plugin_page_register_filter_end_cb (GtkWidget* radio,
|
||||
}
|
||||
|
||||
name = gtk_buildable_get_name (GTK_BUILDABLE (radio));
|
||||
active = (g_strcmp0 (name, g_strdup ("end_date_choose")) == 0 ? 1 : 0);
|
||||
active = !g_strcmp0 (name, "end_date_choose");
|
||||
gtk_widget_set_sensitive (priv->fd.end_date, active);
|
||||
get_filter_times (page);
|
||||
gnc_ppr_update_date_query (page);
|
||||
|
@ -428,8 +428,8 @@ gsr_move_sort_and_filter_to_state_file (GNCSplitReg *gsr, GKeyFile* state_file,
|
||||
if (kvp_filter)
|
||||
{
|
||||
gchar *temp_filter_text = g_strdup (kvp_filter);
|
||||
temp_filter_text = g_strdelimit (temp_filter_text, ",",
|
||||
';'); // make it conform to .gcm file list
|
||||
// make it conform to .gcm file list
|
||||
g_strdelimit (temp_filter_text, ",", ';');
|
||||
g_key_file_set_string (state_file, state_section, KEY_PAGE_FILTER,
|
||||
temp_filter_text);
|
||||
g_free (temp_filter_text);
|
||||
|
@ -725,7 +725,7 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Set Review Created Transactions as the default in the Since Last Run dialog.</property>
|
||||
<property name="tooltip_text" translatable="yes">Set 'Review Created Transactions' as the default in the 'Since Last Run' dialog.</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
|
@ -1778,6 +1778,7 @@ gnc_split_register_save (SplitRegister* reg, gboolean do_commit)
|
||||
PINFO ("committing trans (%p)", trans);
|
||||
unreconcile_splits (reg);
|
||||
xaccTransCommitEdit (trans);
|
||||
xaccTransRecordPrice (trans, PRICE_SOURCE_SPLIT_REG);
|
||||
|
||||
gnc_resume_gui_refresh ();
|
||||
}
|
||||
@ -1830,6 +1831,7 @@ gnc_split_register_save (SplitRegister* reg, gboolean do_commit)
|
||||
g_warning ("Impossible? committing pending %p", pending_trans);
|
||||
unreconcile_splits (reg);
|
||||
xaccTransCommitEdit (pending_trans);
|
||||
xaccTransRecordPrice (trans, PRICE_SOURCE_SPLIT_REG);
|
||||
}
|
||||
else if (pending_trans)
|
||||
{
|
||||
|
@ -327,13 +327,7 @@ gnc_combo_cell_destroy (BasicCell* bcell)
|
||||
box->qf = NULL;
|
||||
}
|
||||
|
||||
for (node = box->ignore_strings; node; node = node->next)
|
||||
{
|
||||
g_free (node->data);
|
||||
node->data = NULL;
|
||||
}
|
||||
|
||||
g_list_free (box->ignore_strings);
|
||||
g_list_free_full (box->ignore_strings, g_free);
|
||||
box->ignore_strings = NULL;
|
||||
|
||||
g_free (box);
|
||||
@ -462,7 +456,6 @@ void
|
||||
gnc_combo_cell_add_account_menu_item (ComboCell* cell, char* menustr)
|
||||
{
|
||||
PopBox* box;
|
||||
gchar* menu_copy, *value_copy;
|
||||
|
||||
if (cell == NULL)
|
||||
return;
|
||||
@ -478,9 +471,10 @@ gnc_combo_cell_add_account_menu_item (ComboCell* cell, char* menustr)
|
||||
gnc_item_list_append (box->item_list, menustr);
|
||||
if (cell->cell.value)
|
||||
{
|
||||
menu_copy = g_strdelimit (g_strdup (menustr), "-:/\\.", ' ');
|
||||
value_copy =
|
||||
g_strdelimit (g_strdup (cell->cell.value), "-:/\\.", ' ');
|
||||
gchar* menu_copy = g_strdup (menustr);
|
||||
gchar* value_copy = g_strdup (cell->cell.value);
|
||||
g_strdelimit (menu_copy, "-:/\\.", ' ');
|
||||
g_strdelimit (value_copy, "-:/\\.", ' ');
|
||||
if (strcmp (menu_copy, value_copy) == 0)
|
||||
{
|
||||
gnc_combo_cell_set_value (cell, menustr);
|
||||
|
@ -67,7 +67,7 @@
|
||||
(vector 'WeekDelta (N_ "One Week"))
|
||||
(vector 'TwoWeekDelta (N_ "Two Weeks"))
|
||||
(vector 'MonthDelta (N_ "One Month"))
|
||||
(vector 'QuarterDelta (N_ "One Quarter"))
|
||||
(vector 'QuarterDelta (N_ "Quarter Year"))
|
||||
(vector 'HalfYearDelta (N_ "Half Year"))
|
||||
(vector 'YearDelta (N_ "One Year"))))))
|
||||
|
||||
@ -141,11 +141,11 @@
|
||||
(gnc:make-multichoice-option
|
||||
pagename optname
|
||||
sort-tag (N_ "The source of price information.") default
|
||||
(list (vector 'average-cost (N_ "Average cost of purchases by volume-weighted"))
|
||||
(vector 'weighted-average (N_ "Weighted average of all past currency transactions"))
|
||||
(vector 'pricedb-latest (N_ "Most recent"))
|
||||
(vector 'pricedb-before (N_ "Nearest before report date"))
|
||||
(vector 'pricedb-nearest (N_ "Nearest to report date"))))))
|
||||
(list (vector 'average-cost (N_ "Average cost of purchases weighted by volume"))
|
||||
(vector 'weighted-average (N_ "Weighted average of all transactions in the past"))
|
||||
(vector 'pricedb-before (N_ "Last up through report date"))
|
||||
(vector 'pricedb-nearest (N_ "Closest to report date"))
|
||||
(vector 'pricedb-latest (N_ "Most recent"))))))
|
||||
|
||||
;; The width- and height- options for charts
|
||||
(define (gnc:options-add-plot-size!
|
||||
@ -202,7 +202,7 @@
|
||||
(list
|
||||
(vector 'acct-code (N_ "Alphabetical by account code"))
|
||||
(vector 'alphabetical (N_ "Alphabetical by account name"))
|
||||
(vector 'amount (N_ "Amount, largest to smallest"))))))
|
||||
(vector 'amount (N_ "Numerical by descending amount"))))))
|
||||
|
||||
|
||||
;; These control the calculation and view mode of subtotal balances
|
||||
|
@ -235,6 +235,7 @@ not found.")))
|
||||
(define report-rec (make-report-template))
|
||||
(define allowable-fields (record-type-fields <report-template>))
|
||||
(define (not-a-field? fld) (not (memq fld allowable-fields)))
|
||||
(define (xor . args) (fold (lambda (a b) (if a (if b #f a) b)) #f args))
|
||||
|
||||
(let loop ((args args))
|
||||
(match args
|
||||
@ -250,6 +251,11 @@ not found.")))
|
||||
((hash-ref *gnc:_report-templates_* report-guid)
|
||||
(gui-error (string-append rpterr-dupe report-guid)))
|
||||
|
||||
;; has export-type but no export-thunk. or vice versa.
|
||||
((xor (gnc:report-template-export-thunk report-rec)
|
||||
(gnc:report-template-export-types report-rec))
|
||||
(gui-error (format #f "Export needs both thunk and types: ~a" report-guid)))
|
||||
|
||||
;; good: new report definition, store into report-templates hash
|
||||
(else
|
||||
(hash-set! *gnc:_report-templates_* report-guid report-rec)))))
|
||||
@ -806,10 +812,8 @@ not found.")))
|
||||
(cond
|
||||
((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))
|
||||
(show-selected-reports 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 (assoc export-type export-types))
|
||||
(stderr-log "Export-type disallowed: ~a. Allowed types: ~a\n"
|
||||
export-type (string-join (map car export-types) ", ")))
|
||||
|
@ -1138,7 +1138,7 @@
|
||||
|
||||
(define-public (gnc:dump-split s show-acc?)
|
||||
(define txn (xaccSplitGetParent s))
|
||||
(format #t "~a Split ~a: ~a~a Amt<~a> ~a~a~a\n"
|
||||
(format #t "~a Split ~a: ~a~a Amt<~a> Val<~a> ~a~a~a\n"
|
||||
(xaccSplitGetReconcile s)
|
||||
(string-take (gncSplitGetGUID s) 8)
|
||||
(qof-print-date (xaccTransGetDate txn))
|
||||
@ -1152,10 +1152,12 @@
|
||||
(xaccTransGetCurrency txn)
|
||||
(xaccSplitGetValue s)))
|
||||
(maybe-str 'Desc (xaccTransGetDescription txn))
|
||||
(maybe-str 'Action (xaccSplitGetAction s))
|
||||
(maybe-str 'Memo (xaccSplitGetMemo s))))
|
||||
|
||||
(define-public (gnc:dump-all-transactions)
|
||||
(define query (qof-query-create-for-splits))
|
||||
(define (split-has-no-account? split) (null? (xaccSplitGetAccount split)))
|
||||
(display "\n(gnc:dump-all-transactions)\n")
|
||||
(qof-query-set-book query (gnc-get-current-book))
|
||||
(qof-query-set-sort-order query (list SPLIT-TRANS TRANS-DATE-POSTED) '() '())
|
||||
@ -1164,6 +1166,7 @@
|
||||
(newline)
|
||||
(match splits
|
||||
(() (qof-query-destroy query))
|
||||
(((? split-has-no-account?) . rest) (lp rest))
|
||||
((split . rest)
|
||||
(let ((trans (xaccSplitGetParent split)))
|
||||
(format #t " Trans ~a: ~a Curr ~a ~a~a\n"
|
||||
|
@ -34,6 +34,7 @@ set (reports_standard_SCHEME
|
||||
standard/equity-statement.scm
|
||||
standard/general-journal.scm
|
||||
standard/general-ledger.scm
|
||||
standard/ifrs-cost-basis.scm
|
||||
standard/income-gst-statement.scm
|
||||
standard/income-statement.scm
|
||||
standard/lot-viewer.scm
|
||||
|
@ -152,12 +152,12 @@ also show overall period profit & loss."))
|
||||
'disabled
|
||||
(list
|
||||
(vector 'disabled (G_ "Disabled"))
|
||||
(vector 'YearDelta (G_ "Year"))
|
||||
(vector 'YearDelta (G_ "One Year"))
|
||||
(vector 'HalfYearDelta (G_ "Half Year"))
|
||||
(vector 'QuarterDelta (G_ "Quarter"))
|
||||
(vector 'MonthDelta (G_ "Month"))
|
||||
(vector 'TwoWeekDelta (G_ "2Week"))
|
||||
(vector 'WeekDelta (G_ "Week")))
|
||||
(vector 'QuarterDelta (G_ "Quarter Year"))
|
||||
(vector 'MonthDelta (G_ "One Month"))
|
||||
(vector 'TwoWeekDelta (G_ "Two Weeks"))
|
||||
(vector 'WeekDelta (G_ "One Week")))
|
||||
#f
|
||||
(lambda (x)
|
||||
(let ((x (not (eq? x 'disabled))))
|
||||
|
436
gnucash/report/reports/standard/ifrs-cost-basis.scm
Normal file
436
gnucash/report/reports/standard/ifrs-cost-basis.scm
Normal file
@ -0,0 +1,436 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;
|
||||
;; 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
|
||||
;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define-module (gnucash reports standard ifrs-cost-basis))
|
||||
|
||||
(use-modules (srfi srfi-1))
|
||||
(use-modules (ice-9 match))
|
||||
(use-modules (gnucash utilities))
|
||||
(use-modules (gnucash report))
|
||||
(use-modules (gnucash core-utils))
|
||||
(use-modules (gnucash app-utils))
|
||||
(use-modules (gnucash engine))
|
||||
|
||||
(define disclaimer
|
||||
(gnc:make-html-text
|
||||
(gnc:html-markup-p "This report is designed for cost basis
|
||||
accumulation and capital gain/loss reporting using the weighted
|
||||
average cost basis method, which is most consistent with typical
|
||||
accounting frameworks (US GAAP, IFRS, etc.). This report allows for
|
||||
for the choice to capitalize (most consistent with typical accounting
|
||||
frameworks) vs expense (used by some taxing jurisdictions) commissions
|
||||
paid on purchase.")
|
||||
(gnc:html-markup-p "This report is not appropriate for FIFO, LIFO, or
|
||||
specific-identification methods for cost basis accumulation and
|
||||
capital gain/loss reporting. This report may not be appropriate for
|
||||
tax purposes, if the taxing jurisdiction requires a method other than
|
||||
the weighted average cost basis method.")
|
||||
(gnc:html-markup-p "This report is not designed with options
|
||||
reporting in mind. If your activity involves options and/or futures
|
||||
that are purchased, written, and/or exercised, there is no guarantee
|
||||
that this report will accurately portray this options activity.")))
|
||||
|
||||
(define reportname "IFRS weighted-average cost basis report")
|
||||
|
||||
(define optname-startdate (N_ "Start Date"))
|
||||
(define optname-enddate (N_ "End Date"))
|
||||
|
||||
(define optname-stock-acct "Stock Account")
|
||||
(define optname-proceeds-acct "Proceeds Account")
|
||||
(define optname-dividend-acct "Dividend Account")
|
||||
(define optname-capgains-acct "Cap Gains Account")
|
||||
;; (define optname-fees-acct "Fees Account")
|
||||
(define optname-report-currency "Report's currency")
|
||||
|
||||
(define optname-format-cells "Format monetary cells")
|
||||
(define opthelp-format-cells "Check this option to show cells with currency")
|
||||
|
||||
(define optname-format-short "Alternative row-style for shorts")
|
||||
(define opthelp-format-short "Check this option to use alternate style \
|
||||
for shorts. Disable to use alternate style every other row")
|
||||
|
||||
(define optname-cap-purch-costs "Capitalise purchase commissions")
|
||||
(define opthelp-cap-purch-costs "Check this option to capitalise purchase \
|
||||
commissions in cumulative average cost and gain/loss after commission")
|
||||
|
||||
(define (options-generator)
|
||||
(let ((options (gnc:new-options)))
|
||||
|
||||
(define (add-option new-option)
|
||||
(gnc:register-option options new-option))
|
||||
|
||||
(gnc:options-add-date-interval!
|
||||
options gnc:pagename-general optname-startdate optname-enddate " ")
|
||||
|
||||
(gnc:options-add-currency!
|
||||
options gnc:pagename-general optname-report-currency "a")
|
||||
|
||||
(add-option
|
||||
(gnc:make-account-sel-limited-option
|
||||
gnc:pagename-general optname-stock-acct "b" "Stock Account"
|
||||
#f #f (list ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL)))
|
||||
|
||||
(add-option
|
||||
(gnc:make-account-sel-limited-option
|
||||
gnc:pagename-general optname-proceeds-acct "c" "Proceeds Account"
|
||||
#f #f (list ACCT-TYPE-ASSET ACCT-TYPE-BANK)))
|
||||
|
||||
(add-option
|
||||
(gnc:make-account-sel-limited-option
|
||||
gnc:pagename-general optname-dividend-acct "c" "Dividend Account"
|
||||
#f #f (list ACCT-TYPE-INCOME)))
|
||||
|
||||
(add-option
|
||||
(gnc:make-account-sel-limited-option
|
||||
gnc:pagename-general optname-capgains-acct "d" "Cap Gains Account"
|
||||
#f #f (list ACCT-TYPE-INCOME)))
|
||||
|
||||
;; (add-option
|
||||
;; (gnc:make-account-sel-limited-option
|
||||
;; gnc:pagename-general optname-fees-acct "c" "Fees Account"
|
||||
;; #f #f (list ACCT-TYPE-EXPENSE)))
|
||||
|
||||
(add-option
|
||||
(gnc:make-simple-boolean-option
|
||||
gnc:pagename-general optname-format-cells "e" opthelp-format-cells #t))
|
||||
|
||||
(add-option
|
||||
(gnc:make-simple-boolean-option
|
||||
gnc:pagename-general optname-format-short "f" opthelp-format-short #t))
|
||||
|
||||
(add-option
|
||||
(gnc:make-simple-boolean-option
|
||||
gnc:pagename-general optname-cap-purch-costs "g" opthelp-cap-purch-costs #t))
|
||||
|
||||
options))
|
||||
|
||||
(define M+
|
||||
(case-lambda
|
||||
(() (error "M+ needs at least 1 arg"))
|
||||
((a b) (if a (if b (+ a b) a) b))
|
||||
((head . tail) (fold M+ head tail))))
|
||||
|
||||
(define M-abs
|
||||
(case-lambda
|
||||
(() (error "M-abs needs 1 arg"))
|
||||
((a) (and a (abs a)))))
|
||||
|
||||
(define M*
|
||||
(case-lambda
|
||||
(() (error "M* needs at least 1 arg"))
|
||||
((a b) (and a b (* a b)))
|
||||
((head . tail) (fold M* head tail))))
|
||||
|
||||
(define M-
|
||||
(case-lambda
|
||||
(() (error "M- needs at least 1 arg"))
|
||||
((n) (and n (- n)))
|
||||
((minuend head . tail) (M+ minuend (M- (fold M+ head tail))))))
|
||||
|
||||
(define M/
|
||||
(case-lambda
|
||||
(() (error "M/ needs at least 1 arg"))
|
||||
((n) (and n (not (zero? n)) (/ n)))
|
||||
((divisor head . tail) (M* divisor (M/ (fold M* head tail))))))
|
||||
|
||||
(define (trans-extract trans account numfilter split->amount)
|
||||
(define (not-account? s)
|
||||
(and account (not (equal? (xaccSplitGetAccount s) account))))
|
||||
(define (not-num-filter? s)
|
||||
(and numfilter
|
||||
(not (equal? (gnc-get-action-num (xaccSplitGetParent s) s) numfilter))))
|
||||
(let lp ((splits (xaccTransGetSplitList trans)) (result #f))
|
||||
(match splits
|
||||
(() result)
|
||||
(((? not-account?) . rest) (lp rest result))
|
||||
(((? not-num-filter?) . rest) (lp rest result))
|
||||
((split . rest) (lp rest (M+ (split->amount split) result))))))
|
||||
|
||||
(define (trans-extract-value trans account numfilter)
|
||||
(trans-extract trans account numfilter xaccSplitGetValue))
|
||||
|
||||
(define (trans-extract-amount trans account numfilter)
|
||||
(trans-extract trans account numfilter xaccSplitGetAmount))
|
||||
|
||||
(define (ifrs-cost-basis-renderer report-obj)
|
||||
(define (opt-val section name)
|
||||
(gnc:option-value
|
||||
(gnc:lookup-option (gnc:report-options report-obj) section name)))
|
||||
|
||||
(define opt-startdate (opt-val gnc:pagename-general optname-startdate))
|
||||
(define opt-enddate (opt-val gnc:pagename-general optname-enddate))
|
||||
(define startdate
|
||||
(gnc:time64-start-day-time
|
||||
(gnc:date-option-absolute-time opt-startdate)))
|
||||
(define enddate
|
||||
(gnc:time64-start-day-time
|
||||
(gnc:date-option-absolute-time opt-enddate)))
|
||||
(define stock-acct (opt-val gnc:pagename-general optname-stock-acct))
|
||||
(define proceeds-acct (opt-val gnc:pagename-general optname-proceeds-acct))
|
||||
(define dividend-acct (opt-val gnc:pagename-general optname-dividend-acct))
|
||||
(define capgains-acct (opt-val gnc:pagename-general optname-capgains-acct))
|
||||
;; (define fees-acct (opt-val gnc:pagename-general optname-fees-acct))
|
||||
(define report-currency (opt-val gnc:pagename-general optname-report-currency))
|
||||
(define format-cells (opt-val gnc:pagename-general optname-format-cells))
|
||||
(define short-alternate-format? (opt-val gnc:pagename-general optname-format-short))
|
||||
(define cap-purch-costs? (opt-val gnc:pagename-general optname-cap-purch-costs))
|
||||
(define document (gnc:make-html-document))
|
||||
|
||||
(define (elt->cell split)
|
||||
(gnc:html-markup-anchor
|
||||
(gnc:split-anchor-text split)
|
||||
(amount->monetary (xaccSplitGetAmount split))))
|
||||
|
||||
(define large 10000000)
|
||||
(define (get-fx db from to time)
|
||||
(/ (gnc-pricedb-convert-balance-nearest-price-t64 db large from to time)
|
||||
large))
|
||||
|
||||
(define (stock-split prev delta)
|
||||
(let ((exact (/ (+ delta prev) prev)))
|
||||
(format #f "~a:~a Split" (numerator exact) (denominator exact))))
|
||||
|
||||
(define (to-cell elt)
|
||||
(gnc:make-html-table-cell/markup "number-cell" elt))
|
||||
|
||||
(define (cmp amt neg zero pos)
|
||||
(cond ((< amt 0) neg)
|
||||
((= amt 0) zero)
|
||||
(else pos)))
|
||||
|
||||
(gnc:html-document-set-title! document "IFRS weighted average cost basis Report")
|
||||
|
||||
(cond
|
||||
((null? stock-acct)
|
||||
(gnc:html-document-add-object!
|
||||
document (gnc:html-make-generic-options-warning
|
||||
reportname (gnc:report-id report-obj))))
|
||||
|
||||
(else
|
||||
(let ((commodity (xaccAccountGetCommodity stock-acct))
|
||||
(currency (gnc-account-get-currency-or-parent stock-acct))
|
||||
(pricedb (gnc-pricedb-get-db (gnc-get-current-book)))
|
||||
(splits
|
||||
(let ((query (qof-query-create-for-splits)))
|
||||
(qof-query-set-book query (gnc-get-current-book))
|
||||
(xaccQueryAddSingleAccountMatch query stock-acct QOF-QUERY-AND)
|
||||
(xaccQueryGetSplitsUniqueTrans query))))
|
||||
|
||||
(define (to-commodity amt)
|
||||
(if format-cells
|
||||
(and amt (gnc:make-gnc-monetary commodity amt))
|
||||
amt))
|
||||
|
||||
(define (to-orig-currency amt)
|
||||
(if format-cells
|
||||
(and amt (gnc:make-gnc-monetary currency amt))
|
||||
amt))
|
||||
|
||||
(define (to-report-currency amt)
|
||||
(if format-cells
|
||||
(and amt (gnc:make-gnc-monetary report-currency amt))
|
||||
amt))
|
||||
|
||||
(define table (gnc:make-html-table))
|
||||
|
||||
(gnc:html-document-set-title!
|
||||
document
|
||||
(format #f "Average-Cost (Basis) Report: From ~a to ~a. Report-currency ~a"
|
||||
(qof-print-date startdate)
|
||||
(qof-print-date enddate)
|
||||
(gnc-commodity-get-mnemonic report-currency)))
|
||||
|
||||
(gnc:html-table-set-col-headers!
|
||||
table (list "date" "description" "trans-units" "cumul-units" "note"
|
||||
"curr" "fx" "purchase-val" "purchase-cost" "cash-dividends"
|
||||
"proceeds-val" "proceeds-cost" "conv-purchase-val"
|
||||
"conv-purchase-cost" "conv-dividends"
|
||||
"conv-proceeds-val" "conv-proceeds-cost"
|
||||
"average-cost-basis/unit-for-sale" "average-cost-basis-of-sale"
|
||||
"cumulative-average-cost-basis"
|
||||
"gain-post-commission" "gain-pre-commission" "net-proceeds"
|
||||
"cumul-gross-profit" "cumul-net-profit" "cumul-tot-return"))
|
||||
|
||||
(let lp ((splits splits)
|
||||
(odd-row? #t)
|
||||
(cumul-units 0)
|
||||
(cumul-average-cost-basis 0)
|
||||
(cumul-gross-profit 0)
|
||||
(cumul-net-profit 0)
|
||||
(cumul-tot-return 0))
|
||||
|
||||
(match splits
|
||||
(() (gnc:html-document-add-object! document table))
|
||||
|
||||
((split . rest-splits)
|
||||
(let* ((trans (xaccSplitGetParent split))
|
||||
(trans-units (trans-extract-amount trans stock-acct #f))
|
||||
(trans-value (trans-extract-value trans stock-acct #f))
|
||||
(proceeds-val (trans-extract-value trans proceeds-acct #f))
|
||||
(dividends-val (trans-extract-value trans dividend-acct #f))
|
||||
(capgains-val (trans-extract-value trans capgains-acct #f))
|
||||
(fees-value (trans-extract-value trans #f "Fee"))
|
||||
(new-units (M+ cumul-units trans-units))
|
||||
|
||||
(sale?
|
||||
(cond
|
||||
((< trans-units 0) (<= 0 new-units))
|
||||
((> trans-units 0) (<= new-units 0))
|
||||
(else #f)))
|
||||
|
||||
(purchase?
|
||||
(cond
|
||||
((= trans-value 0) dividends-val) ;dividends
|
||||
((= trans-units 0) proceeds-val) ;return of capital
|
||||
((> trans-units 0) (< 0 new-units)) ;regular buy
|
||||
((< trans-units 0) (< new-units 0)))) ;buy during short
|
||||
|
||||
(shorting? (or (< new-units 0)
|
||||
(and (= new-units 0) (< 0 trans-units))))
|
||||
|
||||
(purchase-cost (and purchase? fees-value))
|
||||
(purchase-val (and purchase? (M- trans-value purchase-cost)))
|
||||
(cash-dividends (M- dividends-val))
|
||||
(proceeds-cost (and sale? fees-value))
|
||||
(proceeds-val (and sale? (M+ proceeds-val proceeds-cost)))
|
||||
|
||||
;; now convert to report-currency
|
||||
(fx (get-fx pricedb currency report-currency
|
||||
(time64CanonicalDayTime (xaccTransGetDate trans))))
|
||||
(conv-purchase-val (M* fx purchase-val))
|
||||
(conv-purchase-cost (M* fx purchase-cost))
|
||||
(conv-dividends (M* fx cash-dividends))
|
||||
(conv-proceeds-val (M* fx proceeds-val))
|
||||
(conv-proceeds-cost (M* fx proceeds-cost))
|
||||
|
||||
;; now perform AVERAGE-COST-BASIS calculations
|
||||
(average-cost-basis/unit-for-sale
|
||||
(M-abs (M/ cumul-average-cost-basis cumul-units)))
|
||||
(average-cost-basis-of-sale
|
||||
(and proceeds-val (M* average-cost-basis/unit-for-sale
|
||||
trans-units)))
|
||||
(cumul-average-cost-basis
|
||||
(M+ cumul-average-cost-basis
|
||||
conv-purchase-val
|
||||
(and cap-purch-costs? conv-purchase-cost)
|
||||
average-cost-basis-of-sale))
|
||||
|
||||
(net-proceeds (M- conv-proceeds-val conv-proceeds-cost))
|
||||
(gain-post-commission (M+ net-proceeds average-cost-basis-of-sale
|
||||
(and (not cap-purch-costs?)
|
||||
conv-purchase-cost)))
|
||||
(gain-pre-commission (M+ conv-proceeds-val
|
||||
average-cost-basis-of-sale))
|
||||
|
||||
(new-gross-profit (M+ cumul-gross-profit gain-pre-commission))
|
||||
(new-net-profit (M+ cumul-net-profit gain-post-commission))
|
||||
(new-tot-return (M+ cumul-tot-return gain-post-commission
|
||||
conv-dividends)))
|
||||
|
||||
;; (gnc:pk trans 'trans-units trans-units 'trans-value trans-value
|
||||
;; 'cumul-units cumul-units 'proceeds-val proceeds-val
|
||||
;; 'sale? sale? 'purchase? purchase?)
|
||||
(cond
|
||||
((not (< startdate (xaccTransGetDate (xaccSplitGetParent (car splits)))
|
||||
enddate))
|
||||
(lp rest-splits
|
||||
odd-row?
|
||||
new-units
|
||||
cumul-average-cost-basis
|
||||
new-gross-profit
|
||||
new-net-profit
|
||||
new-tot-return))
|
||||
|
||||
(else
|
||||
(gnc:html-table-append-row/markup!
|
||||
table (if short-alternate-format?
|
||||
(if shorting? "alternate-row" "normal-row")
|
||||
(if odd-row? "normal-row" "alternate-row"))
|
||||
(list (qof-print-date (xaccTransGetDate trans))
|
||||
(gnc:html-string-sanitize (xaccTransGetDescription trans))
|
||||
(to-cell (gnc:html-split-anchor split (to-commodity trans-units)))
|
||||
(to-cell (to-commodity new-units))
|
||||
(cond
|
||||
((< new-units 0 cumul-units) "ERROR: long→short")
|
||||
((< cumul-units 0 new-units) "ERROR: short→long")
|
||||
((= 0 cumul-units) (cmp new-units "Open Short" "1" "Open Long"))
|
||||
((= 0 new-units) (cmp trans-units "Close Long" "2" "Close Short"))
|
||||
((= 0 trans-units trans-value)
|
||||
(cmp cumul-units "Compensatory Dividend" "7" "Dividend"))
|
||||
((= 0 trans-units)
|
||||
(cond (cash-dividends
|
||||
(cmp cumul-units
|
||||
"Compensatory Notional Distribution"
|
||||
"7"
|
||||
"Notional Distribution"))
|
||||
(purchase-val
|
||||
(cmp cumul-units
|
||||
"Compensatory Return Capital"
|
||||
"8"
|
||||
"Return Capital"))
|
||||
(else "3")))
|
||||
((= 0 trans-value) (stock-split cumul-units trans-units))
|
||||
(purchase-val (cmp purchase-val "Short Sell" "5" "Buy"))
|
||||
(proceeds-val (cmp proceeds-val "Short Buy" "6" "Sell"))
|
||||
(else "4"))
|
||||
(gnc-commodity-get-mnemonic currency)
|
||||
(to-cell (gnc:default-price-renderer report-currency fx))
|
||||
(to-cell (to-orig-currency purchase-val))
|
||||
(to-cell (to-orig-currency purchase-cost))
|
||||
(to-cell (to-orig-currency cash-dividends))
|
||||
(to-cell (to-orig-currency proceeds-val))
|
||||
(to-cell (to-orig-currency proceeds-cost))
|
||||
(to-cell (to-report-currency conv-purchase-val))
|
||||
(to-cell (to-report-currency conv-purchase-cost))
|
||||
(to-cell (to-report-currency conv-dividends))
|
||||
(to-cell (to-report-currency conv-proceeds-val))
|
||||
(to-cell (to-report-currency conv-proceeds-cost))
|
||||
(to-cell (to-report-currency average-cost-basis/unit-for-sale))
|
||||
(to-cell (to-report-currency (M- average-cost-basis-of-sale)))
|
||||
(to-cell (to-report-currency cumul-average-cost-basis))
|
||||
(to-cell (to-report-currency gain-post-commission))
|
||||
(to-cell (to-report-currency gain-pre-commission))
|
||||
(to-cell (to-report-currency net-proceeds))
|
||||
(to-cell (to-report-currency new-gross-profit))
|
||||
(to-cell (to-report-currency new-net-profit))
|
||||
(to-cell (to-report-currency new-tot-return))))
|
||||
|
||||
(lp rest-splits
|
||||
(not odd-row?)
|
||||
new-units
|
||||
cumul-average-cost-basis
|
||||
new-gross-profit
|
||||
new-net-profit
|
||||
new-tot-return))))))))))
|
||||
|
||||
;; (gnc:dump-all-transactions)
|
||||
(gnc:html-document-add-object! document disclaimer)
|
||||
document)
|
||||
|
||||
|
||||
;; Here we define the actual report
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name reportname
|
||||
'report-guid "15d5b744176c4625a703720338725291"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'options-generator options-generator
|
||||
'renderer ifrs-cost-basis-renderer)
|
@ -401,15 +401,15 @@ with *EUGOODS* in the account description."))
|
||||
(box-8 (lambda (s) (myneg (split-adder s eu-sales-accts))))
|
||||
(box-9 (lambda (s) (split-adder s eu-purch-accts))))
|
||||
(list
|
||||
(vector "Box 1 VAT Sales" box-1 #f #t #f #f)
|
||||
(vector "Box 2 VAT Reverse EU" box-2 #f #t #f #f)
|
||||
(vector "Box 3 VAT Output" box-3 #f #t #f #f)
|
||||
(vector "Box 4 VAT Purchases" box-4 #f #t #f #f)
|
||||
(vector "Box 5 VAT Difference" box-5 #f #t #f #f)
|
||||
(vector "Box 6 Tot Sales" box-6 #f #t #f #f)
|
||||
(vector "Box 7 Tot Purchases" box-7 #f #t #f #f)
|
||||
(vector "Box 8 EU Goods Sales" box-8 #f #t #f #f)
|
||||
(vector "Box 9 EU Goods Purchases" box-9 #f #t #f #f)))))))
|
||||
(vector "Box 1 VAT Sales" box-1 #f #t #f #f)
|
||||
(vector "Box 2 VAT Goods Purchases from EU to NI" box-2 #f #t #f #f)
|
||||
(vector "Box 3 VAT Output" box-3 #f #t #f #f)
|
||||
(vector "Box 4 VAT Purchases" box-4 #f #t #f #f)
|
||||
(vector "Box 5 VAT Difference" box-5 #f #t #f #f)
|
||||
(vector "Box 6 Tot Sales" box-6 #f #t #f #f)
|
||||
(vector "Box 7 Tot Purchases" box-7 #f #t #f #f)
|
||||
(vector "Box 8 Net Goods Sales from NI to EU" box-8 #f #t #f #f)
|
||||
(vector "Box 9 Net Goods Purchases from EU to NI" box-9 #f #t #f #f)))))))
|
||||
|
||||
;; Define the report.
|
||||
(gnc:define-report
|
||||
|
@ -17,6 +17,7 @@ set(scm_test_with_srfi64_SOURCES
|
||||
test-trial-balance.scm
|
||||
test-equity-statement.scm
|
||||
test-average-balance.scm
|
||||
test-ifrs-cost-basis.scm
|
||||
test-invoice.scm
|
||||
test-new-owner-report.scm
|
||||
test-owner-report.scm
|
||||
|
357
gnucash/report/reports/standard/test/test-ifrs-cost-basis.scm
Normal file
357
gnucash/report/reports/standard/test/test-ifrs-cost-basis.scm
Normal file
@ -0,0 +1,357 @@
|
||||
(use-modules (gnucash engine))
|
||||
(use-modules (gnucash app-utils))
|
||||
(use-modules (tests test-engine-extras))
|
||||
(use-modules (gnucash reports standard ifrs-cost-basis))
|
||||
(use-modules (gnucash report stylesheets plain))
|
||||
(use-modules (gnucash report))
|
||||
(use-modules (tests test-report-extras))
|
||||
(use-modules (srfi srfi-64))
|
||||
(use-modules (tests srfi64-extras))
|
||||
(use-modules (sxml simple))
|
||||
(use-modules (sxml xpath))
|
||||
|
||||
;; This is implementation testing for both the IFRS-COST-BASIS Tool
|
||||
(define uuid "15d5b744176c4625a703720338725291")
|
||||
|
||||
;; Explicitly set locale to make the report output predictable
|
||||
(setlocale LC_ALL "C")
|
||||
|
||||
(define (run-test)
|
||||
(test-runner-factory gnc:test-runner)
|
||||
(test-begin "test-ifrs-cost-basis.scm")
|
||||
(null-test)
|
||||
(ifrs-cost-basis-tests)
|
||||
(test-end "test-ifrs-cost-basis.scm"))
|
||||
|
||||
(define (options->sxml uuid options test-title)
|
||||
(gnc:options->sxml uuid options "test-ifrs-basis" test-title))
|
||||
|
||||
(define (set-option! options section name value)
|
||||
(let ((option (gnc:lookup-option options section name)))
|
||||
(if option
|
||||
(gnc:option-set-value option value)
|
||||
(test-assert (format #f "wrong-option ~a ~a" section name) #f))))
|
||||
|
||||
(define (null-test)
|
||||
;; This null-test tests for the presence of report.
|
||||
(let ((options (gnc:make-report-options uuid)))
|
||||
(test-assert "null-test"
|
||||
(options->sxml uuid options "null-test"))))
|
||||
|
||||
(define (mnemonic->commodity sym)
|
||||
(gnc-commodity-table-lookup
|
||||
(gnc-commodity-table-get-table (gnc-get-current-book))
|
||||
(gnc-commodity-get-namespace (gnc-default-report-currency))
|
||||
sym))
|
||||
|
||||
(define (new-commodity name ns sym scu)
|
||||
(let* ((book (gnc-get-current-book))
|
||||
(comm-table (gnc-commodity-table-get-table book))
|
||||
(new-comm (gnc-commodity-new book name ns sym "" scu)))
|
||||
(gnc-commodity-table-insert comm-table new-comm)
|
||||
new-comm))
|
||||
|
||||
(define (create-ifrs-cost-basis-test-data)
|
||||
(define book (gnc-get-current-book))
|
||||
(define env (create-test-env))
|
||||
(define USD (mnemonic->commodity "USD"))
|
||||
(define CAD (mnemonic->commodity "CAD"))
|
||||
(define SPY (new-commodity "SPY" "NYSE" "SPY" 10000))
|
||||
(define structure
|
||||
(list "Root" (list (cons 'type ACCT-TYPE-ASSET)
|
||||
(cons 'commodity CAD))
|
||||
(list "Asset"
|
||||
(list "Broker" (list (cons 'commodity CAD))
|
||||
(list "CAD Cash" (list (cons 'commodity CAD)))
|
||||
(list "USD Cash" (list (cons 'commodity USD)))
|
||||
(list "SPY" (list (cons 'commodity SPY)
|
||||
(cons 'type ACCT-TYPE-STOCK))))
|
||||
(list "Current Assets"
|
||||
(list "Checking Account")))
|
||||
(list "Income" (list (cons 'type ACCT-TYPE-INCOME))
|
||||
(list "USD CapGain" (list (cons 'commodity USD)))
|
||||
(list "USD Interest" (list (cons 'commodity USD))))
|
||||
(list "Expenses" (list (cons 'type ACCT-TYPE-EXPENSE))
|
||||
(list "USD Commissions" (list (cons 'commodity USD))))
|
||||
(list "Equity" (list (cons 'type ACCT-TYPE-EQUITY))
|
||||
(list "Opening Balances")
|
||||
(list "Opening Balances USD" (list (cons 'commodity USD))))))
|
||||
(define account-alist (env-create-account-structure-alist env structure))
|
||||
(define (get-acct name)
|
||||
(or (assoc-ref account-alist name) (error "no account" name)))
|
||||
(define usd-cash (get-acct "USD Cash"))
|
||||
(define usd-comm (get-acct "USD Commissions"))
|
||||
(define inc-capg (get-acct "USD CapGain"))
|
||||
(define spy (get-acct "SPY"))
|
||||
|
||||
(env-transfer env 01 05 2020
|
||||
(get-acct "Opening Balances")
|
||||
(get-acct "Checking Account")
|
||||
200000 #:description "opening cash")
|
||||
|
||||
(env-transfer env 06 05 2020
|
||||
(get-acct "Checking Account")
|
||||
(get-acct "CAD Cash")
|
||||
100000 #:description "fund trading account")
|
||||
|
||||
(env-transfer-foreign env 10 05 2020
|
||||
(get-acct "CAD Cash")
|
||||
usd-cash
|
||||
100000 85000
|
||||
#:description "Convert CAD to USD")
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 01 07 2019
|
||||
(list (vector usd-cash -2000995/100 -2000995/100 "")
|
||||
(vector spy 20000 100 "Buy")
|
||||
(vector spy 995/100 0 "Fee"))
|
||||
#:description "Buy SPY"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 11 12 2019
|
||||
(list (vector usd-cash -1600995/100 -1600995/100 "")
|
||||
(vector spy 16000 50 "Buy")
|
||||
(vector spy 995/100 0 "Fee")
|
||||
)
|
||||
#:description "Buy SPY"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 18 03 2020
|
||||
(list (vector usd-comm 995/100 995/100 "Fee")
|
||||
(vector usd-cash 1199005/100 1199005/100 "")
|
||||
(vector inc-capg 600995/100 600995/100 "")
|
||||
(vector spy -12000 -75 "Sell")
|
||||
(vector spy -600995/100 0 "") ;gross profit/loss
|
||||
)
|
||||
#:description "Sell SPY"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 01 04 2020
|
||||
(list (vector usd-cash -4200995/100 -4200995/100 "")
|
||||
(vector spy 42000 250 "Buy")
|
||||
(vector spy 995/100 0 "Fee")
|
||||
)
|
||||
#:description "Buy SPY"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 16 04 2020
|
||||
(list (vector usd-cash 2500 -2500)
|
||||
(vector spy -2500 0 "Buy")
|
||||
)
|
||||
#:description "Return of Capital"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 02 05 2020
|
||||
(list (vector usd-cash -47500 -47500 "")
|
||||
(vector spy 47500 125 "Buy")
|
||||
(vector spy 0 0 "Fee")
|
||||
)
|
||||
#:description "Buy spy"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 11 05 2020
|
||||
(list (vector spy 0 450 "Buy"))
|
||||
#:description "stock split"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 21 05 2020
|
||||
(list (vector usd-comm 995/100 995/100 "Fee")
|
||||
(vector usd-cash 2149005/100 2149005/100 "")
|
||||
(vector inc-capg 574702/100 574702/100 "")
|
||||
(vector spy -21500 -135 "Sell")
|
||||
(vector spy -574702/100 0 "") ;gross profit/loss
|
||||
)
|
||||
#:description "Sell SPY"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 03 06 2020
|
||||
(list (vector usd-cash -21000 -21000 "")
|
||||
(vector spy 21000 150 "Buy")
|
||||
(vector spy 0 0 "Fee")
|
||||
)
|
||||
#:description "Buy spy"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 10 06 2020
|
||||
(list (vector usd-comm 995/100 995/100 "Fee")
|
||||
(vector usd-cash 12809005/100 12809005/100 "")
|
||||
(vector inc-capg 1783309/100 1783309/100 "")
|
||||
(vector spy -128100 -915 "Sell")
|
||||
(vector spy -1783309/100 0 "") ;gross profit/loss
|
||||
)
|
||||
#:description "Sell SPY"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 10 06 2020
|
||||
(list (vector spy 995/100 0 "Fee")
|
||||
(vector usd-cash 1189005/100 1189005/100 "")
|
||||
(vector spy -11900 -85 "Sell")
|
||||
)
|
||||
#:description "Sell SPY Short"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 15 06 2020
|
||||
(list (vector spy 995/100 0 "Fee")
|
||||
(vector usd-cash 1104005/100 1104005/100 "")
|
||||
(vector spy -11050 -65 "Sell")
|
||||
)
|
||||
#:description "Sell SPY Short"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 18 06 2020
|
||||
(list (vector spy 5000 50 "Sell")
|
||||
(vector usd-comm 995/100 995/100 "Fee")
|
||||
(vector spy 264337/100 0 "") ;gross profit/loss
|
||||
(vector usd-cash -500995/100 -500995/100 "")
|
||||
(vector inc-capg -264337/100 -264337/100 "")
|
||||
)
|
||||
#:description "Buy SPY Close Short"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 20 06 2020
|
||||
(list (vector spy 8000 100 "Sell")
|
||||
(vector usd-comm 498/100 498/100 "Fee")
|
||||
(vector spy 728673/100 0 "") ;gross profit/loss
|
||||
(vector usd-cash -800498/100 -800498/100 "")
|
||||
(vector inc-capg -728673/100 -728673/100 "")
|
||||
)
|
||||
#:description "Buy SPY Close Short"
|
||||
#:currency CAD)
|
||||
|
||||
(env-create-multisplit-transaction
|
||||
env 21 06 2020
|
||||
(list (vector usd-cash -800498/100 -800498/100 "")
|
||||
(vector spy 8000 100 "Buy")
|
||||
(vector spy 498/100 0 "Fee")
|
||||
)
|
||||
#:description "Buy SPY"
|
||||
#:currency CAD)
|
||||
|
||||
account-alist)
|
||||
|
||||
(define (ifrs-cost-basis-tests)
|
||||
(test-group-with-cleanup "ifrs-cost-basis-tests"
|
||||
(let* ((account-alist (create-ifrs-cost-basis-test-data))
|
||||
(options (gnc:make-report-options uuid)))
|
||||
;; (set-option! options "General" "Price Source" 'pricedb-latest)
|
||||
(set-option! options "General" "Report's currency" (mnemonic->commodity "CAD"))
|
||||
(set-option! options "General" "Proceeds Account"
|
||||
(assoc-ref account-alist "USD Cash"))
|
||||
(set-option! options "General" "Start Date"
|
||||
(cons 'absolute (gnc-dmy2time64 01 01 2019)))
|
||||
(set-option! options "General" "End Date"
|
||||
(cons 'absolute (gnc-dmy2time64 01 01 2021)))
|
||||
|
||||
;; (gnc:dump-all-transactions)
|
||||
|
||||
(let ((sxml (options->sxml uuid options "latest")))
|
||||
(test-equal "BUY 100 SPY"
|
||||
'("07/01/19" "Buy SPY" "100 SPY" "100 SPY" "Open Long" "CAD"
|
||||
"C$1.0000" "C$20,000.00" "C$9.95" "C$20,000.00" "C$9.95"
|
||||
"C$20,009.95" "C$0.00" "C$0.00" "C$0.00")
|
||||
(sxml->table-row-col sxml 1 1 #f))
|
||||
|
||||
(test-equal "BUY 50 SPY"
|
||||
'("12/11/19" "Buy SPY" "50 SPY" "150 SPY" "Buy" "CAD" "C$1.0000"
|
||||
"C$16,000.00" "C$9.95" "C$16,000.00" "C$9.95" "C$200.10"
|
||||
"C$36,019.90" "C$0.00" "C$0.00" "C$0.00")
|
||||
(sxml->table-row-col sxml 1 2 #f))
|
||||
|
||||
(test-equal "Sell 75 SPY"
|
||||
'("03/18/20" "Sell SPY" "-75 SPY" "75 SPY" "Sell" "CAD" "C$1.0000"
|
||||
"C$12,000.00" "C$9.95" "C$12,000.00" "C$9.95" "C$240.13"
|
||||
"C$18,009.95" "C$18,009.95" "-C$6,019.90" "-C$6,009.95"
|
||||
"C$11,990.05" "-C$6,009.95" "-C$6,019.90" "-C$6,019.90")
|
||||
(sxml->table-row-col sxml 1 3 #f))
|
||||
|
||||
(test-equal "BUY 250 SPY"
|
||||
'("04/01/20" "Buy SPY" "250 SPY" "325 SPY" "Buy" "CAD" "C$1.0000"
|
||||
"C$42,000.00" "C$9.95" "C$42,000.00" "C$9.95" "C$240.13"
|
||||
"C$60,019.90" "-C$6,009.95" "-C$6,019.90" "-C$6,019.90")
|
||||
(sxml->table-row-col sxml 1 4 #f))
|
||||
|
||||
(test-equal "Return Capital $2500"
|
||||
'("04/16/20" "Return of Capital" "0 SPY" "325 SPY" "Return Capital"
|
||||
"CAD" "C$1.0000" "-C$2,500.00" "-C$2,500.00" "C$184.68"
|
||||
"C$57,519.90" "-C$6,009.95" "-C$6,019.90" "-C$6,019.90")
|
||||
(sxml->table-row-col sxml 1 5 #f))
|
||||
|
||||
(test-equal "BUY 125 SPY"
|
||||
'("05/02/20" "Buy spy" "125 SPY" "450 SPY" "Buy" "CAD" "C$1.0000"
|
||||
"C$47,500.00" "C$0.00" "C$47,500.00" "C$0.00" "C$176.98"
|
||||
"C$105,019.90" "-C$6,009.95" "-C$6,019.90" "-C$6,019.90")
|
||||
(sxml->table-row-col sxml 1 6 #f))
|
||||
|
||||
(test-equal "2:1 split"
|
||||
'("05/11/20" "stock split" "450 SPY" "900 SPY" "2:1 Split"
|
||||
"CAD" "C$1.0000" "C$233.38" "C$105,019.90" "-C$6,009.95"
|
||||
"-C$6,019.90" "-C$6,019.90")
|
||||
(sxml->table-row-col sxml 1 7 #f))
|
||||
|
||||
(test-equal "sell 135 SPY"
|
||||
'("05/21/20" "Sell SPY" "-135 SPY" "765 SPY" "Sell" "CAD" "C$1.0000"
|
||||
"C$21,500.00" "C$9.95" "C$21,500.00" "C$9.95" "C$116.69"
|
||||
"C$15,752.98" "C$89,266.92" "C$5,737.06" "C$5,747.02"
|
||||
"C$21,490.05" "-C$262.94" "-C$282.84" "-C$282.84")
|
||||
(sxml->table-row-col sxml 1 8 #f))
|
||||
|
||||
(test-equal "BUY 150 SPY"
|
||||
'("06/03/20" "Buy spy" "150 SPY" "915 SPY" "Buy" "CAD" "C$1.0000"
|
||||
"C$21,000.00" "C$0.00" "C$21,000.00" "C$0.00" "C$116.69"
|
||||
"C$110,266.92" "-C$262.94" "-C$282.84" "-C$282.84")
|
||||
(sxml->table-row-col sxml 1 9 #f))
|
||||
|
||||
(test-equal "sell 915 SPY close long"
|
||||
'("06/10/20" "Sell SPY" "-915 SPY" "0 SPY" "Close Long" "CAD"
|
||||
"C$1.0000" "C$128,100.00" "C$9.95" "C$128,100.00" "C$9.95"
|
||||
"C$120.51" "C$110,266.92" "C$0.00" "C$17,823.14" "C$17,833.08"
|
||||
"C$128,090.05" "C$17,570.15" "C$17,540.30" "C$17,540.30")
|
||||
(sxml->table-row-col sxml 1 10 #f))
|
||||
|
||||
(test-equal "short-sell 85 SPY"
|
||||
'("06/10/20" "Sell SPY Short" "-85 SPY" "-85 SPY" "Open Short"
|
||||
"CAD" "C$1.0000" "-C$11,900.00" "C$9.95" "-C$11,900.00" "C$9.95"
|
||||
"-C$11,890.05" "C$17,570.15" "C$17,540.30" "C$17,540.30")
|
||||
(sxml->table-row-col sxml 1 11 #f))
|
||||
|
||||
(test-equal "short-sell 65 SPY"
|
||||
'("06/15/20" "Sell SPY Short" "-65 SPY" "-150 SPY" "Short Sell"
|
||||
"CAD" "C$1.0000" "-C$11,050.00" "C$9.95" "-C$11,050.00" "C$9.95"
|
||||
"C$139.88" "-C$22,930.10" "C$17,570.15" "C$17,540.30" "C$17,540.30")
|
||||
(sxml->table-row-col sxml 1 12 #f))
|
||||
|
||||
(test-equal "buy 50 SPY short"
|
||||
'("06/18/20" "Buy SPY Close Short" "50 SPY" "-100 SPY" "Short Buy"
|
||||
"CAD" "C$1.0000" "-C$5,000.00" "C$9.95" "-C$5,000.00" "C$9.95"
|
||||
"C$152.87" "-C$7,643.37" "-C$15,286.73" "C$2,633.42" "C$2,643.37"
|
||||
"-C$5,009.95" "C$20,213.52" "C$20,173.72" "C$20,173.72")
|
||||
(sxml->table-row-col sxml 1 13 #f))
|
||||
|
||||
(test-equal "BUY 100 SPY close short"
|
||||
'("06/20/20" "Buy SPY Close Short" "100 SPY" "0 SPY" "Close Short"
|
||||
"CAD" "C$1.0000" "-C$8,000.00" "C$4.98" "-C$8,000.00" "C$4.98"
|
||||
"C$152.87" "-C$15,286.73" "C$0.00" "C$7,281.75" "C$7,286.73"
|
||||
"-C$8,004.98" "C$27,500.25" "C$27,455.47" "C$27,455.47")
|
||||
(sxml->table-row-col sxml 1 14 #f))
|
||||
|
||||
(test-equal "BUY 100 SPY"
|
||||
'("06/21/20" "Buy SPY" "100 SPY" "100 SPY" "Open Long" "CAD"
|
||||
"C$1.0000" "C$8,000.00" "C$4.98" "C$8,000.00" "C$4.98"
|
||||
"C$8,004.98" "C$27,500.25" "C$27,455.47" "C$27,455.47")
|
||||
(sxml->table-row-col sxml 1 15 #f))))
|
||||
(gnc-clear-current-session)))
|
||||
|
||||
|
@ -66,6 +66,8 @@
|
||||
(set-option options "__reg" "query" (gnc-query2scm query)))
|
||||
|
||||
(let ((sxml (options->sxml options "basic")))
|
||||
;; this is a simplistic test - counts the number of populated
|
||||
;; html-table-cells in the register table.
|
||||
(test-equal "table has 232 cells"
|
||||
232
|
||||
(length (sxml->table-row-col sxml 1 #f #f)))
|
||||
@ -80,8 +82,10 @@
|
||||
|
||||
(set-option options "__reg" "journal" #t)
|
||||
(let ((sxml (options->sxml options "journal")))
|
||||
(test-equal "table has 339 cells"
|
||||
339
|
||||
;; this is a simplistic test - counts the number of populated
|
||||
;; html-table-cells in the register table.
|
||||
(test-equal "table has 329 cells"
|
||||
329
|
||||
(length (sxml->table-row-col sxml 1 #f #f)))
|
||||
|
||||
(test-equal "total debit = #6"
|
||||
@ -102,8 +106,10 @@
|
||||
|
||||
(set-option options "__reg" "ledger-type" #t)
|
||||
(let ((sxml (options->sxml options "ledger-type")))
|
||||
(test-equal "table has 343 cells"
|
||||
343
|
||||
;; this is a simplistic test - counts the number of populated
|
||||
;; html-table-cells in the register table.
|
||||
(test-equal "table has 333 cells"
|
||||
333
|
||||
(length (sxml->table-row-col sxml 1 #f #f)))
|
||||
|
||||
(test-equal "total debit = #6"
|
||||
@ -132,8 +138,10 @@
|
||||
|
||||
(set-option options "__reg" "double" #t)
|
||||
(let ((sxml (options->sxml options "double")))
|
||||
(test-equal "table has 347 cells"
|
||||
347
|
||||
;; this is a simplistic test - counts the number of populated
|
||||
;; html-table-cells in the register table.
|
||||
(test-equal "table has 337 cells"
|
||||
337
|
||||
(length (sxml->table-row-col sxml 1 #f #f)))
|
||||
|
||||
(test-equal "total debit = #6"
|
||||
|
@ -11,6 +11,7 @@
|
||||
;; will create Testing/Temporary/test-asset-performance.log
|
||||
(test-check1)
|
||||
(test-check-invalid-field)
|
||||
(test-check-incomplete-export)
|
||||
(test-check2)
|
||||
(test-check3)
|
||||
(test-check4)
|
||||
@ -31,6 +32,21 @@
|
||||
1
|
||||
(length (gnc:all-report-template-guids))))
|
||||
|
||||
(define (test-check-incomplete-export)
|
||||
;; it's not legit to define report with ONLY export-thunk or
|
||||
;; export-types. both must be defined.
|
||||
(gnc:define-report 'version 3
|
||||
'name "Test Report Template4"
|
||||
'export-thunk #t
|
||||
'report-guid "incomplete-export-guid")
|
||||
(gnc:define-report 'version 3
|
||||
'name "Test Report Template4"
|
||||
'export-types #t
|
||||
'report-guid "incomplete-export-guid")
|
||||
(test-equal "report with incomplete export thunk"
|
||||
1
|
||||
(length (gnc:all-report-template-guids))))
|
||||
|
||||
(define (test-check-invalid-field)
|
||||
(gnc:define-report 'version 3
|
||||
'name "Test Report Template4"
|
||||
|
@ -3120,26 +3120,31 @@ gnc_account_lookup_by_full_name (const Account *any_acc,
|
||||
return found;
|
||||
}
|
||||
|
||||
Account*
|
||||
GList*
|
||||
gnc_account_lookup_by_type_and_commodity (Account* root,
|
||||
const char* name,
|
||||
GNCAccountType acctype,
|
||||
gnc_commodity* commodity)
|
||||
{
|
||||
GList *retval{};
|
||||
auto rpriv{GET_PRIVATE(root)};
|
||||
for (auto node = rpriv->children; node; node = node->next)
|
||||
{
|
||||
auto account{static_cast<Account*>(node->data)};
|
||||
if (xaccAccountGetType (account) == acctype &&
|
||||
gnc_commodity_equiv(xaccAccountGetCommodity (account), commodity))
|
||||
if (xaccAccountGetType (account) == acctype)
|
||||
{
|
||||
if (name && strcmp(name, xaccAccountGetName(account)))
|
||||
continue; //name doesn't match so skip this one
|
||||
if (commodity &&
|
||||
!gnc_commodity_equiv(xaccAccountGetCommodity (account),
|
||||
commodity))
|
||||
continue;
|
||||
|
||||
return account;
|
||||
if (name && strcmp(name, xaccAccountGetName(account)))
|
||||
continue;
|
||||
|
||||
retval = g_list_prepend(retval, account);
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
return retval;
|
||||
}
|
||||
|
||||
void
|
||||
@ -4488,8 +4493,17 @@ gboolean
|
||||
xaccAccountTypesCompatible (GNCAccountType parent_type,
|
||||
GNCAccountType child_type)
|
||||
{
|
||||
return ((xaccParentAccountTypesCompatibleWith (parent_type) &
|
||||
(1 << child_type))
|
||||
/* ACCT_TYPE_NONE isn't compatible with anything, even ACCT_TYPE_NONE. */
|
||||
if (parent_type == ACCT_TYPE_NONE || child_type == ACCT_TYPE_NONE)
|
||||
return FALSE;
|
||||
|
||||
/* ACCT_TYPE_ROOT can't have a parent account, and asking will raise
|
||||
* an error. */
|
||||
if (child_type == ACCT_TYPE_ROOT)
|
||||
return FALSE;
|
||||
|
||||
return ((xaccParentAccountTypesCompatibleWith (child_type) &
|
||||
(1 << parent_type))
|
||||
!= 0);
|
||||
}
|
||||
|
||||
|
@ -938,24 +938,24 @@ Account *gnc_account_lookup_by_code (const Account *parent,
|
||||
*/
|
||||
Account *gnc_account_lookup_by_opening_balance (Account *account, gnc_commodity *commodity);
|
||||
|
||||
/** Find a direct child account matching name, GNCAccountType, and commodity.
|
||||
/** Find a direct child account matching name, GNCAccountType, and/or commodity.
|
||||
*
|
||||
* Note that commodity matching is by equivalence: If the
|
||||
* mnemonic/symbol and namespace are the same, it matches.
|
||||
* Name and commodity may be nullptr in which case the accounts in the
|
||||
* list may have any value for those properties. Note that commodity
|
||||
* matching is by equivalence: If the mnemonic/symbol and namespace
|
||||
* are the same, it matches.
|
||||
*
|
||||
* @param root The account among whose children one expects to find
|
||||
* the account.
|
||||
* @param name The name of the account to look for. If nullptr the
|
||||
* returned account will match only on acctype and commodity.
|
||||
* @param name The name of the account to look for or nullptr.
|
||||
* @param acctype The GNCAccountType to match.
|
||||
* @param commodity The commodity in which the account should be denominated.
|
||||
* @return The book's trading account for the given commodity if
|
||||
* trading accounts are enabled and one exists; NULL otherwise.
|
||||
* @param commodity The commodity in which the account should be denominated or nullptr.
|
||||
* @return A GList of children matching the supplied parameters.
|
||||
*/
|
||||
Account *gnc_account_lookup_by_type_and_commodity (Account* root,
|
||||
const char* name,
|
||||
GNCAccountType acctype,
|
||||
gnc_commodity* commodity);
|
||||
GList *gnc_account_lookup_by_type_and_commodity (Account* root,
|
||||
const char* name,
|
||||
GNCAccountType acctype,
|
||||
gnc_commodity* commodity);
|
||||
/** @} */
|
||||
|
||||
/* ------------------ */
|
||||
|
@ -51,6 +51,7 @@
|
||||
#include "TransactionP.h"
|
||||
#include "gnc-commodity.h"
|
||||
#include "qofinstance-p.h"
|
||||
#include "gnc-session.h"
|
||||
|
||||
#undef G_LOG_DOMAIN
|
||||
#define G_LOG_DOMAIN "gnc.engine.scrub"
|
||||
@ -110,6 +111,7 @@ TransScrubOrphansFast (Transaction *trans, Account *root)
|
||||
|
||||
if (!trans) return;
|
||||
g_return_if_fail (root);
|
||||
g_return_if_fail (trans->common_currency);
|
||||
|
||||
for (node = trans->splits; node; node = node->next)
|
||||
{
|
||||
@ -441,43 +443,46 @@ get_balance_split (Transaction *trans, Account *root, Account *account,
|
||||
return balance_split;
|
||||
}
|
||||
|
||||
static gnc_commodity*
|
||||
find_root_currency(void)
|
||||
{
|
||||
QofSession *sess = gnc_get_current_session ();
|
||||
Account *root = gnc_book_get_root_account (qof_session_get_book (sess));
|
||||
gnc_commodity *root_currency = xaccAccountGetCommodity (root);
|
||||
|
||||
/* Some older books may not have a currency set on the root
|
||||
* account. In that case find the first top-level INCOME account
|
||||
* and use its currency. */
|
||||
if (!root_currency)
|
||||
{
|
||||
GList *children = gnc_account_get_children (root);
|
||||
for (GList *node = children; node && !root_currency;
|
||||
node = g_list_next (node))
|
||||
{
|
||||
Account *child = GNC_ACCOUNT (node->data);
|
||||
if (xaccAccountGetType (child) == ACCT_TYPE_INCOME)
|
||||
root_currency = xaccAccountGetCommodity (child);
|
||||
}
|
||||
g_free (children);
|
||||
}
|
||||
return root_currency;
|
||||
}
|
||||
|
||||
/* Get the trading split for a given commodity, creating it (and the
|
||||
necessary accounts) if it doesn't exist. */
|
||||
necessary parent accounts) if it doesn't exist. */
|
||||
static Split *
|
||||
get_trading_split (Transaction *trans, Account *root,
|
||||
get_trading_split (Transaction *trans, Account *base,
|
||||
gnc_commodity *commodity)
|
||||
{
|
||||
Split *balance_split;
|
||||
Account *trading_account;
|
||||
Account *ns_account;
|
||||
Account *account;
|
||||
gnc_commodity *default_currency = NULL;
|
||||
|
||||
if (!root)
|
||||
{
|
||||
root = gnc_book_get_root_account (xaccTransGetBook (trans));
|
||||
if (NULL == root)
|
||||
{
|
||||
/* This can't occur, things should be in books */
|
||||
PERR ("Bad data corruption, no root account in book");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Get the default currency. This is harder than it seems. It's not
|
||||
possible to call gnc_default_currency() since it's a UI function. One
|
||||
might think that the currency of the root account would do, but the root
|
||||
account has no currency. Instead look for the Income placeholder account
|
||||
and use its currency. */
|
||||
default_currency = xaccAccountGetCommodity(gnc_account_lookup_by_name(root,
|
||||
_("Income")));
|
||||
if (! default_currency)
|
||||
{
|
||||
default_currency = commodity;
|
||||
}
|
||||
Account* root = gnc_book_get_root_account (xaccTransGetBook (trans));
|
||||
gnc_commodity *root_currency = find_root_currency ();
|
||||
|
||||
trading_account = xaccScrubUtilityGetOrMakeAccount (root,
|
||||
default_currency,
|
||||
NULL,
|
||||
_("Trading"),
|
||||
ACCT_TYPE_TRADING,
|
||||
TRUE, FALSE);
|
||||
@ -488,7 +493,7 @@ get_trading_split (Transaction *trans, Account *root,
|
||||
}
|
||||
|
||||
ns_account = xaccScrubUtilityGetOrMakeAccount (trading_account,
|
||||
default_currency,
|
||||
NULL,
|
||||
gnc_commodity_get_namespace(commodity),
|
||||
ACCT_TYPE_TRADING,
|
||||
TRUE, TRUE);
|
||||
@ -525,50 +530,6 @@ get_trading_split (Transaction *trans, Account *root,
|
||||
return balance_split;
|
||||
}
|
||||
|
||||
/* Find the trading split for a commodity, but don't create any splits
|
||||
or accounts if they don't already exist. */
|
||||
static Split *
|
||||
find_trading_split (Transaction *trans, Account *root,
|
||||
gnc_commodity *commodity)
|
||||
{
|
||||
Account *trading_account;
|
||||
Account *ns_account;
|
||||
Account *account;
|
||||
|
||||
if (!root)
|
||||
{
|
||||
root = gnc_book_get_root_account (xaccTransGetBook (trans));
|
||||
if (NULL == root)
|
||||
{
|
||||
/* This can't occur, things should be in books */
|
||||
PERR ("Bad data corruption, no root account in book");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
trading_account = gnc_account_lookup_by_name (root, _("Trading"));
|
||||
if (!trading_account)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ns_account = gnc_account_lookup_by_name (trading_account,
|
||||
gnc_commodity_get_namespace(commodity));
|
||||
if (!ns_account)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
account = gnc_account_lookup_by_name (ns_account,
|
||||
gnc_commodity_get_mnemonic(commodity));
|
||||
if (!account)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return xaccTransFindSplitByAccount(trans, account);
|
||||
}
|
||||
|
||||
static void
|
||||
add_balance_split (Transaction *trans, gnc_numeric imbalance,
|
||||
Account *root, Account *account)
|
||||
@ -626,71 +587,6 @@ gnc_transaction_balance_no_trading (Transaction *trans, Account *root,
|
||||
}
|
||||
|
||||
}
|
||||
/** If there are existing trading splits, adjust the price or exchange
|
||||
rate in each of them to agree with the non-trading splits for the
|
||||
same commodity. If there are multiple non-trading splits for the
|
||||
same commodity in the transaction this will use the exchange rate in
|
||||
the last such split. This shouldn't happen, and if it does then there's
|
||||
not much we can do about it anyway.
|
||||
|
||||
While we're at it, compute the value imbalance ignoring existing
|
||||
trading splits. */
|
||||
|
||||
static gnc_numeric
|
||||
gnc_transaction_adjust_trading_splits (Transaction* trans, Account *root)
|
||||
{
|
||||
GList* splits;
|
||||
gnc_numeric imbalance = gnc_numeric_zero();
|
||||
for (splits = trans->splits; splits; splits = splits->next)
|
||||
{
|
||||
Split *split = splits->data;
|
||||
Split *balance_split = NULL;
|
||||
gnc_numeric value, amount;
|
||||
gnc_commodity *commodity, *txn_curr = xaccTransGetCurrency (trans);
|
||||
|
||||
if (! xaccTransStillHasSplit (trans, split)) continue;
|
||||
|
||||
commodity = xaccAccountGetCommodity (xaccSplitGetAccount(split));
|
||||
if (!commodity)
|
||||
{
|
||||
PERR("Split has no commodity");
|
||||
continue;
|
||||
}
|
||||
|
||||
balance_split = find_trading_split (trans, root, commodity);
|
||||
|
||||
if (balance_split != split)
|
||||
/* this is not a trading split */
|
||||
imbalance = gnc_numeric_add(imbalance, xaccSplitGetValue (split),
|
||||
GNC_DENOM_AUTO, GNC_HOW_DENOM_EXACT);
|
||||
|
||||
/* Ignore splits where value or amount is zero */
|
||||
value = xaccSplitGetValue (split);
|
||||
amount = xaccSplitGetAmount (split);
|
||||
if (gnc_numeric_zero_p(amount) || gnc_numeric_zero_p(value))
|
||||
continue;
|
||||
|
||||
if (balance_split && balance_split != split)
|
||||
{
|
||||
gnc_numeric convrate = gnc_numeric_div (amount, value,
|
||||
GNC_DENOM_AUTO, GNC_HOW_DENOM_REDUCE);
|
||||
gnc_numeric old_value, new_value;
|
||||
old_value = xaccSplitGetValue(balance_split);
|
||||
new_value = gnc_numeric_div (xaccSplitGetAmount(balance_split),
|
||||
convrate,
|
||||
gnc_commodity_get_fraction(txn_curr),
|
||||
GNC_HOW_RND_ROUND_HALF_UP);
|
||||
if (! gnc_numeric_equal (old_value, new_value))
|
||||
{
|
||||
xaccTransBeginEdit (trans);
|
||||
xaccSplitSetValue (balance_split, new_value);
|
||||
xaccSplitScrub (balance_split);
|
||||
xaccTransCommitEdit (trans);
|
||||
}
|
||||
}
|
||||
}
|
||||
return imbalance;
|
||||
}
|
||||
|
||||
static gnc_numeric
|
||||
gnc_transaction_get_commodity_imbalance (Transaction *trans,
|
||||
@ -714,6 +610,42 @@ gnc_transaction_get_commodity_imbalance (Transaction *trans,
|
||||
return val_imbalance;
|
||||
}
|
||||
|
||||
/* GFunc wrapper for xaccSplitDestroy */
|
||||
static void
|
||||
destroy_split (void* ptr, void* data)
|
||||
{
|
||||
Split *split = GNC_SPLIT (ptr);
|
||||
if (split)
|
||||
xaccSplitDestroy (split);
|
||||
}
|
||||
|
||||
/* Balancing transactions with trading accounts works best when
|
||||
* starting with no trading splits.
|
||||
*/
|
||||
static void
|
||||
xaccTransClearTradingSplits (Transaction *trans)
|
||||
{
|
||||
GList *trading_splits = NULL;
|
||||
|
||||
for (GList* node = trans->splits; node; node = node->next)
|
||||
{
|
||||
Split* split = GNC_SPLIT(node->data);
|
||||
Account* acc = NULL;
|
||||
if (!split)
|
||||
continue;
|
||||
acc = xaccSplitGetAccount(split);
|
||||
if (acc && xaccAccountGetType(acc) == ACCT_TYPE_TRADING)
|
||||
trading_splits = g_list_prepend (trading_splits, node->data);
|
||||
}
|
||||
|
||||
if (!trading_splits)
|
||||
return;
|
||||
|
||||
xaccTransBeginEdit (trans);
|
||||
g_list_foreach (trading_splits, destroy_split, NULL);
|
||||
xaccTransCommitEdit (trans);
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_transaction_balance_trading (Transaction *trans, Account *root)
|
||||
{
|
||||
@ -854,8 +786,11 @@ xaccTransScrubImbalance (Transaction *trans, Account *root,
|
||||
|
||||
ENTER ("()");
|
||||
|
||||
/* Must look for orphan splits even if there is no imbalance. */
|
||||
/* Must look for orphan splits and remove trading splits even if
|
||||
* there is no imbalance and we're not using trading accounts.
|
||||
*/
|
||||
xaccTransScrubSplits (trans);
|
||||
xaccTransClearTradingSplits (trans);
|
||||
|
||||
/* Return immediately if things are balanced. */
|
||||
if (xaccTransIsBalanced (trans))
|
||||
@ -871,9 +806,7 @@ xaccTransScrubImbalance (Transaction *trans, Account *root,
|
||||
return;
|
||||
}
|
||||
|
||||
imbalance = gnc_transaction_adjust_trading_splits (trans, root);
|
||||
|
||||
/* Balance the value, ignoring existing trading splits */
|
||||
imbalance = xaccTransGetImbalanceValue (trans);
|
||||
if (! gnc_numeric_zero_p (imbalance))
|
||||
{
|
||||
PINFO ("Value unbalanced transaction");
|
||||
@ -1450,42 +1383,91 @@ xaccAccountScrubColorNotSet (QofBook *book)
|
||||
|
||||
/* ================================================================ */
|
||||
|
||||
static Account*
|
||||
construct_account (Account *root, gnc_commodity *currency, const char *accname,
|
||||
GNCAccountType acctype, gboolean placeholder)
|
||||
{
|
||||
gnc_commodity* root_currency = find_root_currency ();
|
||||
Account *acc = xaccMallocAccount(gnc_account_get_book (root));
|
||||
xaccAccountBeginEdit (acc);
|
||||
if (accname && *accname)
|
||||
xaccAccountSetName (acc, accname);
|
||||
if (currency || root_currency)
|
||||
xaccAccountSetCommodity (acc, currency ? currency : root_currency);
|
||||
xaccAccountSetType (acc, acctype);
|
||||
xaccAccountSetPlaceholder (acc, placeholder);
|
||||
|
||||
/* Hang the account off the root. */
|
||||
gnc_account_append_child (root, acc);
|
||||
xaccAccountCommitEdit (acc);
|
||||
return acc;
|
||||
}
|
||||
|
||||
static Account*
|
||||
find_root_currency_account_in_list (GList *acc_list)
|
||||
{
|
||||
gnc_commodity* root_currency = find_root_currency();
|
||||
for (GList *node = acc_list; node; node = g_list_next (node))
|
||||
{
|
||||
Account *acc = GNC_ACCOUNT (node->data);
|
||||
gnc_commodity *acc_commodity = NULL;
|
||||
if (G_UNLIKELY (!acc)) continue;
|
||||
acc_commodity = xaccAccountGetCommodity(acc);
|
||||
if (gnc_commodity_equiv (acc_commodity, root_currency))
|
||||
return acc;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static Account*
|
||||
find_account_matching_name_in_list (GList *acc_list, const char* accname)
|
||||
{
|
||||
for (GList* node = acc_list; node; node = g_list_next(node))
|
||||
{
|
||||
Account *acc = GNC_ACCOUNT (node->data);
|
||||
if (G_UNLIKELY (!acc)) continue;
|
||||
if (g_strcmp0 (accname, xaccAccountGetName(acc)))
|
||||
{
|
||||
g_list_free (acc_list);
|
||||
return acc;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Account *
|
||||
xaccScrubUtilityGetOrMakeAccount (Account *root, gnc_commodity * currency,
|
||||
const char *accname, GNCAccountType acctype,
|
||||
gboolean placeholder, gboolean checkname)
|
||||
{
|
||||
Account * acc;
|
||||
GList* acc_list;
|
||||
Account *acc = NULL;
|
||||
|
||||
g_return_val_if_fail (root, NULL);
|
||||
|
||||
/* build the account name */
|
||||
if (!currency)
|
||||
acc_list =
|
||||
gnc_account_lookup_by_type_and_commodity (root,
|
||||
checkname ? accname : NULL,
|
||||
acctype, currency);
|
||||
|
||||
if (!acc_list)
|
||||
return construct_account (root, currency, accname,
|
||||
acctype, placeholder);
|
||||
|
||||
if (g_list_next(acc_list))
|
||||
{
|
||||
PERR ("No currency specified!");
|
||||
return NULL;
|
||||
if (!currency)
|
||||
acc = find_root_currency_account_in_list (acc_list);
|
||||
|
||||
if (!acc)
|
||||
acc = find_account_matching_name_in_list (acc_list, accname);
|
||||
}
|
||||
|
||||
/* See if we've got one of these going already ... */
|
||||
acc = gnc_account_lookup_by_type_and_commodity (root,
|
||||
checkname ? accname : NULL,
|
||||
acctype, currency);
|
||||
|
||||
if (acc == NULL)
|
||||
{
|
||||
/* Guess not. We'll have to build one. */
|
||||
acc = xaccMallocAccount(gnc_account_get_book (root));
|
||||
xaccAccountBeginEdit (acc);
|
||||
xaccAccountSetName (acc, accname);
|
||||
xaccAccountSetCommodity (acc, currency);
|
||||
xaccAccountSetType (acc, acctype);
|
||||
xaccAccountSetPlaceholder (acc, placeholder);
|
||||
|
||||
/* Hang the account off the root. */
|
||||
gnc_account_append_child (root, acc);
|
||||
xaccAccountCommitEdit (acc);
|
||||
}
|
||||
if (!acc)
|
||||
acc = GNC_ACCOUNT (acc_list->data);
|
||||
|
||||
g_list_free (acc_list);
|
||||
return acc;
|
||||
}
|
||||
|
||||
|
@ -1878,16 +1878,6 @@ price_list_scan_any_currency(GList *price_list, gpointer data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_in_list (GList *list, const gnc_commodity *c)
|
||||
{
|
||||
GList *node;
|
||||
for (node = list; node != NULL; node = g_list_next(node))
|
||||
if ((gnc_commodity*)node->data == c)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* This operates on the principal that the prices are sorted by date and that we
|
||||
* want only the first one before the specified time containing both the target
|
||||
* and some other commodity. */
|
||||
@ -1901,17 +1891,17 @@ latest_before (PriceList *prices, const gnc_commodity* target, time64 t)
|
||||
gnc_commodity *com = gnc_price_get_commodity(price);
|
||||
gnc_commodity *cur = gnc_price_get_currency(price);
|
||||
time64 price_t = gnc_price_get_time64(price);
|
||||
|
||||
if (t < price_t ||
|
||||
(com == target && is_in_list(found_coms, cur)) ||
|
||||
(cur == target && is_in_list(found_coms, com)))
|
||||
(com == target && g_list_find (found_coms, cur)) ||
|
||||
(cur == target && g_list_find (found_coms, com)))
|
||||
continue;
|
||||
else
|
||||
{
|
||||
gnc_price_ref(price);
|
||||
retval = g_list_prepend(retval, price);
|
||||
found_coms = g_list_prepend(found_coms, com == target ? cur : com);
|
||||
}
|
||||
|
||||
gnc_price_ref (price);
|
||||
retval = g_list_prepend (retval, price);
|
||||
found_coms = g_list_prepend (found_coms, com == target ? cur : com);
|
||||
}
|
||||
g_list_free (found_coms);
|
||||
return g_list_reverse(retval);
|
||||
}
|
||||
|
||||
@ -2449,7 +2439,7 @@ extract_common_prices (PriceList *from_prices, PriceList *to_prices,
|
||||
{
|
||||
PriceTuple retval = {NULL, NULL};
|
||||
GList *from_node = NULL, *to_node = NULL;
|
||||
GNCPrice *from_price, *to_price;
|
||||
GNCPrice *from_price = NULL, *to_price = NULL;
|
||||
|
||||
for (from_node = from_prices; from_node != NULL;
|
||||
from_node = g_list_next(from_node))
|
||||
@ -2581,27 +2571,37 @@ direct_price_conversion (GNCPriceDB *db, const gnc_commodity *from,
|
||||
return retval;
|
||||
}
|
||||
|
||||
static gnc_numeric
|
||||
get_nearest_price (GNCPriceDB *pdb,
|
||||
const gnc_commodity *orig_curr,
|
||||
const gnc_commodity *new_curr,
|
||||
const time64 t,
|
||||
gboolean before)
|
||||
{
|
||||
gnc_numeric price;
|
||||
|
||||
if (gnc_commodity_equiv (orig_curr, new_curr))
|
||||
return gnc_numeric_create (1, 1);
|
||||
|
||||
/* Look for a direct price. */
|
||||
price = direct_price_conversion (pdb, orig_curr, new_curr, t, before);
|
||||
|
||||
/*
|
||||
* no direct price found, try find a price in another currency
|
||||
*/
|
||||
if (gnc_numeric_zero_p (price))
|
||||
price = indirect_price_conversion (pdb, orig_curr, new_curr, t, before);
|
||||
|
||||
return gnc_numeric_reduce (price);
|
||||
}
|
||||
|
||||
gnc_numeric
|
||||
gnc_pricedb_get_nearest_before_price (GNCPriceDB *pdb,
|
||||
const gnc_commodity *orig_currency,
|
||||
const gnc_commodity *new_currency,
|
||||
const time64 t)
|
||||
{
|
||||
gnc_numeric price;
|
||||
|
||||
if (gnc_commodity_equiv (orig_currency, new_currency))
|
||||
return gnc_numeric_create (1, 1);
|
||||
|
||||
/* Look for a direct price. */
|
||||
price = direct_price_conversion (pdb, orig_currency, new_currency, t, TRUE);
|
||||
|
||||
/*
|
||||
* no direct price found, try find a price in another currency
|
||||
*/
|
||||
if (gnc_numeric_zero_p (price))
|
||||
price = indirect_price_conversion (pdb, orig_currency, new_currency, t, TRUE);
|
||||
|
||||
return gnc_numeric_reduce (price);
|
||||
return get_nearest_price (pdb, orig_currency, new_currency, t, TRUE);
|
||||
}
|
||||
|
||||
gnc_numeric
|
||||
@ -2610,21 +2610,7 @@ gnc_pricedb_get_nearest_price (GNCPriceDB *pdb,
|
||||
const gnc_commodity *new_currency,
|
||||
const time64 t)
|
||||
{
|
||||
gnc_numeric price;
|
||||
|
||||
if (gnc_commodity_equiv (orig_currency, new_currency))
|
||||
return gnc_numeric_create (1, 1);
|
||||
|
||||
/* Look for a direct price. */
|
||||
price = direct_price_conversion (pdb, orig_currency, new_currency, t, FALSE);
|
||||
|
||||
/*
|
||||
* no direct price found, try find a price in another currency
|
||||
*/
|
||||
if (gnc_numeric_zero_p (price))
|
||||
price = indirect_price_conversion (pdb, orig_currency, new_currency, t, FALSE);
|
||||
|
||||
return gnc_numeric_reduce (price);
|
||||
return get_nearest_price (pdb, orig_currency, new_currency, t, FALSE);
|
||||
}
|
||||
|
||||
gnc_numeric
|
||||
@ -2632,7 +2618,7 @@ gnc_pricedb_get_latest_price (GNCPriceDB *pdb,
|
||||
const gnc_commodity *orig_currency,
|
||||
const gnc_commodity *new_currency)
|
||||
{
|
||||
return gnc_pricedb_get_nearest_price (pdb, orig_currency, new_currency, INT64_MAX);
|
||||
return get_nearest_price (pdb, orig_currency, new_currency, INT64_MAX, FALSE);
|
||||
}
|
||||
|
||||
static gnc_numeric
|
||||
@ -2648,10 +2634,7 @@ convert_amount_at_date (GNCPriceDB *pdb,
|
||||
if (gnc_numeric_zero_p (amount))
|
||||
return amount;
|
||||
|
||||
if (before_date)
|
||||
price = gnc_pricedb_get_nearest_before_price (pdb, orig_currency, new_currency, t);
|
||||
else
|
||||
price = gnc_pricedb_get_nearest_price (pdb, orig_currency, new_currency, t);
|
||||
price = get_nearest_price (pdb, orig_currency, new_currency, t, before_date);
|
||||
|
||||
/* the price retrieved may be invalid. return zero. see 798015 */
|
||||
if (gnc_numeric_check (price))
|
||||
|
@ -2251,9 +2251,8 @@ test_xaccAccountType_Compatibility (void)
|
||||
auto check2 = test_error_struct_new(logdomain, loglevel, msg2);
|
||||
gint loghandler;
|
||||
|
||||
for (type = ACCT_TYPE_BANK; type < NUM_ACCOUNT_TYPES; type = ++type)
|
||||
for (type = ACCT_TYPE_BANK; type < NUM_ACCOUNT_TYPES; ++type)
|
||||
{
|
||||
GNCAccountType child;
|
||||
if (type == ACCT_TYPE_ROOT)
|
||||
{
|
||||
loghandler = g_log_set_handler (logdomain, loglevel,
|
||||
@ -2278,11 +2277,11 @@ test_xaccAccountType_Compatibility (void)
|
||||
g_assert_cmpint (compat, == , equity_compat);
|
||||
else if (type == ACCT_TYPE_TRADING)
|
||||
g_assert_cmpint (compat, == , trading_compat);
|
||||
for (child = ACCT_TYPE_NONE; child < ACCT_TYPE_LAST; child = ++child)
|
||||
if (1 << child & compat)
|
||||
g_assert (xaccAccountTypesCompatible (type, child));
|
||||
for (auto parent = ACCT_TYPE_NONE; parent < ACCT_TYPE_LAST; ++parent)
|
||||
if (1 << parent & compat)
|
||||
g_assert (xaccAccountTypesCompatible (parent, type));
|
||||
else
|
||||
g_assert (!xaccAccountTypesCompatible (type, child));
|
||||
g_assert (!xaccAccountTypesCompatible (parent, type));
|
||||
|
||||
compat = xaccAccountTypesCompatibleWith (type);
|
||||
if (type <= ACCT_TYPE_LIABILITY ||
|
||||
|
@ -487,6 +487,7 @@ gnucash/report/reports/standard/dashboard.scm
|
||||
gnucash/report/reports/standard/equity-statement.scm
|
||||
gnucash/report/reports/standard/general-journal.scm
|
||||
gnucash/report/reports/standard/general-ledger.scm
|
||||
gnucash/report/reports/standard/ifrs-cost-basis.scm
|
||||
gnucash/report/reports/standard/income-gst-statement.scm
|
||||
gnucash/report/reports/standard/income-statement.scm
|
||||
gnucash/report/reports/standard/invoice.scm
|
||||
|
53
po/el.po
53
po/el.po
@ -37,10 +37,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GnuCash 2.4\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
||||
"product=GnuCash&component=Translations\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-04-16 23:36+0200\n"
|
||||
"PO-Revision-Date: 2021-04-11 13:26+0000\n"
|
||||
"PO-Revision-Date: 2021-05-07 16:32+0000\n"
|
||||
"Last-Translator: Eugenia Russell <eugenia.russell2019@gmail.com>\n"
|
||||
"Language-Team: Greek <https://hosted.weblate.org/projects/gnucash/gnucash/el/"
|
||||
">\n"
|
||||
@ -49,7 +49,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
|
||||
#: bindings/guile/commodity-table.scm:44
|
||||
msgid "ALL NON-CURRENCY"
|
||||
@ -311,7 +311,7 @@ msgstr "Εβραϊκή (Windows-1255)"
|
||||
|
||||
#: borrowed/goffice/go-charmap-sel.c:182
|
||||
msgid "Hindi (MacDevanagari)"
|
||||
msgstr ""
|
||||
msgstr "Χίντι (ΜακΝτεβαναγκάρι)"
|
||||
|
||||
#: borrowed/goffice/go-charmap-sel.c:184
|
||||
msgid "Icelandic (MacIcelandic)"
|
||||
@ -406,9 +406,8 @@ msgid "Unicode (UTF-32LE)"
|
||||
msgstr "Unicode (UTF-32LE)"
|
||||
|
||||
#: borrowed/goffice/go-charmap-sel.c:214
|
||||
#, fuzzy
|
||||
msgid "User Defined"
|
||||
msgstr "Όνομα χρήστη"
|
||||
msgstr "Ορισμένο από το χρήστη"
|
||||
|
||||
#: borrowed/goffice/go-charmap-sel.c:215
|
||||
msgid "Vietnamese (TCVN)"
|
||||
@ -455,9 +454,8 @@ msgid "Locale: "
|
||||
msgstr "Περιοχή "
|
||||
|
||||
#: borrowed/goffice/go-charmap-sel.c:476
|
||||
#, fuzzy
|
||||
msgid "Conversion Direction"
|
||||
msgstr "Η μετατροπή ολοκληρώθηκε"
|
||||
msgstr "Κατεύθυνση μετατροπής"
|
||||
|
||||
#: borrowed/goffice/go-charmap-sel.c:477
|
||||
msgid "This value determines which iconv test to perform."
|
||||
@ -476,6 +474,8 @@ msgid ""
|
||||
"The GnuCash online manual has lots of helpful information. You can access "
|
||||
"the manual under the Help menu."
|
||||
msgstr ""
|
||||
"Το ηλεκτρονικό εγχειρίδιο του GnuCash περιέχει πολλές χρήσιμες πληροφορίες. "
|
||||
"Μπορείτε να αποκτήσετε πρόσβαση στο εγχειρίδιο από το μενού Βοήθεια."
|
||||
|
||||
#. Translators: You can replace the link, if a translated page exists.
|
||||
#: doc/tip_of_the_day.list.c:5
|
||||
@ -621,7 +621,6 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: doc/tip_of_the_day.list.c:80
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To transfer funds between accounts with different currencies, click on the "
|
||||
"Transfer button in the register toolbar, select the accounts, and the "
|
||||
@ -631,7 +630,7 @@ msgstr ""
|
||||
"Για να μεταφέρετε κεφάλαια μεταξύ λογαριασμών διαφορετικού νομίσματος, "
|
||||
"Πατήστε το κουμπί Μεταφορά που βρίσκεται την εργαλειοθήκη του μητρώου, "
|
||||
"επιλέξτε του λογαριασμούς και τις επιλογές μεταφοράς για να εισάγετε την "
|
||||
"ισοτιμία η το αλλο ποσό"
|
||||
"ισοτιμία η το αλλο ποσό."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:85
|
||||
msgid ""
|
||||
@ -685,6 +684,10 @@ msgid ""
|
||||
"after midnight, to get the new date as default for new transactions. It is "
|
||||
"not necessary to restart GnuCash."
|
||||
msgstr ""
|
||||
"Εάν εργάζεστε κατά τη διάρκεια της νύχτας, θα πρέπει να κλείσετε και να "
|
||||
"ανοίξετε ξανά τα μητρώα εργασίας σας μετά τα μεσάνυχτα, για να λάβετε τη νέα "
|
||||
"ημερομηνία ως προεπιλογή για τις νέες συναλλαγές. Δεν είναι απαραίτητο να "
|
||||
"επανεκκινήσετε το GnuCash."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:115
|
||||
msgid ""
|
||||
@ -701,7 +704,6 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: doc/tip_of_the_day.list.c:123
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"There is a theory that if ever anyone discovers what the Universe is for and "
|
||||
"why it is here, it will instantly disappear and be replaced with something "
|
||||
@ -712,9 +714,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Υπάρχει η θεωρία που λέει ότι αν μια μέρα κάποιος ανακαλύψει το λόγο ύπαρξης "
|
||||
"του σύμπαντος, αυτό θα εξαφανιστεί ακαριαία και θα αντικατασταθεί από κάτι "
|
||||
"πιο αλλόκοτο και ακατανόητο. Υπάρχει επίσης και κάποια άλλη θεωρία που λέει "
|
||||
"ότι αυτό έχει ήδη συμβεί. Douglas Adams, \"Το Εστιατόριο στην Άκρη του "
|
||||
"Σύμπαντος\""
|
||||
"πιο αλλόκοτο και ακατανόητο. \n"
|
||||
"Υπάρχει επίσης και κάποια άλλη θεωρία που λέει ότι αυτό έχει ήδη συμβεί. \n"
|
||||
"\n"
|
||||
"Douglas Adams, \"Το Εστιατόριο στην Άκρη του Σύμπαντος\""
|
||||
|
||||
#: gnucash/gnome/assistant-acct-period.c:188
|
||||
msgid "The book was closed successfully."
|
||||
@ -736,7 +739,7 @@ msgstr[1] ""
|
||||
|
||||
#. Translators: Run the assistant in your language to see GTK's translation of the button labels.
|
||||
#: gnucash/gnome/assistant-acct-period.c:369
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid ""
|
||||
"You have asked for a book to be created. This book will contain all "
|
||||
"transactions up to midnight %s (for a total of %d transactions spread over "
|
||||
@ -747,8 +750,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Ζητήσατε να δημιουργηθεί ένα βιβλίο. Αυτό το βιβλίο θα περιέχει όλες τις "
|
||||
"συναλλαγές μέχρι τα μεσάνυχτα στις %s (για ένα σύνολο %d συναλλαγών από %d "
|
||||
"λογαριασμούς). Πατήστε 'Μπροστά' για να δημιουργηθεί το βιβλίο. Πατήστε "
|
||||
"'Πίσω' για να αλλάξετε τις ημερομηνίες."
|
||||
"λογαριασμούς).\n"
|
||||
"\n"
|
||||
"Πατήστε 'Μπροστά' για να δημιουργηθεί το βιβλίο.\n"
|
||||
"Πατήστε 'Πίσω' για να αλλάξετε τις ημερομηνίες."
|
||||
|
||||
#: gnucash/gnome/assistant-acct-period.c:386
|
||||
#, c-format
|
||||
@ -1400,16 +1405,16 @@ msgid "_Delete"
|
||||
msgstr "_Διαγραφή"
|
||||
|
||||
#: gnucash/gnome/dialog-customer.c:329
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You must enter a company name. If this customer is an individual (and not a "
|
||||
"company) you should enter the same value for:\n"
|
||||
"Identification - Company Name, and\n"
|
||||
"Payment Address - Name."
|
||||
msgstr ""
|
||||
"Πρέπει να εισάγετε ένα όνομα εταιρείας. Αν αυτός ο πελάτης είναι ιδιώτης "
|
||||
"(και όχι εταιρεία) τότε πρέπει να ορίσετε \"company name\" και \"contact "
|
||||
"name|\" να είναι ίδια."
|
||||
"Πρέπει να εισάγετε ένα όνομα εταιρείας. Αν αυτός ο πελάτης είναι ιδιώτης ("
|
||||
"και όχι εταιρεία) τότε πρέπει να ορίσετε\n"
|
||||
"\"company name\" και \"contact name|\" \n"
|
||||
"να είναι ίδια."
|
||||
|
||||
#: gnucash/gnome/dialog-customer.c:341
|
||||
msgid "You must enter a billing address."
|
||||
@ -30755,9 +30760,9 @@ msgstr "%s: %s - %s"
|
||||
|
||||
#. Translators: %d is the number of Recurrences in the list.
|
||||
#: libgnucash/engine/Recurrence.c:727
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "Unknown, %d-size list."
|
||||
msgstr "Άγνωστος τύπος αρχείου"
|
||||
msgstr "Άγνωστος %d-τύπος αρχείου."
|
||||
|
||||
#: libgnucash/engine/ScrubBusiness.c:549
|
||||
msgid ""
|
||||
|
76
po/es.po
76
po/es.po
@ -12,10 +12,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnucash 2.7.8\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
||||
"product=GnuCash&component=Translations\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-04-16 23:36+0200\n"
|
||||
"PO-Revision-Date: 2021-04-15 23:26+0000\n"
|
||||
"PO-Revision-Date: 2021-04-25 22:33+0000\n"
|
||||
"Last-Translator: Guille Lopez <willelopz@gmail.com>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||
"es/>\n"
|
||||
@ -24,11 +24,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: <b>;</b>;<span weight=\"bold\" size=\"larger\">;</"
|
||||
"span>;<span size=\"larger\" weight=\"bold\">\n"
|
||||
"X-Poedit-KeywordsList: <b>;</b>;<span weight=\"bold\" size=\"larger\""
|
||||
">;</span>;<span size=\"larger\" weight=\"bold\">\n"
|
||||
|
||||
#: bindings/guile/commodity-table.scm:44
|
||||
msgid "ALL NON-CURRENCY"
|
||||
@ -2878,6 +2878,8 @@ msgid ""
|
||||
"No documents were selected to assign this payment to. This may create an "
|
||||
"unattached payment."
|
||||
msgstr ""
|
||||
"No se ha seleccionado ningún documento para asociar a este pago. Esto podría "
|
||||
"crear un pago sin adjuntar."
|
||||
|
||||
#: gnucash/gnome/dialog-payment.c:529 gnucash/gnome/dialog-payment.c:1330
|
||||
#: gnucash/report/reports/standard/new-aging.scm:192
|
||||
@ -6214,6 +6216,8 @@ msgid ""
|
||||
"This report must be upgraded to return a document object with export-string "
|
||||
"or export-error."
|
||||
msgstr ""
|
||||
"Este informe debe de ser actualizado para devolver un objeto de documento "
|
||||
"con export-string o export-error."
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-report.c:1765
|
||||
#, c-format
|
||||
@ -6640,6 +6644,9 @@ msgid ""
|
||||
"have mismatched commodities or currencies.\n"
|
||||
"You need to open each account individually to edit transactions."
|
||||
msgstr ""
|
||||
"Las transacciones de esta cuenta no pueden ser editadas porque sus "
|
||||
"subcuentas tienen materias primas o monedas no coincidentes.\n"
|
||||
"Es necesario abrir cada cuenta individualmente para editar las transacciones."
|
||||
|
||||
#: gnucash/gnome/gnc-split-reg.c:2524
|
||||
#, fuzzy
|
||||
@ -7100,16 +7107,16 @@ msgstr "Abre la ventana de ayuda de GnuCash"
|
||||
#, c-format
|
||||
msgid "Statement Date is %d day after today."
|
||||
msgid_plural "Statement Date is %d days after today."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "La fecha del extracto es %d día posterior a hoy."
|
||||
msgstr[1] "La fecha del extracto es %d días posterior a hoy."
|
||||
|
||||
#. Translators: %d is the number of days in the future
|
||||
#: gnucash/gnome/window-reconcile.c:364
|
||||
#, c-format
|
||||
msgid "The statement date you have chosen is %d day in the future."
|
||||
msgid_plural "The statement date you have chosen is %d days in the future."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "La fecha del extracto seleccionada se encuentra %d día en el futuro."
|
||||
msgstr[1] "La fecha del extracto seleccionada se encuentra %d días en el futuro."
|
||||
|
||||
#: gnucash/gnome/window-reconcile.c:369
|
||||
msgid ""
|
||||
@ -7124,6 +7131,8 @@ msgid ""
|
||||
"WARNING! Account contains splits whose reconcile date is after statement "
|
||||
"date. Reconciliation may be difficult."
|
||||
msgstr ""
|
||||
"¡ATENCIÓN! La cuenta contiene desgloses cuya fecha de conciliación es "
|
||||
"posterior a la fecha del extracto. La conciliación puede ser difícil."
|
||||
|
||||
#: gnucash/gnome/window-reconcile.c:1856
|
||||
msgid ""
|
||||
@ -7132,6 +7141,10 @@ msgid ""
|
||||
"the case, you may use Find Transactions to find them, unreconcile, and re-"
|
||||
"reconcile."
|
||||
msgstr ""
|
||||
"Esta cuenta contiene desgloses cuya fecha de conciliación es posterior a la "
|
||||
"fecha del extracto. Estos desgloses pueden hacer la conciliación difícil. Si "
|
||||
"éste es el caso, se puede usar la búsqueda de transacciones para "
|
||||
"encontrarlos, des-conciliarlos y re-conciliarlos."
|
||||
|
||||
#: gnucash/gnome/window-report.c:115
|
||||
msgid "Set the report options you want using this dialog."
|
||||
@ -7828,7 +7841,7 @@ msgstr "Cabecera de ruta no existe, "
|
||||
#: gnucash/gnome-utils/dialog-doclink-utils.c:242
|
||||
#, c-format
|
||||
msgid "Path head not set, using '%s' for relative paths"
|
||||
msgstr ""
|
||||
msgstr "Cabecera de la ruta no establecida, usando '%s' para rutas relativas"
|
||||
|
||||
# menú
|
||||
#: gnucash/gnome-utils/dialog-doclink-utils.c:426
|
||||
@ -10567,6 +10580,10 @@ msgid ""
|
||||
"Note this option has been deprecated and will be removed in GnuCash 5.0.\n"
|
||||
"Please use 'gnucash-cli --quotes get <datafile>' instead."
|
||||
msgstr ""
|
||||
"Añadir cotización de precios a un archivo de datos de GnuCash determinado.\n"
|
||||
"Nota: esta opción se ha marcado como obsoleta y será eliminada en GnuCash 5."
|
||||
"0.\n"
|
||||
"Por favor, use 'gnucash-cli --quotes get <datafile>' en su lugar."
|
||||
|
||||
#: gnucash/gnucash.cpp:346
|
||||
msgid ""
|
||||
@ -10576,6 +10593,12 @@ msgid ""
|
||||
"Please use 'gnucash-cli --quotes get --namespace <namespace> <datafile>' "
|
||||
"instead."
|
||||
msgstr ""
|
||||
"Expresión regular definiendo qué productos de espacio de nombres se "
|
||||
"recuperarán.\n"
|
||||
"Nota: esta opción se ha marcado como obsoleta y será eliminada en GnuCash 5."
|
||||
"0.\n"
|
||||
"Por favor, use 'gnucash-cli --quotes get --namespace <namespace> <datafile>' "
|
||||
"en su lugar."
|
||||
|
||||
#: gnucash/gnucash.cpp:363
|
||||
msgid ""
|
||||
@ -10583,6 +10606,9 @@ msgid ""
|
||||
"removed in GnuCash 5.0. Please use 'gnucash-cli --quotes get <datafile>' "
|
||||
"instead."
|
||||
msgstr ""
|
||||
"La opción '--add-price-quotes' de gnucash se ha marcado como obsoleta y será "
|
||||
"eliminada en GnuCash 5.0. Por favor, use 'gnucash-cli --quotes get "
|
||||
"<datafile>' en su lugar."
|
||||
|
||||
#: gnucash/gnucash.cpp:399
|
||||
#, fuzzy
|
||||
@ -19150,6 +19176,8 @@ msgid ""
|
||||
"Replace the budget for all periods with new 'value'. Use empty value to "
|
||||
"unset budget for the accounts."
|
||||
msgstr ""
|
||||
"Reemplazar el presupuesto para todos los periodos con un nuevo 'valor'. "
|
||||
"Dejar el valor vacío para quitar el presupuesto de las cuentas."
|
||||
|
||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:133
|
||||
msgid "Add"
|
||||
@ -19179,7 +19207,7 @@ msgstr "Dígitos significativos"
|
||||
|
||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:208
|
||||
msgid "Use a fixed value or apply transformation for all periods."
|
||||
msgstr ""
|
||||
msgstr "Usar un valor fijo o aplicar transformación a todos los periodos."
|
||||
|
||||
#: gnucash/gtkbuilder/gnc-plugin-page-budget.glade:240
|
||||
msgid "Estimate Budget Values"
|
||||
@ -19524,6 +19552,9 @@ msgid ""
|
||||
"than approximately 20. In that case please clear at least some of them "
|
||||
"manually."
|
||||
msgstr ""
|
||||
"Esta herramienta puede ser lenta o abortar si el número de desgloses no "
|
||||
"compensados es mayor que aproximadamente 20. En ese caso, compense algunos "
|
||||
"de manera manual."
|
||||
|
||||
#: gnucash/gtkbuilder/window-autoclear.glade:138
|
||||
#: gnucash/gtkbuilder/window-reconcile.glade:117
|
||||
@ -19539,6 +19570,8 @@ msgstr "_Revisar transacciones creadas"
|
||||
#: gnucash/gtkbuilder/window-autoclear.glade:181
|
||||
msgid "Select this option to open a register tab with newly cleared splits."
|
||||
msgstr ""
|
||||
"Seleccione esta opción para abrir una pestaña de libro de cuentas con "
|
||||
"desgloses recién compensados."
|
||||
|
||||
#: gnucash/gtkbuilder/window-reconcile.glade:71
|
||||
msgid "<b>Reconcile Information</b>"
|
||||
@ -19630,6 +19663,8 @@ msgid ""
|
||||
"This assistant helps you setting up your Online Banking connection with your "
|
||||
"bank."
|
||||
msgstr ""
|
||||
"Este asistente le ayuda a establecer la conexión bancaria online con su "
|
||||
"banco."
|
||||
|
||||
#. See https://wiki.gnucash.org/wiki/AqBanking for the used terminology and replace the link, if a localized version exists.
|
||||
#: gnucash/import-export/aqb/assistant-ab-initial.glade:47
|
||||
@ -19808,7 +19843,7 @@ msgstr "_Introducir fecha:"
|
||||
|
||||
#: gnucash/import-export/aqb/dialog-ab.glade:512
|
||||
msgid "No_w"
|
||||
msgstr ""
|
||||
msgstr "A_hora"
|
||||
|
||||
#: gnucash/import-export/aqb/dialog-ab.glade:572
|
||||
msgid "Enter Password"
|
||||
@ -19825,7 +19860,7 @@ msgstr "A_nchura de la Barra"
|
||||
#. TAN generator with flicker interface common in DE only
|
||||
#: gnucash/import-export/aqb/dialog-ab.glade:670
|
||||
msgid "Setting the bar width, adapting to the size of the TAN generator."
|
||||
msgstr ""
|
||||
msgstr "Definir el ancho de la barra, adaptando al tamaño del generador TAN."
|
||||
|
||||
#: gnucash/import-export/aqb/dialog-ab.glade:685
|
||||
msgid "_Delay"
|
||||
@ -20571,6 +20606,7 @@ msgstr "Importar _MT940"
|
||||
msgid ""
|
||||
"Import an end-of-day account statement in SWIFT MT940 format into GnuCash."
|
||||
msgstr ""
|
||||
"Importar un extracto de cuenta fin-de-día con formato SWIFT MT940 a GnuCash."
|
||||
|
||||
#: gnucash/import-export/aqb/gnc-plugin-aqbanking.c:138
|
||||
msgid "Import MT94_2"
|
||||
@ -20579,6 +20615,7 @@ msgstr "Importar MT94_2"
|
||||
#: gnucash/import-export/aqb/gnc-plugin-aqbanking.c:139
|
||||
msgid "Import an interim account statement in SWIFT MT942 format into GnuCash."
|
||||
msgstr ""
|
||||
"Importar un extracto provisional de cuenta en formato SWIFT MT942 a GnuCash."
|
||||
|
||||
#. Translators: DTAUS is a traditional german exchange format.
|
||||
#. https://de.wikipedia.org/wiki/Datentr%C3%A4geraustauschverfahren
|
||||
@ -20886,6 +20923,15 @@ msgid ""
|
||||
"- invoices created: %u\n"
|
||||
"- invoices updated: %u"
|
||||
msgstr ""
|
||||
"Importación:\n"
|
||||
"- filas ignoradas: %i\n"
|
||||
"- filas importadas: %i\n"
|
||||
"\n"
|
||||
"Validación & procesamiento:\n"
|
||||
"- filas corregidas: %u\n"
|
||||
"- filas ignoradas: %u\n"
|
||||
"- facturas creadas: %u\n"
|
||||
"- facturas actualizadas: %u"
|
||||
|
||||
#: gnucash/import-export/bi-import/dialog-bi-import-gui.c:229
|
||||
#: gnucash/import-export/customer-import/dialog-customer-import-gui.c:205
|
||||
@ -25696,6 +25742,8 @@ msgid ""
|
||||
"The future minimum will add, for each date point, a projected minimum "
|
||||
"balance including scheduled transactions."
|
||||
msgstr ""
|
||||
"El mínimo futuro añadirá, para cada fecha, un balance proyectado mínimo "
|
||||
"incluyendo transacciones programadas."
|
||||
|
||||
#: gnucash/report/reports/standard/balance-forecast.scm:256
|
||||
msgid "Target"
|
||||
|
@ -11,7 +11,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||
"PO-Revision-Date: 2021-04-15 15:26+0000\n"
|
||||
"PO-Revision-Date: 2021-05-07 16:32+0000\n"
|
||||
"Last-Translator: Eugenia Russell <eugenia.russell2019@gmail.com>\n"
|
||||
"Language-Team: Greek <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||
"el/>\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-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.)"
|
||||
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
||||
@ -292,7 +292,6 @@ msgid "check and repair, to"
|
||||
msgstr "έλεγχος και επισκευή, για να"
|
||||
|
||||
#. "To end an application's relationship with an open file so that the application will no longer be able to access the file without opening it again. "
|
||||
#, fuzzy
|
||||
msgid "close, to"
|
||||
msgstr "Κλείσιμο καταγραφών"
|
||||
|
||||
@ -645,9 +644,8 @@ msgid "price type: ask"
|
||||
msgstr "είδος τιμής: ελάχιστη τιμή προσφοράς"
|
||||
|
||||
#. "A bid is an offer to buy, and the price you want to buy at."
|
||||
#, fuzzy
|
||||
msgid "price type: bid"
|
||||
msgstr "Τύπος αρχείου:"
|
||||
msgstr "τύπος τιμής: προσφορά"
|
||||
|
||||
#. "online quotes (rather: quotation!?) A statement of the current price of stocks or commodities"
|
||||
msgid "price: quotes"
|
||||
@ -684,9 +682,8 @@ msgstr "μητρώο"
|
||||
|
||||
#
|
||||
#. "A transaction that is divided into two or more parts"
|
||||
#, fuzzy
|
||||
msgid "register entry: split transaction"
|
||||
msgstr "Εκκίνηση νέας διενέργειας"
|
||||
msgstr "καταχώρηση μητρώου: διαχωρισμός συναλλαγής"
|
||||
|
||||
#. "-"
|
||||
msgid "register entry: stock split"
|
||||
@ -706,32 +703,29 @@ msgstr "μητρώο: γενικό καθολικό"
|
||||
|
||||
#
|
||||
#. "another form of register"
|
||||
#, fuzzy
|
||||
msgid "register: transaction journal"
|
||||
msgstr "Εκκίνηση νέας διενέργειας"
|
||||
msgstr "μητρώο: ημερολόγιο συναλλαγών"
|
||||
|
||||
#
|
||||
#. "reload the current document"
|
||||
#, fuzzy
|
||||
msgid "reload, to"
|
||||
msgstr "Ανανέωση"
|
||||
msgstr "επαναφόρτωση, για να"
|
||||
|
||||
#. "aka 'two-sided form' is in Europe often used for the balance sheet. Complement: report form: Vertical Form"
|
||||
msgid "report form: T Account Form"
|
||||
msgstr ""
|
||||
msgstr "έντυπο αναφοράς: Φόρμα λογαριασμού T"
|
||||
|
||||
#. "aka 'running form' is in english speaking countries usually used for the balance sheet in one column. Complement: report form: T Account Form"
|
||||
msgid "report form: Vertical Form"
|
||||
msgstr ""
|
||||
msgstr "έντυπο αναφοράς: Κάθετη φόρμα"
|
||||
|
||||
#. "name of an equity account (?); to be distinguished from the opening balance."
|
||||
msgid "Retained Earnings"
|
||||
msgstr "Διατηρούμενα Κέρδη"
|
||||
|
||||
#. "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'."
|
||||
#, fuzzy
|
||||
msgid "reverse transaction, to (Action in the register)"
|
||||
msgstr "Η περιγραφή περιέχει"
|
||||
msgstr "αντίστροφη συναλλαγή, προς (ενέργεια στο μητρώο)"
|
||||
|
||||
#. "(In the customer summary report) The total amount of money received because something was sold."
|
||||
msgid "sales"
|
||||
@ -748,16 +742,15 @@ msgstr "Προγραμματισμένη Συναλλαγή"
|
||||
|
||||
#. "DEPRECATED. To repair unbalanced transactions and orphan splits in an account tree. Any transactions that have debits != credits will get a balancing split added (pointing to a special new account called 'Imbalance'). Any splits that do not have accounts are put into another special account called 'Orphan'. Deprecated - use the term 'to check and repair' now."
|
||||
msgid "scrub, to"
|
||||
msgstr ""
|
||||
msgstr "να κάνω καθαρισμό"
|
||||
|
||||
#. "A document or certificate showing who owns shares"
|
||||
#, fuzzy
|
||||
msgid "security"
|
||||
msgstr "Ασφάλεια"
|
||||
msgstr "ασφάλεια"
|
||||
|
||||
#. "-"
|
||||
msgid "Share Balance (register)"
|
||||
msgstr ""
|
||||
msgstr "Υπόλοιπο μετοχών (μητρώο)"
|
||||
|
||||
#. "Any of the equal parts into which the money of a business company is divided, giving the holder a right to a portion of the profits"
|
||||
msgid "shares"
|
||||
@ -768,7 +761,6 @@ msgid "source"
|
||||
msgstr "πηγή"
|
||||
|
||||
#. "One of the two or several parts a transaction is divided into"
|
||||
#, fuzzy
|
||||
msgid "split"
|
||||
msgstr "Διαίρεση"
|
||||
|
||||
@ -777,9 +769,8 @@ msgid "style sheet"
|
||||
msgstr "επίστρωμα ύφους"
|
||||
|
||||
#. "The total of a set of figures that are part of a larger group of figures"
|
||||
#, fuzzy
|
||||
msgid "subtotal"
|
||||
msgstr "%d συνολικά"
|
||||
msgstr "υποσύνολο"
|
||||
|
||||
#. "On the government's tax forms, the tax code identifies the given line or place on the form where certain amounts must be specified according to the current country's legislation"
|
||||
msgid "tax code"
|
||||
|
@ -15,8 +15,8 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||
"PO-Revision-Date: 2021-04-23 09:32+0000\n"
|
||||
"Last-Translator: Thomas Jungers <thomasjungers@gmail.com>\n"
|
||||
"PO-Revision-Date: 2021-04-24 07:32+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||
"fr/>\n"
|
||||
"Language: fr\n"
|
||||
@ -470,7 +470,7 @@ msgstr "facture"
|
||||
|
||||
#. "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"
|
||||
msgstr "tâche"
|
||||
msgstr "tâche (informatique), prestation (facturée)"
|
||||
|
||||
#. "A book in which a bank, business firm, etc. records its financial accounts"
|
||||
msgid "ledger"
|
||||
@ -722,11 +722,11 @@ msgstr "enregistrement, pour (un fichier)"
|
||||
|
||||
#. "A transaction or reminder of a transaction that can be automatically executed at a specific time. It can be executed either once, or several times at regular intervals."
|
||||
msgid "Scheduled Transaction"
|
||||
msgstr "Transaction répartie"
|
||||
msgstr "Transaction récurrente"
|
||||
|
||||
#. "DEPRECATED. To repair unbalanced transactions and orphan splits in an account tree. Any transactions that have debits != credits will get a balancing split added (pointing to a special new account called 'Imbalance'). Any splits that do not have accounts are put into another special account called 'Orphan'. Deprecated - use the term 'to check and repair' now."
|
||||
msgid "scrub, to"
|
||||
msgstr "nettoyer, pour"
|
||||
msgstr "nettoyer"
|
||||
|
||||
#. "A document or certificate showing who owns shares"
|
||||
msgid "security"
|
||||
@ -854,7 +854,7 @@ msgstr "fournisseur"
|
||||
|
||||
#. "The terms 'Voucher' and 'Expense Voucher' are used interchangeably in gnucash. The 'Expense Voucher' is also a bit of a misnomer -- it's more like an 'Expense Report' in gnucash. The phrase is meant to be a list of expenses incurred by an employee for which the company will reminburse them."
|
||||
msgid "voucher"
|
||||
msgstr "bon (commande)"
|
||||
msgstr "bon (commande), pièce justificative"
|
||||
|
||||
#. "see debit"
|
||||
msgid "withdraw (in the reconcile dialog)"
|
||||
@ -862,3 +862,6 @@ msgstr "retrait (dans le dialogue de rapprochement)"
|
||||
|
||||
#~ msgid "invoice owner"
|
||||
#~ msgstr "destinataire de la facture"
|
||||
|
||||
msgid "enter"
|
||||
msgstr "saisir, saisie"
|
||||
|
@ -3,6 +3,7 @@
|
||||
# Christian Rose <menthos@menthos.com>, 2001, 2002, 2003.
|
||||
# Jonas Norling <norling@lysator.liu.se>, 2006.
|
||||
# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2021.
|
||||
# Arve Eriksson <031299870@telia.com>, 2021.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
@ -12,8 +13,8 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||
"PO-Revision-Date: 2021-04-10 13:26+0000\n"
|
||||
"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
|
||||
"PO-Revision-Date: 2021-05-06 03:32+0000\n"
|
||||
"Last-Translator: Arve Eriksson <031299870@telia.com>\n"
|
||||
"Language-Team: Swedish <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||
"sv/>\n"
|
||||
"Language: sv\n"
|
||||
@ -21,11 +22,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-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.)"
|
||||
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
||||
msgstr ""
|
||||
msgstr "Term"
|
||||
|
||||
#. "Opening and closing quote symbols and optionally their key combos like [altgr]+[Y]/[X]. Define the preferred style of quotation, see https://en.wikipedia.org/wiki/Quotation_mark#Summary_table"
|
||||
msgid "\"\""
|
||||
@ -56,9 +57,8 @@ msgid "account type: Asset"
|
||||
msgstr "kontotyp: Tillgång"
|
||||
|
||||
#. "in fact: 'Active & Passive', group aka 'Balance Sheet accounts'; complement of 'Profit & Loss'"
|
||||
#, fuzzy
|
||||
msgid "account type: Assets & Liabilities"
|
||||
msgstr "kontotyp: Skuld"
|
||||
msgstr "kontotyp: Tillgångar & Skulder"
|
||||
|
||||
# src/prefs.c:210
|
||||
#. "(esp. US) (Brit = current account) a bank account from which money can be withdrawn without previous notice"
|
||||
@ -98,9 +98,8 @@ msgid "account type: Passive"
|
||||
msgstr "kontotyp: Passivt"
|
||||
|
||||
#. "Group of accounts tracking your success, complement of 'Assets & Liabilities'"
|
||||
#, fuzzy
|
||||
msgid "account type: Profit & Loss"
|
||||
msgstr "kontotyp: Tillgång"
|
||||
msgstr "kontotyp: Förtjänst & Förlust"
|
||||
|
||||
#. "1. (US) any type of account that earns interest 2. (Brit) any type of bank account that earns a higher level of interest than a current account or deposit account"
|
||||
msgid "account type: saving"
|
||||
@ -111,13 +110,12 @@ msgid "account type: Stock"
|
||||
msgstr "kontotyp: aktie"
|
||||
|
||||
#. "This account type (new in gnucash-2.4.0) is used when exchanging or trading amounts from one currency into another"
|
||||
#, fuzzy
|
||||
msgid "account type: trading"
|
||||
msgstr "kontotyp: spar"
|
||||
msgstr "kontotyp: handel"
|
||||
|
||||
#. "-"
|
||||
msgid "account: parent account"
|
||||
msgstr "konto: förälderkonto"
|
||||
msgstr "konto: överliggande konto"
|
||||
|
||||
#. "-"
|
||||
msgid "account: subaccount"
|
||||
@ -220,14 +218,12 @@ msgid "balance (noun)"
|
||||
msgstr "saldo (substantiv)"
|
||||
|
||||
#. "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"
|
||||
msgstr "balansera, att"
|
||||
msgstr "saldo ing"
|
||||
|
||||
#. "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"
|
||||
msgstr "balansera, att"
|
||||
msgstr "saldo utg"
|
||||
|
||||
#. "A written record of money received and paid out, showing the difference between the two total amounts"
|
||||
msgid "balance sheet"
|
||||
@ -314,9 +310,8 @@ msgid "commodity option: Symbol"
|
||||
msgstr "varualterativ: Symbol"
|
||||
|
||||
#. "interest which is earned on both the initial deposit and on any interest that has already been earned but left on deposit."
|
||||
#, fuzzy
|
||||
msgid "compound interests"
|
||||
msgstr "ränta"
|
||||
msgstr "ränta på ränta"
|
||||
|
||||
#. "(a) A sum of money paid into an account. (b) A record of such a payment. (c) The state of having money in one's bank account."
|
||||
msgid "Credit (column in register)"
|
||||
@ -331,9 +326,8 @@ msgid "credit transfer"
|
||||
msgstr "överföring"
|
||||
|
||||
#. "A document that you give to a client that says you owe money to the client, i.e. the opposite of an invoice"
|
||||
#, fuzzy
|
||||
msgid "credit note"
|
||||
msgstr "överföring"
|
||||
msgstr "kreditnotering"
|
||||
|
||||
#. "The system of money used in a country"
|
||||
msgid "currency"
|
||||
@ -345,7 +339,7 @@ msgstr "Anpassat"
|
||||
|
||||
#. "Compact, well-structured presentation of informations. See https://en.wikipedia.org/wiki/Dashboard_(business)"
|
||||
msgid "dashboard"
|
||||
msgstr ""
|
||||
msgstr "översikt"
|
||||
|
||||
#. "The backend where the data is stored."
|
||||
msgid "database"
|
||||
@ -393,11 +387,11 @@ msgstr "dubbel bokföring"
|
||||
|
||||
#. "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"
|
||||
msgstr ""
|
||||
msgstr "länk till dokument"
|
||||
|
||||
#. "Electronic mail. Some languages allow different writings, but each team should use only one. https://en.wikipedia.org/wiki/Email"
|
||||
msgid "email"
|
||||
msgstr ""
|
||||
msgstr "e-post"
|
||||
|
||||
#. "a person who works for somebody or a company in return for wages"
|
||||
msgid "employee"
|
||||
@ -409,11 +403,11 @@ msgstr "eget kapital"
|
||||
|
||||
#. "Report that ... FIXME: Add description."
|
||||
msgid "equity statement"
|
||||
msgstr ""
|
||||
msgstr "förteckning över eget kapital"
|
||||
|
||||
#. "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)."
|
||||
msgid "escrow (account)"
|
||||
msgstr ""
|
||||
msgstr "depositionskonto"
|
||||
|
||||
#. "The relation in value between the money used in different countries"
|
||||
msgid "exchange rate"
|
||||
@ -440,13 +434,12 @@ msgid "financial calculator: payments"
|
||||
msgstr "finansiell miniräknare: betalningar"
|
||||
|
||||
#. "formal records of the financial activities and position of a business, person, or other entity. See https://en.wikipedia.org/wiki/Financial_statement for a list."
|
||||
#, fuzzy
|
||||
msgid "financial statement"
|
||||
msgstr "händelse: betalning"
|
||||
msgstr "kontoutdrag"
|
||||
|
||||
#. "Free software is a matter of liberty, not price … see https://en.wikipedia.org/wiki/Free_software"
|
||||
msgid "free software"
|
||||
msgstr ""
|
||||
msgstr "fri mjukvara"
|
||||
|
||||
#. "An increase in wealth; profit; advantage (See also: capital gains)"
|
||||
msgid "gain"
|
||||
@ -462,7 +455,7 @@ msgstr "import"
|
||||
|
||||
#. "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"
|
||||
msgstr ""
|
||||
msgstr "resultaträkning"
|
||||
|
||||
#. "Money charged for borrowing money, or paid to somebody who invests money"
|
||||
msgid "interest"
|
||||
@ -491,10 +484,8 @@ msgstr "lån"
|
||||
|
||||
# src/languages.h:184
|
||||
#. "Annual Percentage Rate, includes in contrast to the Nominal Rate some of the various costs to obtain a loan."
|
||||
#, fuzzy
|
||||
#| msgid "loan"
|
||||
msgid "loan: APR"
|
||||
msgstr "lån"
|
||||
msgstr "lån: årsränta"
|
||||
|
||||
#. "The money lost in business activity"
|
||||
msgid "loss"
|
||||
@ -517,9 +508,8 @@ msgid "marker"
|
||||
msgstr "markering"
|
||||
|
||||
#. "1. Some text annotation, but this meaning isn't used inside gnucash. 2. In the Customer summary report: The ratio of profit vs. sales, i.e. the profit amount divided by the sales amount, shown in percent."
|
||||
#, fuzzy
|
||||
msgid "markup"
|
||||
msgstr "markering"
|
||||
msgstr "marginal"
|
||||
|
||||
#. "The way how more than one window is displayed in GnuCash at the same time. MDI = Multiple Document Interface."
|
||||
msgid "MDI modus"
|
||||
@ -534,16 +524,12 @@ msgid "Mortgage"
|
||||
msgstr "Inteckning"
|
||||
|
||||
#. "Adjustable Rate Mortgage"
|
||||
#, fuzzy
|
||||
#| msgid "Mortgage"
|
||||
msgid "mortgage: ARM"
|
||||
msgstr "Inteckning"
|
||||
msgstr "inteckning: rörlig ränta"
|
||||
|
||||
#. "Fixed Rate Mortgage"
|
||||
#, fuzzy
|
||||
#| msgid "Mortgage"
|
||||
msgid "mortgage: FRM"
|
||||
msgstr "Inteckning"
|
||||
msgstr "inteckning: fast ränta"
|
||||
|
||||
#. "e.g. USD, DEM, see Currency."
|
||||
msgid "national currency"
|
||||
@ -596,7 +582,7 @@ msgstr "föräldralös"
|
||||
|
||||
#. "The customer to (or employee or vendor from) which this invoice is sent - or short your business partner."
|
||||
msgid "owner (of bill, invoice or expense voucher)"
|
||||
msgstr ""
|
||||
msgstr "ägare (räkning, faktura eller traktamente)"
|
||||
|
||||
#. "A secret phrase that one needs to know in order to get access to a user account "
|
||||
msgid "passphrase"
|
||||
@ -627,18 +613,16 @@ msgid "portfolio"
|
||||
msgstr "portfölj"
|
||||
|
||||
#. "Register invoice, voucher in account register"
|
||||
#, fuzzy
|
||||
msgid "post, to"
|
||||
msgstr "stänga, att"
|
||||
msgstr "registrera, att"
|
||||
|
||||
#. "A menu choice in many graphical user interface applications that allows the user to specify how the application will act each time it is used. "
|
||||
msgid "preferences"
|
||||
msgstr "inställningar"
|
||||
|
||||
#. "Loan repayment calculator: your payments are split in interests payment and principal payment"
|
||||
#, fuzzy
|
||||
msgid "principal payment"
|
||||
msgstr "händelse: betalning"
|
||||
msgstr "amortering"
|
||||
|
||||
#. "An amount of money for which sth may be bought or sold"
|
||||
msgid "price (in a split)"
|
||||
@ -662,7 +646,7 @@ msgstr "vinst"
|
||||
|
||||
#. "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"
|
||||
msgstr "Vinst och förlust"
|
||||
msgstr "Vinst & Förlust"
|
||||
|
||||
#. "-"
|
||||
msgid "quick-fill"
|
||||
@ -714,11 +698,11 @@ msgstr "läs om, att"
|
||||
|
||||
#. "aka 'two-sided form' is in Europe often used for the balance sheet. Complement: report form: Vertical Form"
|
||||
msgid "report form: T Account Form"
|
||||
msgstr ""
|
||||
msgstr "rapportform: T-kontoform"
|
||||
|
||||
#. "aka 'running form' is in english speaking countries usually used for the balance sheet in one column. Complement: report form: T Account Form"
|
||||
msgid "report form: Vertical Form"
|
||||
msgstr ""
|
||||
msgstr "rapportform: Vertikalt format"
|
||||
|
||||
#. "name of an equity account (?); to be distinguished from the opening balance."
|
||||
msgid "Retained Earnings"
|
||||
@ -726,11 +710,11 @@ msgstr "Balanserade vinstmedel"
|
||||
|
||||
#. "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)"
|
||||
msgstr ""
|
||||
msgstr "återbetalning (Åtgärd i registret)"
|
||||
|
||||
#. "(In the customer summary report) The total amount of money received because something was sold."
|
||||
msgid "sales"
|
||||
msgstr ""
|
||||
msgstr "försäljning"
|
||||
|
||||
#. "To write data (typically a file) to a storage medium, such as a disk or tape."
|
||||
msgid "save, to (to a file)"
|
||||
@ -774,31 +758,28 @@ msgid "subtotal"
|
||||
msgstr "delsumma"
|
||||
|
||||
#. "On the government's tax forms, the tax code identifies the given line or place on the form where certain amounts must be specified according to the current country's legislation"
|
||||
#, fuzzy
|
||||
msgid "tax code"
|
||||
msgstr "skatteinformation"
|
||||
msgstr "skattelagstiftning"
|
||||
|
||||
#. "field of an account"
|
||||
msgid "tax info"
|
||||
msgstr "skatteinformation"
|
||||
|
||||
#. "Amost everybody has to declare and probably pay it. See https://en.wikipedia.org/wiki/Income_tax"
|
||||
#, fuzzy
|
||||
#| msgid "account type: Income"
|
||||
msgid "tax type: income tax"
|
||||
msgstr "kontotyp: Inkomst"
|
||||
msgstr "skattetyp: inkomstskatt"
|
||||
|
||||
#. "Usually only business users have to handle it, see https://en.wikipedia.org/wiki/Sales_tax."
|
||||
msgid "tax type: sales tax"
|
||||
msgstr ""
|
||||
msgstr "skattetyp: försäljningsskatt"
|
||||
|
||||
#. "'Goods and Service Tax' is one form of sales tax."
|
||||
msgid "tax type: GST"
|
||||
msgstr ""
|
||||
msgstr "skattetyp: GST"
|
||||
|
||||
#. "'Value Added Tax' is the other form of sales tax."
|
||||
msgid "tax type: VAT"
|
||||
msgstr ""
|
||||
msgstr "skattetyp: mervärdesskatt (moms)"
|
||||
|
||||
#. "If you create a new e.g. style sheet, you can start from a template."
|
||||
msgid "template"
|
||||
@ -851,7 +832,7 @@ msgstr "överföra, att (registerverktygsrad)"
|
||||
|
||||
#. "The trial balance is a worksheet on which you list all your general ledger accounts and their debit or credit balance. It is a tool that is used to alert you to errors in your books. The total debits must equal the total credits. If they don't equal, you know you have an error that must be tracked down."
|
||||
msgid "trial balance (report)"
|
||||
msgstr ""
|
||||
msgstr "råbalans (rapport)"
|
||||
|
||||
#. "A class or things that have characteristics in common; type of an account, of a commodity etc."
|
||||
msgid "type"
|
||||
@ -875,7 +856,7 @@ msgstr "leverantör"
|
||||
|
||||
#. "The terms 'Voucher' and 'Expense Voucher' are used interchangeably in gnucash. The 'Expense Voucher' is also a bit of a misnomer -- it's more like an 'Expense Report' in gnucash. The phrase is meant to be a list of expenses incurred by an employee for which the company will reminburse them."
|
||||
msgid "voucher"
|
||||
msgstr ""
|
||||
msgstr "traktamente"
|
||||
|
||||
#. "see debit"
|
||||
msgid "withdraw (in the reconcile dialog)"
|
||||
|
@ -5,14 +5,15 @@
|
||||
#
|
||||
# Muha Aliss <muhaaliss@pm.me>, 2021.
|
||||
# Oğuz Ersen <oguzersen@protonmail.com>, 2021.
|
||||
# udo pton <udopton@gmail.com>, 2021.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GnuCash VERSION\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-02-09 01:51+0100\n"
|
||||
"PO-Revision-Date: 2021-02-11 21:50+0000\n"
|
||||
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
|
||||
"PO-Revision-Date: 2021-05-06 13:32+0000\n"
|
||||
"Last-Translator: udo pton <udopton@gmail.com>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/gnucash/glossary/"
|
||||
"tr/>\n"
|
||||
"Language: tr\n"
|
||||
@ -20,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.5-dev\n"
|
||||
"X-Generator: Weblate 4.7-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.)"
|
||||
msgid "Term (Dear translator: This file will never be visible to the user!)"
|
||||
@ -794,31 +795,31 @@ msgstr ""
|
||||
|
||||
#. "A piece of business done; the transfer of money from one account to one or more other accounts. (see also: Scheduled Transaction)"
|
||||
msgid "transaction"
|
||||
msgstr ""
|
||||
msgstr "işlem"
|
||||
|
||||
#. "A transaction whose amount has actually been moved. The word comes from checks: a check is issued, but several steps have to be done until the amount is actually retrieved from the bank account, which is the point in time where that transaction (check) gets cleared."
|
||||
msgid "transaction state: cleared"
|
||||
msgstr ""
|
||||
msgstr "işlem durumu: temizlendi"
|
||||
|
||||
#. "-"
|
||||
msgid "transaction state: frozen"
|
||||
msgstr ""
|
||||
msgstr "işlem durumu: dondurulmuş"
|
||||
|
||||
#. "A transaction that was reconciled with the bank's statement."
|
||||
msgid "transaction state: reconciled"
|
||||
msgstr ""
|
||||
msgstr "işlem durumu: mutabakat sağlanmıştır"
|
||||
|
||||
#. "A transaction that is void i.e. not valid (anymore)."
|
||||
msgid "transaction state: voided"
|
||||
msgstr ""
|
||||
msgstr "işlem durumu: geçersiz"
|
||||
|
||||
#. "1. The action of transferring sth. 2. see: credit transfer"
|
||||
msgid "transfer (noun)"
|
||||
msgstr ""
|
||||
msgstr "transfer (isim)"
|
||||
|
||||
#. "The account where an amount is transferred to"
|
||||
msgid "transfer account"
|
||||
msgstr ""
|
||||
msgstr "transfer hesabı"
|
||||
|
||||
#. "To move money from one account to another. Will create a transaction."
|
||||
msgid "transfer, to (register toolbar)"
|
||||
|
@ -11,7 +11,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-01-10 08:00+0100\n"
|
||||
"PO-Revision-Date: 2021-04-23 16:32+0000\n"
|
||||
"PO-Revision-Date: 2021-05-03 16:32+0000\n"
|
||||
"Last-Translator: TianXing_Yi <duguqiubailee@gmail.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
|
||||
"gnucash/glossary/zh_Hans/>\n"
|
||||
@ -1046,10 +1046,10 @@ msgid "Invoices Due Reminder"
|
||||
msgstr "应收到期提醒"
|
||||
|
||||
msgid "Employees Overview"
|
||||
msgstr "员工概览"
|
||||
msgstr "员工概况"
|
||||
|
||||
msgid "Vendors Overview"
|
||||
msgstr "供应商概览"
|
||||
msgstr "供应商概况"
|
||||
|
||||
msgid "Customers Overview"
|
||||
msgstr "客户概览"
|
||||
msgstr "客户概况"
|
||||
|
16
po/he.po
16
po/he.po
@ -11,7 +11,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-04-16 23:36+0200\n"
|
||||
"PO-Revision-Date: 2021-04-17 17:27+0000\n"
|
||||
"PO-Revision-Date: 2021-04-28 11:32+0000\n"
|
||||
"Last-Translator: Avi Markovitz <avi.markovitz@gmail.com>\n"
|
||||
"Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||
"he/>\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
|
||||
#: bindings/guile/commodity-table.scm:44
|
||||
@ -1688,7 +1688,7 @@ msgstr "לא ניתן לערוך פריט עיסקי."
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:1361
|
||||
#: gnucash/gnome/gnc-plugin-page-register.c:631
|
||||
msgid "Manage Document Link"
|
||||
msgstr "ניהול קישור מסמך"
|
||||
msgstr "ניהול מסמכים מקושרים"
|
||||
|
||||
#: gnucash/gnome/dialog-doclink.c:754
|
||||
msgid "Transaction can not be modified."
|
||||
@ -4595,7 +4595,7 @@ msgstr "_תשלום חשבון"
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:366
|
||||
#: gnucash/gnome/gnc-plugin-page-register.c:300
|
||||
msgid "_Manage Document Link..."
|
||||
msgstr "_ניהול קישור מסמך…"
|
||||
msgstr "_ניהול מסמכים מקושרים…"
|
||||
|
||||
#. 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
|
||||
@ -4908,7 +4908,7 @@ msgstr "פתיחת חלון דוח ספק עבור נמען הודעת זיכו
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:445
|
||||
msgid "Manage Document Link..."
|
||||
msgstr "ניהול קישור מסמך…"
|
||||
msgstr "ניהול מסמכים מקושרים…"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:452
|
||||
#: gnucash/gnome/gnc-plugin-page-register2.c:498
|
||||
@ -15196,11 +15196,11 @@ msgstr "הערה: רק קישורי קבצים שאינם לקריאה בלבד
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:279
|
||||
msgid "Linked _File"
|
||||
msgstr "קבצים _מקושרים"
|
||||
msgstr "קישור _קבצים"
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:295
|
||||
msgid "Linked _Location"
|
||||
msgstr "מיקום _מקושר"
|
||||
msgstr "קישור _מיקום"
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:349
|
||||
msgid "(None)"
|
||||
@ -16462,7 +16462,7 @@ msgstr ""
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:1943
|
||||
msgid "<b>Linked Files</b>"
|
||||
msgstr "<b>קבצים מקושרים</b>"
|
||||
msgstr "<b>קישור קובים</b>"
|
||||
|
||||
#. Preferences->Online Banking:Generic
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:2038
|
||||
|
191
po/hr.po
191
po/hr.po
@ -5,10 +5,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GnuCash 4.2\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
||||
"product=GnuCash&component=Translations\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-04-16 23:36+0200\n"
|
||||
"PO-Revision-Date: 2021-03-25 12:29+0000\n"
|
||||
"PO-Revision-Date: 2021-04-24 17:32+0000\n"
|
||||
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
|
||||
"Language-Team: Croatian <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||
"hr/>\n"
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\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"
|
||||
"X-Generator: Weblate 4.5.2-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
|
||||
#: bindings/guile/commodity-table.scm:44
|
||||
msgid "ALL NON-CURRENCY"
|
||||
@ -4826,10 +4826,8 @@ msgid "Enter a payment for the owner of this invoice"
|
||||
msgstr "Upiši plaćanje za vlasnika ovog izlaznog računa"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:381
|
||||
#, fuzzy
|
||||
#| msgid "Open a company report window for the owner of this invoice"
|
||||
msgid "Open a customer report window for the owner of this invoice"
|
||||
msgstr "Otvori prozor izvještaja o poduzeću za vlasnika ovog izlaznog računa"
|
||||
msgstr "Otvori prozor izvještaja o kupcu za vlasnika ovog izlaznog računa"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:383
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:404
|
||||
@ -4887,10 +4885,8 @@ msgid "Enter a payment for the owner of this bill"
|
||||
msgstr "Upiši plaćanje za vlasnika ovog ulaznog računa"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:402
|
||||
#, fuzzy
|
||||
#| msgid "Open a company report window for the owner of this bill"
|
||||
msgid "Open a vendor report window for the owner of this bill"
|
||||
msgstr "Otvori prozor izvještaja o poduzeću za vlasnika ovog ulaznog računa"
|
||||
msgstr "Otvori prozor izvještaja o kupcu za vlasnika ovog ulaznog računa"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:409
|
||||
msgid "Use the current layout as default for all vendor bills and credit notes"
|
||||
@ -4939,10 +4935,8 @@ msgid "Enter a payment for the owner of this voucher"
|
||||
msgstr "Upiši plaćanje za vlasnika ovog vaučera"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:423
|
||||
#, fuzzy
|
||||
#| msgid "Open a company report window for the owner of this voucher"
|
||||
msgid "Open a employee report window for the owner of this voucher"
|
||||
msgstr "Otvori prozor izvještaja o poduzeću za vlasnika ovog vaučera"
|
||||
msgstr "Otvori prozor izvještaja o zaposleniku za vlasnika ovog vaučera"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:430
|
||||
msgid ""
|
||||
@ -7628,10 +7622,8 @@ msgid "Existing"
|
||||
msgstr "Postojeće"
|
||||
|
||||
#: gnucash/gnome-utils/dialog-dup-trans.c:148
|
||||
#, fuzzy
|
||||
#| msgid "Use +- keys to increment/decrement number"
|
||||
msgid "You can type '+' or '-' to increment or decrement the number."
|
||||
msgstr "Koristi tipke + i - za povećavanje/smanjivanje broja"
|
||||
msgstr "Za povećavanje ili smanjivanje broja možeš koristiti tipke „+” i „-”."
|
||||
|
||||
#: gnucash/gnome-utils/dialog-dup-trans.c:297
|
||||
msgid "Action/Number"
|
||||
@ -12031,11 +12023,9 @@ msgstr ""
|
||||
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:285
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:2758
|
||||
#, fuzzy
|
||||
#| msgid "Show all transactions on one line. (Two in double line mode.)"
|
||||
msgid "Show all transactions on one line or in double line mode on two."
|
||||
msgstr ""
|
||||
"Prikaži sve transakcije u jednom retku. (U dva retka, u dvorednom prikazu.)"
|
||||
"Prikaži sve transakcije u jednom retku ili u dva retka u dvorednom prikazu."
|
||||
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:286
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:291
|
||||
@ -12057,16 +12047,12 @@ msgstr ""
|
||||
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:290
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:2777
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Automatically expand the current transaction to show all splits. All "
|
||||
#| "other transactions are shown on one line. (Two in double line mode.)"
|
||||
msgid ""
|
||||
"Automatically expand the current transaction to show all splits. All other "
|
||||
"transactions are shown on one line or in double line mode on two."
|
||||
msgstr ""
|
||||
"Automatski rasklopi trenutačnu transakciju za prikaz svih stavaka. Sve druge "
|
||||
"transakcije se prikazuju u jednom retku. (U dva retka, u dvorednom prikazu.)"
|
||||
"transakcije prikazuju se u jednom retku ili u dva retka u dvorednom prikazu."
|
||||
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:295
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:2796
|
||||
@ -13075,38 +13061,6 @@ msgstr "Uvoz CSV cijena"
|
||||
|
||||
#. You should localize the (british) examples to your region.
|
||||
#: gnucash/gtkbuilder/assistant-csv-price-import.glade:65
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This assistant will help you import Prices from a CSV file.\n"
|
||||
#| "\n"
|
||||
#| "There is a minimum number of columns that have to be present for a "
|
||||
#| "successful import, these are Date, Amount, From Namespace, From Symbol "
|
||||
#| "and Currency To. If all entries are for the same Commodity / Currency "
|
||||
#| "then you can select them and then the columns will be Date and Amount.\n"
|
||||
#| "\n"
|
||||
#| "Various options exist for specifying the delimiter as well as a fixed "
|
||||
#| "width option. With the fixed width option, double click on the table of "
|
||||
#| "rows displayed to set a column width, then right mouse to change if "
|
||||
#| "required.\n"
|
||||
#| "\n"
|
||||
#| "Examples are \"FTSE\",\"RR.L\",\"21/11/2016\",5.345,\"GBP\" and CURRENCY;"
|
||||
#| "USD;2016-11-21;1.56;GBP\n"
|
||||
#| "\n"
|
||||
#| "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 overwrite existing "
|
||||
#| "prices for that day if required.\n"
|
||||
#| "\n"
|
||||
#| "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.\n"
|
||||
#| "\n"
|
||||
#| "This operation is not reversible, so make sure you have a working "
|
||||
#| "backup.\n"
|
||||
#| "\n"
|
||||
#| "Click on \"Next\" to proceed or \"Cancel\" to Abort Import."
|
||||
msgid ""
|
||||
"This assistant will help you import Prices from a CSV file.\n"
|
||||
"\n"
|
||||
@ -13156,11 +13110,10 @@ msgstr ""
|
||||
"zaglavlju tablice. Moguće je i prepisati postojeće cijene za taj dan, ako je "
|
||||
"to potrebno.\n"
|
||||
"\n"
|
||||
"I na kraju, za ponavljanje uvoza, pregled stranice ima gumbe za učitavanje i "
|
||||
"spremanje postavaka. Za spremanje postavaka, namjesti postavke po želji "
|
||||
"(počevši sa zadanim postavkama), a zatim (opcionalno) promijeni naziv "
|
||||
"postavke i klikni „Spremi postavke”. Napomena: Spremati se može čak i u "
|
||||
"ugrađene postavke.\n"
|
||||
"I na kraju, za ponavljanje uvoza, stranica pregleda ima gumbove za "
|
||||
"učitavanje i spremanje postavaka. Prilagođene postavke možeš spremiti za "
|
||||
"ponovnu upotrebu za kasnije uvoze. Nakon učitavanja postavki možeš ih ponovo "
|
||||
"podesiti za sličan uvoz i spremiti ih pod drugim imenom.\n"
|
||||
"\n"
|
||||
"Ovo je nepovratna radnja, stoga imaj sigurnosnu kopiju pri ruci.\n"
|
||||
"\n"
|
||||
@ -13353,10 +13306,6 @@ msgid "Import Preview"
|
||||
msgstr "Uvezi pregled"
|
||||
|
||||
#: gnucash/gtkbuilder/assistant-csv-price-import.glade:1026
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "<b>Press Apply to add the Prices.\n"
|
||||
#| "Cancel to abort.</b>"
|
||||
msgid ""
|
||||
"<b>Press \"Apply\" to add the Prices.\n"
|
||||
"\"Cancel\" to abort.</b>"
|
||||
@ -13373,34 +13322,6 @@ msgid "CSV Transaction Import"
|
||||
msgstr "Uvoz CSV transakcije"
|
||||
|
||||
#: gnucash/gtkbuilder/assistant-csv-trans-import.glade:56
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This assistant will help you import a delimited file containing a list of "
|
||||
#| "transactions. It supports both token separated files (such as comma "
|
||||
#| "separated or semi-colon separated) and fixed width data.\n"
|
||||
#| "\n"
|
||||
#| "For a successful import three columns have to be available in the import "
|
||||
#| "data:\n"
|
||||
#| "• a Date column\n"
|
||||
#| "• a Description column\n"
|
||||
#| "• a Deposit or Withdrawal column\n"
|
||||
#| "\n"
|
||||
#| "If there is no Account data available, a base account can be selected to "
|
||||
#| "which all data will be imported.\n"
|
||||
#| "\n"
|
||||
#| "Apart from a choice of delimiter, there are several options to tweak the "
|
||||
#| "importer. For example a number of lines can be skipped at the start or "
|
||||
#| "the end of the data, as well as odd rows. Several date and number formats "
|
||||
#| "are supported. The file encoding can be defined.\n"
|
||||
#| "\n"
|
||||
#| "The importer can handle files where transactions are split over multiple "
|
||||
#| "lines, with each line representing one split.\n"
|
||||
#| "\n"
|
||||
#| "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."
|
||||
msgid ""
|
||||
"This assistant will help you import a delimited file containing a list of "
|
||||
"transactions. It supports both token separated files (such as comma "
|
||||
@ -13449,10 +13370,9 @@ msgstr ""
|
||||
"više redaka, pri čemu svaki radak prikazuje jednu stavku.\n"
|
||||
"\n"
|
||||
"I na kraju, za ponavljanje uvoza, pregled stranice ima gumbe za učitavanje i "
|
||||
"spremanje postavaka. Za spremanje postavaka, namjesti postavke po želji "
|
||||
"(počevši s ugrađenim postavkama), a zatim (opcionalno) promijeni naziv "
|
||||
"postavke i klikni „Spremi postavke”. Napomena: Spremati se može čak i u "
|
||||
"ugrađene postavke."
|
||||
"spremanje postavaka. Prilagođene postavke možeš spremiti za ponovnu upotrebu "
|
||||
"za kasnije uvoze. Nakon učitavanja postavki možeš ih ponovo podesiti za "
|
||||
"sličan uvoz i spremiti ih pod drugim imenom."
|
||||
|
||||
#: gnucash/gtkbuilder/assistant-csv-trans-import.glade:74
|
||||
msgid "Transaction Import Assistant"
|
||||
@ -14445,7 +14365,7 @@ msgstr ""
|
||||
"uvoza.\n"
|
||||
"\n"
|
||||
"Klikni „Natrag“ za pregledavanje poklapanja tvojih konta i kategorija, za "
|
||||
"mijenjenje postavaka za valute i vrijednosne papire novih konta ili za "
|
||||
"mijenjanje postavaka za valute i vrijednosne papire novih konta ili za "
|
||||
"dodavanje daljnjih datoteka na područje za izvođenje.\n"
|
||||
"\n"
|
||||
"Klikni „Prekini“ za prekid procesa QIF uvoza."
|
||||
@ -15662,10 +15582,8 @@ msgid "Linked _Location"
|
||||
msgstr "Povezano _mjesto"
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:349
|
||||
#, fuzzy
|
||||
#| msgid "(none)"
|
||||
msgid "(None)"
|
||||
msgstr "(bez)"
|
||||
msgstr "(Ništa)"
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:412
|
||||
msgid "Enter URL like http://www.gnucash.org"
|
||||
@ -19289,11 +19207,6 @@ msgid "Initial Online Banking Setup"
|
||||
msgstr "Postavljanje internet bankarstva"
|
||||
|
||||
#: gnucash/import-export/aqb/assistant-ab-initial.glade:90
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "The Setup of your Online Banking connection is handled by the external "
|
||||
#| "program \"AqBanking Setup Wizard\". Please press the button below to "
|
||||
#| "start this program."
|
||||
msgid ""
|
||||
"The Setup of your Online Banking connection is handled by the external "
|
||||
"program \"AqBanking Setup Wizard\".\n"
|
||||
@ -19302,7 +19215,10 @@ msgid ""
|
||||
"Please press the button below to start it."
|
||||
msgstr ""
|
||||
"Postavkama veze tvog internet bankarstva upravlja vanjski program „Čarobnjak "
|
||||
"za postavljanje AqBanking“. Klikni donji gumb za pokretanje ovog programa."
|
||||
"za postavljanje AqBanking“.\n"
|
||||
"Za nastavljanje moraš postaviti barem jednu vezu.\n"
|
||||
"\n"
|
||||
"Klikni donji gumb za pokretanje."
|
||||
|
||||
#: gnucash/import-export/aqb/assistant-ab-initial.glade:104
|
||||
msgid "_Start AqBanking Wizard"
|
||||
@ -20525,13 +20441,6 @@ msgid "Import bills and invoices from a CSV text file"
|
||||
msgstr "Uvezi ulazne i izlazne račune iz tekstualne CSV datoteke"
|
||||
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:80
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This assistant will help you export the Account Tree to a file\n"
|
||||
#| "with the separator specified below.\n"
|
||||
#| "\n"
|
||||
#| "Select the settings you require for the file and then click \"Next\" to "
|
||||
#| "proceed or \"Cancel\" to abort the export.\n"
|
||||
msgid ""
|
||||
"This assistant will help you export the Account Tree to a file with the "
|
||||
"separator specified below.\n"
|
||||
@ -20539,30 +20448,15 @@ msgid ""
|
||||
"Select the settings you require for the file and then click \"Next\" to "
|
||||
"proceed or \"Cancel\" to abort the export.\n"
|
||||
msgstr ""
|
||||
"Ovaj pomoćnik pomaže pri izvozu kontnog plana u datoteku\n"
|
||||
"s dolje određenim znakom razdvajanja.\n"
|
||||
"Ovaj pomoćnik pomaže pri izvozu kontnog plana u datoteku s dolje određenim "
|
||||
"znakom razdvajanja.\n"
|
||||
"\n"
|
||||
"Odaberi potrebne postavke za datoteku, a zatim klikni „Dalje“ za nastavak "
|
||||
"ili „Prekini“ za prekid izvoza.\n"
|
||||
|
||||
#. Translators: %s is one of the following paragraphs about rows/transaction.
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:87
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "This assistant will help you export the Transactions to a file\n"
|
||||
#| "with the separator specified below.\n"
|
||||
#| "\n"
|
||||
#| "There will be multiple rows for each transaction and may require further "
|
||||
#| "manipulation to get them in a format you can use.\n"
|
||||
#| "\n"
|
||||
#| "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"
|
||||
#| "Select the settings you require for the file and then click \"Next\" to "
|
||||
#| "proceed or \"Cancel\" to abort the export.\n"
|
||||
#, c-format
|
||||
msgid ""
|
||||
"This assistant will help you export the Transactions to a file with the "
|
||||
"separator specified below.\n"
|
||||
@ -20579,17 +20473,17 @@ msgid ""
|
||||
"Select the settings you require for the file and then click \"Next\" to "
|
||||
"proceed or \"Cancel\" to abort the export.\n"
|
||||
msgstr ""
|
||||
"Ovaj pomoćnik pomaže izvesti transakcije u datoteku\n"
|
||||
"s dolje navedenim znakom razdvajanja.\n"
|
||||
"Ovaj pomoćnik pomaže izvesti transakcije u datoteku s dolje navedenim znakom "
|
||||
"razdvajanja.\n"
|
||||
"\n"
|
||||
"Za svaku transakciju postojat će više redaka i možda će biti potrebno "
|
||||
"dodatno ih obraditi u formatu koji možeš koristiti.\n"
|
||||
"%s\n"
|
||||
"\n"
|
||||
"Svaka transakcija pojavit će se jednom u izvozu i navest će se redoslijedom "
|
||||
"obrade računa\n"
|
||||
"Mada transakcija možda ima stavke u nekoliko odabranih računa, ona će se "
|
||||
"izvesti samo jednom. Pojavit će se pod prvim obrađenim računom u kojem "
|
||||
"sadrži stavku.\n"
|
||||
"\n"
|
||||
"Formatom rezultata cijene/stope upravlja se u postavkama,\n"
|
||||
"Opće→Prisili decimalni prikaz cijena\n"
|
||||
"Formatom rezultata cijene/stope upravlja se u postavkama\n"
|
||||
"„Brojevi, datum, vrijeme”→„Prisili decimalni prikaz cijena”\n"
|
||||
"\n"
|
||||
"Odaberi potrebne postavke za datoteku, a zatim pritisni „Dalje” za nastavak "
|
||||
"ili „Prekini” za prekid izvoza.\n"
|
||||
@ -20599,12 +20493,17 @@ msgid ""
|
||||
"There will be multiple rows for each transaction with each row representing "
|
||||
"one split."
|
||||
msgstr ""
|
||||
"Svaka transakcija će sadržavati više redaka, a svaki redak predstavlja jednu "
|
||||
"stavku."
|
||||
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:103
|
||||
msgid ""
|
||||
"There will be one row for each transaction, equivalent to a single row in a "
|
||||
"register in 'Basic Ledger' mode. As such some transfer detail could be lost."
|
||||
msgstr ""
|
||||
"Za svaku transakciju koristit će se jedan redak, što odgovara jednom retku u "
|
||||
"registru u modusu „Glavna knjiga”. Kao takva, neki detalji prijenosa će se "
|
||||
"možda izgubiti."
|
||||
|
||||
#. Translators: %s is the file name.
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:109
|
||||
@ -21095,16 +20994,12 @@ msgstr ""
|
||||
"Odaberi stupac konta prijenosa ili ukloni ostale stupce konta prijenosa."
|
||||
|
||||
#: gnucash/import-export/csv-imp/gnc-import-tx.cpp:671
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "No account column selected and no default account specified either.\n"
|
||||
#| "This should never happen. Please report this as a bug."
|
||||
msgid ""
|
||||
"No account column selected and no base account specified either.\n"
|
||||
"This should never happen. Please report this as a bug."
|
||||
msgstr ""
|
||||
"Niti je odabran stupac konta, niti standardni konto.\n"
|
||||
"Ovo se nikada ne bi trebalo dogoditi. Molimo te, da prijaviš ovu grešku."
|
||||
"Niti je odabran stupac konta, niti osnovni konto.\n"
|
||||
"Ovo se nikada ne bi trebalo dogoditi. Molimo te da prijaviš ovu grešku."
|
||||
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-price.cpp:55
|
||||
msgid "From Symbol"
|
||||
@ -21167,10 +21062,8 @@ msgstr "Vrijednost je obrađena u neispravnu valutu za vrstu stupca valute."
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:520
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:575
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:583
|
||||
#, fuzzy
|
||||
#| msgid " could not be understood.\n"
|
||||
msgid "Column '{1}' could not be understood.\n"
|
||||
msgstr " nije razumljivo.\n"
|
||||
msgstr "Nije bilo moguće razumjeti stupac „{1}”.\n"
|
||||
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-price.cpp:280
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:328
|
||||
|
242
po/it.po
242
po/it.po
@ -52,10 +52,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Gnucash 4.3\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
||||
"product=GnuCash&component=Translations\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-04-16 23:36+0200\n"
|
||||
"PO-Revision-Date: 2021-04-04 23:26+0000\n"
|
||||
"PO-Revision-Date: 2021-04-29 06:32+0000\n"
|
||||
"Last-Translator: Giuseppe Foti <foti.giuseppe@gmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||
"it/>\n"
|
||||
@ -64,7 +64,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
|
||||
#: bindings/guile/commodity-table.scm:44
|
||||
msgid "ALL NON-CURRENCY"
|
||||
@ -633,11 +633,11 @@ msgid ""
|
||||
"followed by ':' and the first letter(s) of the subaccount (e.g. A:C for "
|
||||
"Assets:Cash)."
|
||||
msgstr ""
|
||||
"Digitando le prime lettere del nome di un conto esistente nella colonna "
|
||||
"Transazione del registro, GnuCash completerà il nome prendendolo dall'elenco "
|
||||
"dei conti. Per i sottoconti, digitare le prime lettere del conto genitore "
|
||||
"seguito da «:» e dalle prime lettere del sottoconto (cioè A:L per Attività:"
|
||||
"Liquidi)."
|
||||
"Digita le prime lettere del nome di un conto esistente nella colonna "
|
||||
"Transazione del registro, e GnuCash completerà il nome prendendolo "
|
||||
"dall'elenco dei conti. Per i sottoconti, digita le prime lettere del conto "
|
||||
"genitore seguito da «:» e dalle prime lettere del sottoconto (cioè A:L per "
|
||||
"Attività:Liquidi)."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:65
|
||||
msgid ""
|
||||
@ -4939,10 +4939,9 @@ msgstr ""
|
||||
"Contabilizza un pagamento per l'intestatario di questo documento di vendita"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:381
|
||||
#, fuzzy
|
||||
#| msgid "Open a company report window for the owner of this invoice"
|
||||
msgid "Open a customer report window for the owner of this invoice"
|
||||
msgstr "Apri un resoconto per l'intestatario di questo documento di vendita"
|
||||
msgstr ""
|
||||
"Apri un resoconto cliente per l'intestatario di questo documento di vendita"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:383
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:404
|
||||
@ -5003,10 +5002,10 @@ msgstr ""
|
||||
"Contabilizza un pagamento per l'intestatario di questo documento di acquisto"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:402
|
||||
#, fuzzy
|
||||
#| msgid "Open a company report window for the owner of this bill"
|
||||
msgid "Open a vendor report window for the owner of this bill"
|
||||
msgstr "Apri un resoconto per l'intestatario di questo documento di acquisto"
|
||||
msgstr ""
|
||||
"Apri un resoconto fornitore per l'intestatario di questo documento di "
|
||||
"acquisto"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:409
|
||||
msgid "Use the current layout as default for all vendor bills and credit notes"
|
||||
@ -5056,10 +5055,8 @@ msgid "Enter a payment for the owner of this voucher"
|
||||
msgstr "Contabilizza un pagamento per l'intestatario di questa nota spese"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:423
|
||||
#, fuzzy
|
||||
#| msgid "Open a company report window for the owner of this voucher"
|
||||
msgid "Open a employee report window for the owner of this voucher"
|
||||
msgstr "Apri un resoconto sull'intestatario di questa nota spese"
|
||||
msgstr "Apri un resoconto dipendente sull'intestatario di questa nota spese"
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:430
|
||||
msgid ""
|
||||
@ -6101,8 +6098,9 @@ msgid ""
|
||||
"Add the current report's configuration to the 'Reports->Saved Report "
|
||||
"Configurations' menu. The report configuration will be saved in the file %s."
|
||||
msgstr ""
|
||||
"Aggiunge la configurazione del resoconto corrente al menu «Configurazione di "
|
||||
"resoconto salvate». Il resoconto verrà salvato nel file %s."
|
||||
"Aggiunge la configurazione del resoconto corrente al menu «Resoconti-"
|
||||
">Configurazione di resoconto salvate». Il resoconto verrà salvato nel file "
|
||||
"%s."
|
||||
|
||||
#: gnucash/gnome/gnc-plugin-page-report.c:1205
|
||||
msgid "_Print Report..."
|
||||
@ -7817,10 +7815,8 @@ msgid "Existing"
|
||||
msgstr "Esistente"
|
||||
|
||||
#: gnucash/gnome-utils/dialog-dup-trans.c:148
|
||||
#, fuzzy
|
||||
#| msgid "Use +- keys to increment/decrement number"
|
||||
msgid "You can type '+' or '-' to increment or decrement the number."
|
||||
msgstr "Usa i tasti +- per aumentare/diminuire il numero"
|
||||
msgstr "Puoi digitare «+» o «-» per aumentare o diminuire il numero."
|
||||
|
||||
#: gnucash/gnome-utils/dialog-dup-trans.c:297
|
||||
msgid "Action/Number"
|
||||
@ -12439,12 +12435,10 @@ msgstr ""
|
||||
# Tooltip
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:285
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:2758
|
||||
#, fuzzy
|
||||
#| msgid "Show all transactions on one line. (Two in double line mode.)"
|
||||
msgid "Show all transactions on one line or in double line mode on two."
|
||||
msgstr ""
|
||||
"Visualizza tutte le transazioni su una riga (due nella modalità a riga "
|
||||
"doppia)"
|
||||
"Visualizza tutte le transazioni su una riga o su due nella modalità a riga "
|
||||
"doppia."
|
||||
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:286
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:291
|
||||
@ -12467,17 +12461,13 @@ msgstr ""
|
||||
# Tooltip
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:290
|
||||
#: gnucash/gtkbuilder/dialog-preferences.glade:2777
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Automatically expand the current transaction to show all splits. All "
|
||||
#| "other transactions are shown on one line. (Two in double line mode.)"
|
||||
msgid ""
|
||||
"Automatically expand the current transaction to show all splits. All other "
|
||||
"transactions are shown on one line or in double line mode on two."
|
||||
msgstr ""
|
||||
"Espande automaticamente la transazione selezionata mostrando tutte le "
|
||||
"suddivisioni. Tutte le altre transazioni verranno mostrate su una singola "
|
||||
"riga (due nella modalità a riga doppia)"
|
||||
"riga (o su due nella modalità a riga doppia)."
|
||||
|
||||
# Tooltip
|
||||
#: gnucash/gschemas/org.gnucash.gschema.xml.in:295
|
||||
@ -13543,38 +13533,6 @@ msgstr "Importazione prezzi CSV"
|
||||
|
||||
#. You should localize the (british) examples to your region.
|
||||
#: gnucash/gtkbuilder/assistant-csv-price-import.glade:65
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This assistant will help you import Prices from a CSV file.\n"
|
||||
#| "\n"
|
||||
#| "There is a minimum number of columns that have to be present for a "
|
||||
#| "successful import, these are Date, Amount, From Namespace, From Symbol "
|
||||
#| "and Currency To. If all entries are for the same Commodity / Currency "
|
||||
#| "then you can select them and then the columns will be Date and Amount.\n"
|
||||
#| "\n"
|
||||
#| "Various options exist for specifying the delimiter as well as a fixed "
|
||||
#| "width option. With the fixed width option, double click on the table of "
|
||||
#| "rows displayed to set a column width, then right mouse to change if "
|
||||
#| "required.\n"
|
||||
#| "\n"
|
||||
#| "Examples are \"FTSE\",\"RR.L\",\"21/11/2016\",5.345,\"GBP\" and CURRENCY;"
|
||||
#| "USD;2016-11-21;1.56;GBP\n"
|
||||
#| "\n"
|
||||
#| "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 overwrite existing "
|
||||
#| "prices for that day if required.\n"
|
||||
#| "\n"
|
||||
#| "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.\n"
|
||||
#| "\n"
|
||||
#| "This operation is not reversible, so make sure you have a working "
|
||||
#| "backup.\n"
|
||||
#| "\n"
|
||||
#| "Click on \"Next\" to proceed or \"Cancel\" to Abort Import."
|
||||
msgid ""
|
||||
"This assistant will help you import Prices from a CSV file.\n"
|
||||
"\n"
|
||||
@ -13628,11 +13586,11 @@ msgstr ""
|
||||
"necessario.\n"
|
||||
"\n"
|
||||
"Infine, per le importazioni ripetute la pagina di anteprima ha i pulsanti "
|
||||
"per caricare e salvare le impostazioni. Per salvare le impostazioni, "
|
||||
"modifica le impostazioni in base alle tue preferenze (facoltativamente a "
|
||||
"partire da una preimpostazione esistente), quindi (facoltativamente) "
|
||||
"modifica il nome delle impostazioni e premi il pulsante Salva impostazioni. "
|
||||
"Nota che non puoi sovrascrivere le preimpostazioni integrate.\n"
|
||||
"per caricare e salvare le impostazioni. Puoi salvare le tue impostazioni per "
|
||||
"riutilizzarle in successive importazioni. Dopo aver caricato le tue "
|
||||
"impostazioni puoi anche regolarle per importazioni simili e salvare le "
|
||||
"impostazioni modificate con un altro nome. Nota che non puoi salvare sui "
|
||||
"predefiniti incorporati.\n"
|
||||
"\n"
|
||||
"Questa operazione non è reversibile, quindi assicurati di avere un backup "
|
||||
"funzionante.\n"
|
||||
@ -13831,10 +13789,6 @@ msgid "Import Preview"
|
||||
msgstr "Anteprima importazione"
|
||||
|
||||
#: gnucash/gtkbuilder/assistant-csv-price-import.glade:1026
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "<b>Press Apply to add the Prices.\n"
|
||||
#| "Cancel to abort.</b>"
|
||||
msgid ""
|
||||
"<b>Press \"Apply\" to add the Prices.\n"
|
||||
"\"Cancel\" to abort.</b>"
|
||||
@ -13851,34 +13805,6 @@ msgid "CSV Transaction Import"
|
||||
msgstr "Importazione transazioni CSV"
|
||||
|
||||
#: gnucash/gtkbuilder/assistant-csv-trans-import.glade:56
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This assistant will help you import a delimited file containing a list of "
|
||||
#| "transactions. It supports both token separated files (such as comma "
|
||||
#| "separated or semi-colon separated) and fixed width data.\n"
|
||||
#| "\n"
|
||||
#| "For a successful import three columns have to be available in the import "
|
||||
#| "data:\n"
|
||||
#| "• a Date column\n"
|
||||
#| "• a Description column\n"
|
||||
#| "• a Deposit or Withdrawal column\n"
|
||||
#| "\n"
|
||||
#| "If there is no Account data available, a base account can be selected to "
|
||||
#| "which all data will be imported.\n"
|
||||
#| "\n"
|
||||
#| "Apart from a choice of delimiter, there are several options to tweak the "
|
||||
#| "importer. For example a number of lines can be skipped at the start or "
|
||||
#| "the end of the data, as well as odd rows. Several date and number formats "
|
||||
#| "are supported. The file encoding can be defined.\n"
|
||||
#| "\n"
|
||||
#| "The importer can handle files where transactions are split over multiple "
|
||||
#| "lines, with each line representing one split.\n"
|
||||
#| "\n"
|
||||
#| "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."
|
||||
msgid ""
|
||||
"This assistant will help you import a delimited file containing a list of "
|
||||
"transactions. It supports both token separated files (such as comma "
|
||||
@ -13928,11 +13854,10 @@ msgstr ""
|
||||
"righe, ciascuna delle quali rappresenta una suddivisione.\n"
|
||||
"\n"
|
||||
"Infine, per le importazioni ripetute la pagina di anteprima ha i pulsanti "
|
||||
"per caricare e salvare le impostazioni. Per salvare le impostazioni, "
|
||||
"modifica le impostazioni in base alle tue preferenze (facoltativamente a "
|
||||
"partire da una preimpostazione esistente), quindi (facoltativamente) "
|
||||
"modifica il nome delle impostazioni e premi il pulsante Salva impostazioni. "
|
||||
"Nota che non puoi sovrascrivere le preimpostazioni integrate."
|
||||
"per caricare e salvare le impostazioni. Puoi salvare le tue impostazioni per "
|
||||
"riutilizzarle in successive importazioni. Dopo aver caricato le tue "
|
||||
"impostazioni puoi anche regolarle per importazioni simili e salvare le "
|
||||
"impostazioni modificate con un altro nome."
|
||||
|
||||
#: gnucash/gtkbuilder/assistant-csv-trans-import.glade:74
|
||||
msgid "Transaction Import Assistant"
|
||||
@ -14218,10 +14143,10 @@ msgid ""
|
||||
"\n"
|
||||
"Press 'Cancel' to close this dialog without creating any new accounts."
|
||||
msgstr ""
|
||||
"Fai clic su «Applica» per creare i nuovi conti; sarà poi possibile salvarli "
|
||||
"in un file o in un database.\n"
|
||||
"Fai clic su «Applica» per creare i nuovi conti. Successivamente potrai "
|
||||
"salvarli in un file o in un database.\n"
|
||||
"\n"
|
||||
"Fai clic su «Indietro» per modificare le impostazioni.\n"
|
||||
"Fai clic su «Indietro» per rivedere le impostazioni.\n"
|
||||
"\n"
|
||||
"Fai clic su «Annulla» per chiudere questa finestra senza creare alcun conto."
|
||||
|
||||
@ -16220,10 +16145,8 @@ msgid "Linked _Location"
|
||||
msgstr "_Posizione collegata"
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:349
|
||||
#, fuzzy
|
||||
#| msgid "(none)"
|
||||
msgid "(None)"
|
||||
msgstr "(nessuno)"
|
||||
msgstr "(Nessuno)"
|
||||
|
||||
#: gnucash/gtkbuilder/dialog-doclink.glade:412
|
||||
msgid "Enter URL like http://www.gnucash.org"
|
||||
@ -19955,17 +19878,36 @@ msgid ""
|
||||
"Online Banking, because sometimes the bank does not give you correct "
|
||||
"feedback when a transfer is rejected."
|
||||
msgstr ""
|
||||
"I requisiti per l'online banking variano tra i diversi backend AqBanking "
|
||||
"supportati, ma generalmente avrai bisogno che:\n"
|
||||
"* la tua banca ti conceda l'accesso online. Vedi sul loro sito web o chiedi "
|
||||
"al loro servizio clienti come ottenerlo.\n"
|
||||
"Dovrebbero anche comunicarti:\n"
|
||||
"* il tuo ID utente che ti identifica sul loro server, spesso il tuo numero "
|
||||
"di conto di base;\n"
|
||||
"* l'URL del loro server di servizi bancari online;\n"
|
||||
"* in alcuni casi, in questo assistente ti servirà il numero di routing della "
|
||||
"filiale della tua banca;\n"
|
||||
"* i metodi di autenticazione variano in base al backend e al metodo scelto:\n"
|
||||
"* FinTS PIN / TAN: alcuni metodi richiedono un gadget specifico come un "
|
||||
"lettore di schede o un cellulare;\n"
|
||||
"* FinTS HBCI: devi scambiare le parti pubbliche delle chiavi asimmetriche "
|
||||
"con la tua banca ('Ini-Letter').\n"
|
||||
"* PayPal: indirizzo email registrato, password, firma API;\n"
|
||||
"\n"
|
||||
"Vedi https://wiki.gnucash.org/wiki/AqBanking per maggiori dettagli.\n"
|
||||
"\n"
|
||||
"Nota: NESSUNA GARANZIA DI FUNZIONAMENTO. Alcune banche gestiscono un server "
|
||||
"di Online Banking mal implementato. Non dovresti fare affidamento su Online "
|
||||
"Banking per trasferimenti critici in termini di tempo, perché a volte la "
|
||||
"banca non fornisce un feedback corretto quando un trasferimento viene "
|
||||
"rifiutato."
|
||||
|
||||
#: gnucash/import-export/aqb/assistant-ab-initial.glade:71
|
||||
msgid "Initial Online Banking Setup"
|
||||
msgstr "Impostazione iniziale dell'Online Banking"
|
||||
|
||||
#: gnucash/import-export/aqb/assistant-ab-initial.glade:90
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "The Setup of your Online Banking connection is handled by the external "
|
||||
#| "program \"AqBanking Setup Wizard\". Please press the button below to "
|
||||
#| "start this program."
|
||||
msgid ""
|
||||
"The Setup of your Online Banking connection is handled by the external "
|
||||
"program \"AqBanking Setup Wizard\".\n"
|
||||
@ -19974,8 +19916,10 @@ msgid ""
|
||||
"Please press the button below to start it."
|
||||
msgstr ""
|
||||
"L'impostazione della connessione all'Online Banking è gestita da un "
|
||||
"programma esterno denominato «assistente per l'impostazione di AqBanking». "
|
||||
"Fai clic sul pulsante qui sotto per avviare questo programma."
|
||||
"programma esterno denominato «assistente per l'impostazione di AqBanking».\n"
|
||||
"Per continuare, devi impostare almeno una connessione.\n"
|
||||
"\n"
|
||||
"Fai clic sul pulsante qui sotto per avviare la procedura."
|
||||
|
||||
#: gnucash/import-export/aqb/assistant-ab-initial.glade:104
|
||||
msgid "_Start AqBanking Wizard"
|
||||
@ -21233,13 +21177,6 @@ msgid "Import bills and invoices from a CSV text file"
|
||||
msgstr "Importa documenti di acquisto e vendita da un file di testo CSV"
|
||||
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:80
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This assistant will help you export the Account Tree to a file\n"
|
||||
#| "with the separator specified below.\n"
|
||||
#| "\n"
|
||||
#| "Select the settings you require for the file and then click \"Next\" to "
|
||||
#| "proceed or \"Cancel\" to abort the export.\n"
|
||||
msgid ""
|
||||
"This assistant will help you export the Account Tree to a file with the "
|
||||
"separator specified below.\n"
|
||||
@ -21247,7 +21184,7 @@ msgid ""
|
||||
"Select the settings you require for the file and then click \"Next\" to "
|
||||
"proceed or \"Cancel\" to abort the export.\n"
|
||||
msgstr ""
|
||||
"Questa procedura permette di esportare la struttura dei conti in un file\n"
|
||||
"Questa procedura permette di esportare la struttura dei conti in un file "
|
||||
"utilizzando il separatore specificato.\n"
|
||||
"\n"
|
||||
"Seleziona le impostazioni richieste per il file e fai clic su «Avanti» per "
|
||||
@ -21255,22 +21192,7 @@ msgstr ""
|
||||
|
||||
#. Translators: %s is one of the following paragraphs about rows/transaction.
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:87
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "This assistant will help you export the Transactions to a file\n"
|
||||
#| "with the separator specified below.\n"
|
||||
#| "\n"
|
||||
#| "There will be multiple rows for each transaction and may require further "
|
||||
#| "manipulation to get them in a format you can use.\n"
|
||||
#| "\n"
|
||||
#| "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"
|
||||
#| "Select the settings you require for the file and then click \"Next\" to "
|
||||
#| "proceed or \"Cancel\" to abort the export.\n"
|
||||
#, c-format
|
||||
msgid ""
|
||||
"This assistant will help you export the Transactions to a file with the "
|
||||
"separator specified below.\n"
|
||||
@ -21287,33 +21209,39 @@ msgid ""
|
||||
"Select the settings you require for the file and then click \"Next\" to "
|
||||
"proceed or \"Cancel\" to abort the export.\n"
|
||||
msgstr ""
|
||||
"Questa procedura ti aiuterà a esportare le transazioni in un file\n"
|
||||
"con il separatore specificato di seguito.\n"
|
||||
"Questa procedura ti aiuterà a esportare le transazioni in un file con il "
|
||||
"separatore specificato di seguito.\n"
|
||||
"\n"
|
||||
"Vi saranno più righe per ogni transazione e potrebbe essere necessaria "
|
||||
"un'ulteriore manipolazione per ottenerle in un formato utilizzabile.\n"
|
||||
"%s\n"
|
||||
"\n"
|
||||
"Sebbene una transazione possa avere suddivisioni in diversi conti "
|
||||
"selezionati, ogni transazione verrà esportata solo una volta. Essa apparirà "
|
||||
"sotto il primo account elaborato di quelli in cui è suddivisa la transazione."
|
||||
"\n"
|
||||
"Ogni transazione apparirà una sola volta nell'esportazione e sarà elencata "
|
||||
"nell'ordine in cui sono stati elaborati i conti\n"
|
||||
"\n"
|
||||
"Il formato di output per prezzo/tasso è controllato dall'impostazione "
|
||||
"Preferenze,\n"
|
||||
"Generale-> Forza la visualizzazione dei prezzi come decimali\n"
|
||||
"«Numeri, Data, Orario»->«Forza la visualizzazione dei prezzi come decimali»\n"
|
||||
"\n"
|
||||
"Selezionare le impostazioni richieste per il file e quindi fare clic su "
|
||||
"«Avanti» per procedere o su «Annulla» per interrompere l'esportazione.\n"
|
||||
"Seleziona le impostazioni richieste per il file e quindi fai clic su «Avanti»"
|
||||
" per procedere o su «Annulla» per interrompere l'esportazione.\n"
|
||||
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:99
|
||||
msgid ""
|
||||
"There will be multiple rows for each transaction with each row representing "
|
||||
"one split."
|
||||
msgstr ""
|
||||
"Ci saranno più righe per ogni transazione con ogni riga che rappresenta una "
|
||||
"suddivisione."
|
||||
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:103
|
||||
msgid ""
|
||||
"There will be one row for each transaction, equivalent to a single row in a "
|
||||
"register in 'Basic Ledger' mode. As such some transfer detail could be lost."
|
||||
msgstr ""
|
||||
"Ci sarà una riga per ogni transazione, equivalente a una singola riga in un "
|
||||
"registro in modalità «Libro mastro base» Pertanto, alcuni dettagli del "
|
||||
"trasferimento potrebbero andare persi."
|
||||
|
||||
#. Translators: %s is the file name.
|
||||
#: gnucash/import-export/csv-exp/assistant-csv-export.c:109
|
||||
@ -21824,16 +21752,12 @@ msgstr ""
|
||||
"colonna collegata al trasferimento."
|
||||
|
||||
#: gnucash/import-export/csv-imp/gnc-import-tx.cpp:671
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "No account column selected and no default account specified either.\n"
|
||||
#| "This should never happen. Please report this as a bug."
|
||||
msgid ""
|
||||
"No account column selected and no base account specified either.\n"
|
||||
"This should never happen. Please report this as a bug."
|
||||
msgstr ""
|
||||
"Non è stata selezionata alcuna colonna per il conto né è stato specificato "
|
||||
"un conto predefinito.\n"
|
||||
"un conto di base.\n"
|
||||
"Questo non deve succedere. Segnalalo come un bug."
|
||||
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-price.cpp:55
|
||||
@ -21903,10 +21827,8 @@ msgstr ""
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:520
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:575
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:583
|
||||
#, fuzzy
|
||||
#| msgid " could not be understood.\n"
|
||||
msgid "Column '{1}' could not be understood.\n"
|
||||
msgstr " non può essere interpretato.\n"
|
||||
msgstr "Colonna '{1}' non può essere interpretato.\n"
|
||||
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-price.cpp:280
|
||||
#: gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp:328
|
||||
|
61
po/tr.po
61
po/tr.po
@ -6,14 +6,15 @@
|
||||
# Emin Tufan Çetin <etcetin@gmail.com>, 2018.
|
||||
# Oğuz Ersen <oguzersen@protonmail.com>, 2021.
|
||||
# Ömer Faruk Çakmak <omerfarukckmk@protonmail.com>, 2021.
|
||||
# udo pton <udopton@gmail.com>, 2021.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GnuCash 4.4+\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
|
||||
"product=GnuCash&component=Translations\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
|
||||
"cgi?product=GnuCash&component=Translations\n"
|
||||
"POT-Creation-Date: 2021-04-16 23:36+0200\n"
|
||||
"PO-Revision-Date: 2021-04-04 17:26+0000\n"
|
||||
"Last-Translator: Ömer Faruk Çakmak <omerfarukckmk@protonmail.com>\n"
|
||||
"PO-Revision-Date: 2021-05-06 13:32+0000\n"
|
||||
"Last-Translator: udo pton <udopton@gmail.com>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/gnucash/gnucash/"
|
||||
"tr/>\n"
|
||||
"Language: tr\n"
|
||||
@ -21,7 +22,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-POOTLE-MTIME: 1497808015.000000\n"
|
||||
|
||||
@ -458,6 +459,9 @@ msgid ""
|
||||
"community. For announcements of new releases, user groups etc. see the table "
|
||||
"at https://wiki.gnucash.org/wiki/Mailing_Lists"
|
||||
msgstr ""
|
||||
"Posta listeleri GnuCash topluluğunda tercih edilen iletişim şeklidir. Yeni "
|
||||
"sürümlerin duyuruları, kullanıcı grupları vb için bknz .https://wiki.gnucash."
|
||||
"org/wiki/Mailing_Lists."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:9
|
||||
msgid ""
|
||||
@ -498,6 +502,9 @@ msgid ""
|
||||
"Just locate the triangle at the far right of the column headings, and click "
|
||||
"it to see the different columns available."
|
||||
msgstr ""
|
||||
"Hesap Planında hangi sütunların görüntüleneceğini değiştirmek mümkündür. "
|
||||
"Sütun başlıklarının en sağındaki üçgeni bulun ve mevcut farklı sütunları "
|
||||
"görmek için tıklayın."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:27
|
||||
msgid ""
|
||||
@ -532,6 +539,13 @@ msgid ""
|
||||
"select \"View\" in the menu bar and check \"Double Line\" or\n"
|
||||
"check \"Double Line Mode\" in Preferences:Register Defaults."
|
||||
msgstr ""
|
||||
"Her işlemin için yararlı bilgiler girebileceğiniz bir \"Notlar\" alanı "
|
||||
"vardır.\n"
|
||||
"\n"
|
||||
"Görünür kılmak için\n"
|
||||
"menü çubuğunda \"Görünüm\" ü seçin ve \"Çift Hat\" ı işaretleyin veya\n"
|
||||
"Tercihler: Varsayılanları Kaydet bölümünde \"Çift Hat Modu\" seçeneğini "
|
||||
"işaretleyin."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:44
|
||||
msgid ""
|
||||
@ -632,12 +646,17 @@ msgstr ""
|
||||
"para biriminin miktarı kullanılabilir olacaktır."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:85
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You can set the Security Editor screen to display the Quote Source of a "
|
||||
"security, which makes it easy to see which online sources your securities "
|
||||
"use. Click the triangle at the far right of the column headings to change "
|
||||
"the display."
|
||||
msgstr ""
|
||||
"Güvenlik Düzenleyicisi ekranını bir menkul kıymetin Teklif Kaynağını "
|
||||
"görüntüleyecek şekilde ayarlayabilirsiniz, bu da menkul kıymetlerinizin "
|
||||
"hangi çevrimiçi kaynakları kullandığını görmenizi kolaylaştırır. Görüntüyü "
|
||||
"değiştirmek için sütun başlıklarının en sağındaki üçgeni tıklayın."
|
||||
|
||||
#: doc/tip_of_the_day.list.c:90
|
||||
msgid ""
|
||||
@ -876,6 +895,9 @@ msgid ""
|
||||
"new accounts. Accounts in other currencies must be\n"
|
||||
"added manually."
|
||||
msgstr ""
|
||||
"Bir Defter para birimi seçtiniz ve bu yeni hesaplar\n"
|
||||
"için kullanılacak. Diğer para birimlerindeki hesaplar,\n"
|
||||
"manuel olarak eklendi."
|
||||
|
||||
#: gnucash/gnome/assistant-hierarchy.c:1491
|
||||
msgid "Please choose the currency to use for new accounts."
|
||||
@ -1654,7 +1676,7 @@ msgstr "URL gir:"
|
||||
|
||||
#: gnucash/gnome/dialog-doclink.c:242
|
||||
msgid "Enter URL like http://www.gnucash.org:"
|
||||
msgstr ""
|
||||
msgstr "Http://www.gnucash.org gibi bir URL girin:"
|
||||
|
||||
#: gnucash/gnome/dialog-doclink.c:256
|
||||
msgid "Existing Document Link is"
|
||||
@ -1692,7 +1714,7 @@ msgstr "Girdi dosyası açılamıyor."
|
||||
#: gnucash/gnome/gnc-plugin-page-invoice.c:1361
|
||||
#: gnucash/gnome/gnc-plugin-page-register.c:631
|
||||
msgid "Manage Document Link"
|
||||
msgstr ""
|
||||
msgstr "Belge Bağlantısını Yönetin"
|
||||
|
||||
#: gnucash/gnome/dialog-doclink.c:754
|
||||
#, fuzzy
|
||||
@ -1755,12 +1777,17 @@ msgid "Description"
|
||||
msgstr "Açıklama"
|
||||
|
||||
#: gnucash/gnome/dialog-doclink.c:1088
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"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 Available column to modify the document "
|
||||
"link."
|
||||
msgstr ""
|
||||
"İş Öğesine atlamak için Kimlik sütunundaki girişi çift tıklayın.\n"
|
||||
"Bağlantılı Belgeyi açmak için Bağlantı sütunundaki girişe çift tıklayın.\n"
|
||||
"Belge bağlantısını değiştirmek için Kullanılabilir sütunundaki girişe çift "
|
||||
"tıklayın."
|
||||
|
||||
#: gnucash/gnome/dialog-doclink.c:1097
|
||||
#, fuzzy
|
||||
@ -2168,7 +2195,7 @@ msgstr[0] ""
|
||||
#: gnucash/gnome/dialog-imap-editor.c:367
|
||||
#, c-format
|
||||
msgid "To see the invalid mappings, use a filter of '%s'"
|
||||
msgstr ""
|
||||
msgstr "Geçersiz eşlemeleri görmek için bir '%s' filtresi kullanın"
|
||||
|
||||
#: gnucash/gnome/dialog-imap-editor.c:367
|
||||
#: gnucash/gnome/dialog-imap-editor.c:604
|
||||
@ -2178,12 +2205,12 @@ msgstr "Hesap Kodu"
|
||||
|
||||
#: gnucash/gnome/dialog-imap-editor.c:369
|
||||
msgid "(Note, if there is a large number, it may take a while)"
|
||||
msgstr ""
|
||||
msgstr "(Not, çok sayıda varsa, biraz zaman alabilir)"
|
||||
|
||||
#: gnucash/gnome/dialog-imap-editor.c:703
|
||||
#: gnucash/gtkbuilder/dialog-imap-editor.glade:123
|
||||
msgid "Bayesian"
|
||||
msgstr ""
|
||||
msgstr "Bayes"
|
||||
|
||||
#: gnucash/gnome/dialog-imap-editor.c:718
|
||||
msgid "Description Field"
|
||||
@ -2309,12 +2336,12 @@ msgstr "Kredi Notu"
|
||||
|
||||
#: gnucash/gnome/dialog-invoice.c:2089
|
||||
msgid "PAID"
|
||||
msgstr ""
|
||||
msgstr "Ödendi"
|
||||
|
||||
#: gnucash/gnome/dialog-invoice.c:2091
|
||||
#: gnucash/report/reports/standard/new-owner-report.scm:583
|
||||
msgid "UNPAID"
|
||||
msgstr ""
|
||||
msgstr "Ödenmedi"
|
||||
|
||||
#: gnucash/gnome/dialog-invoice.c:2139 gnucash/gnome/dialog-invoice.c:2158
|
||||
#: gnucash/gnome/dialog-invoice.c:2177
|
||||
@ -2787,6 +2814,8 @@ msgid ""
|
||||
"No documents were selected to assign this payment to. This may create an "
|
||||
"unattached payment."
|
||||
msgstr ""
|
||||
"Bu ödemenin atanacağı belge seçilmedi. Bu, ekli olmayan bir ödeme "
|
||||
"oluşturabilir."
|
||||
|
||||
#: gnucash/gnome/dialog-payment.c:529 gnucash/gnome/dialog-payment.c:1330
|
||||
#: gnucash/report/reports/standard/new-aging.scm:192
|
||||
@ -2863,15 +2892,21 @@ msgstr ""
|
||||
msgid ""
|
||||
"The selected transaction doesn't have splits that can be assigned as a "
|
||||
"payment"
|
||||
msgstr ""
|
||||
msgstr "Seçili işlem, ödeme olarak atanabilecek bölmelere sahip değil"
|
||||
|
||||
#: gnucash/gnome/dialog-payment.c:1593
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"While this transaction has multiple splits that can be considered\n"
|
||||
"as 'the payment split', gnucash only knows how to handle one.\n"
|
||||
"Please select one, the others will be ignored.\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"Bu işlemin dikkate alınabilecek birden fazla bölünmesi olsa da\n"
|
||||
"\"ödeme bölümü\" olarak, gnucash yalnızca birini nasıl idare edeceğini bilir."
|
||||
"\n"
|
||||
"Lütfen birini seçin, diğerleri göz ardı edilecektir.\n"
|
||||
"\n"
|
||||
|
||||
#: gnucash/gnome/dialog-payment.c:1596
|
||||
msgid "Warning"
|
||||
|
1405
po/zh_CN.po
1405
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,9 @@
|
||||
from archlinux/base
|
||||
run pacman -Syu --quiet --noconfirm gcc cmake make boost python2 pkg-config gettext gtk3 guile git ninja gtest gmock sqlite3 webkit2gtk swig gwenhywfar aqbanking intltool libxslt postgresql-libs libmariadbclient libdbi libdbi-drivers wayland-protocols > /dev/null
|
||||
from archlinux:latest
|
||||
|
||||
run echo "NoExtract = !*locale*/fr*/* !usr/share/i18n/locales/fr_FR*" >> /etc/pacman.conf
|
||||
|
||||
run pacman -Syu --quiet --noconfirm glibc gcc cmake make boost python2 pkg-config gettext gtk3 guile git ninja gtest gmock sqlite3 webkit2gtk swig gwenhywfar aqbanking intltool libxslt postgresql-libs libmariadbclient libdbi libdbi-drivers wayland-protocols > /dev/null
|
||||
|
||||
run echo en_US.UTF-8 UTF-8 >> /etc/locale.gen
|
||||
run echo en_GB.UTF-8 UTF-8 >> /etc/locale.gen
|
||||
run echo fr_FR.UTF-8 UTF-8 >> /etc/locale.gen
|
||||
|
Loading…
Reference in New Issue
Block a user