Compare commits

...

61 Commits

Author SHA1 Message Date
James Cole
e2a30b3cc1 Merge branch 'release/4.8.3-alpha.1' 2019-12-20 06:15:25 +01:00
James Cole
689850c55c Update version, add changelog. 2019-12-20 06:15:00 +01:00
James Cole
6ad2021739 Fix #2901 2019-12-20 05:53:13 +01:00
James Cole
e96e96e6c9 Update composer. 2019-12-20 05:44:48 +01:00
James Cole
126dd5176e Share disclaimer in footer 2019-12-20 05:44:39 +01:00
James Cole
4abedb58aa Share disclaimer in footer 2019-12-20 05:44:33 +01:00
James Cole
94194d497f Fix #2881 2019-12-20 05:38:42 +01:00
James Cole
d29ec707b4 Add some debug info 2019-12-20 05:38:26 +01:00
James Cole
96e0357328 Fix #2878 again 2019-12-19 07:00:18 +01:00
James Cole
883acc698e Update libraries. 2019-12-17 20:13:42 +01:00
James Cole
0387d7c9a3 Merge pull request #2895 from justyns/js-add-debit
Add Debit to Generic Debit Credit indicator converter
2019-12-16 05:49:46 +01:00
Justyn Shull
c5bed5e042 Add Debit to Generic Debit Credit indicator converter
Example CSV export from Community America, a Credit Union in the US:

``` csv
12/11/19,Five Guys,Sale FIVE GUYS,14.51,Debit,Food & Dining,Fast Food,CC1,,,false
12/11/19,Interest Income,Interest Earned,0.01,Credit,Income,Interest Income,Regular Savings,,Interest Earned,false
```

"Debit" is used instead of negative values in the amount column.
2019-12-15 19:06:44 -06:00
James Cole
b6ec5073e0 Expand entrypoint feedback. 2019-12-08 07:44:57 +01:00
James Cole
969ae4c551 Update labels to see what happens. 2019-12-08 07:21:44 +01:00
James Cole
df649c5871 Some debug vars in logs. 2019-12-08 06:44:56 +01:00
James Cole
450433f12e Messed up DB config. Seems redis is working though. 2019-12-08 06:28:00 +01:00
James Cole
4bab045d6f Echo some feedback 2019-12-08 06:15:58 +01:00
James Cole
31744440e0 Updated redis config. 2019-12-08 06:14:49 +01:00
James Cole
78ccca4f58 Better text and fixed entry point 2019-12-08 05:57:36 +01:00
James Cole
53d630ef91 Expand entry point script and example .env 2019-12-08 05:48:17 +01:00
James Cole
670c4c6dc3 Expand config for redis. 2019-12-07 17:44:33 +01:00
James Cole
1e7de48f59 Fix #2876 2019-12-04 05:59:06 +01:00
James Cole
55175da316 Wait longer for DB 2019-12-03 19:38:49 +01:00
James Cole
916aff425a Clean up changelog 2019-12-03 19:38:40 +01:00
James Cole
6a7a0e2b25 Fix #2878 2019-12-03 19:38:07 +01:00
James Cole
eeb68c1cf4 Fix #2874 2019-12-02 17:32:57 +01:00
James Cole
73d56c41d6 Merge branch 'release/4.8.2' 2019-11-29 07:19:12 +01:00
James Cole
3a775627b5 Merge tag '4.8.2' into develop
4.8.2
2019-11-29 07:19:12 +01:00
James Cole
702acafc59 Updated some templates. 2019-11-28 20:52:14 +01:00
James Cole
11c04cb0d4 Update packages. 2019-11-28 20:33:55 +01:00
James Cole
47a8e28948 Support for SE. 2019-11-28 20:27:00 +01:00
James Cole
c9702fe65c New translations 2019-11-28 20:22:25 +01:00
James Cole
8ce3f8dc60 New version 2019-11-28 20:22:05 +01:00
James Cole
7daedc6c5a New changelog 2019-11-28 20:21:56 +01:00
James Cole
1ff855ce66 Fix owner of all dirs. 2019-11-27 06:14:33 +01:00
James Cole
c3f721aa9f Fix #2847 2019-11-26 06:34:32 +01:00
James Cole
575b355837 Merge branch 'release/4.8.2-beta.2' 2019-11-25 18:44:45 +01:00
James Cole
813bb6a09b Merge tag '4.8.2-beta.2' into develop
4.8.2-beta.2
2019-11-25 18:44:45 +01:00
James Cole
a4b1c9d8c5 New beta version 2019-11-25 18:43:36 +01:00
James Cole
98bd35e767 Update composer file. 2019-11-25 18:41:55 +01:00
James Cole
e485f8ca66 New strings for translation. 2019-11-25 18:41:40 +01:00
James Cole
4551dfe0e5 Merge branch 'release/4.8.2-alpha.6' 2019-11-23 06:21:39 +01:00
James Cole
709411e7b4 Merge tag '4.8.2-alpha.6' into develop
4.8.2-alpha.6
2019-11-23 06:21:39 +01:00
James Cole
420b996870 New alpha release. 2019-11-23 06:21:18 +01:00
James Cole
4304c15ffe Add support for Swedish, disable Greek. 2019-11-23 06:15:25 +01:00
James Cole
36e643e5b8 Fix #2851 2019-11-23 06:14:50 +01:00
James Cole
fcf3691b2b Fix #2852 2019-11-23 05:44:44 +01:00
James Cole
3ec15a3b7b Fix for #2843 2019-11-19 17:39:55 +01:00
James Cole
4ae7501114 Fix #2841 (again) 2019-11-18 20:41:08 +01:00
James Cole
5e348e7a40 Merge tag '4.8.2-alpha.5' into develop
4.8.2-alpha.5
2019-11-18 19:13:45 +01:00
James Cole
24fe611645 Merge branch 'release/4.8.2-alpha.5' 2019-11-18 19:13:44 +01:00
James Cole
402a6fa4c7 Fix #2841 2019-11-18 19:06:08 +01:00
James Cole
308ce15fae Fixes #2835 2019-11-18 17:39:25 +01:00
James Cole
9a639d41b4 Set default values so people know to change them. 2019-11-17 16:25:46 +01:00
James Cole
fc7cb987ff New Kubernetes deployment 2019-11-17 15:17:22 +01:00
James Cole
ba5ac35330 New scripts for Firefly III in Kubernetes 2019-11-17 15:09:31 +01:00
James Cole
e2e8ae5b28 Some command fixes. 2019-11-17 13:34:33 +01:00
James Cole
4ad0e120bc New version. 2019-11-17 13:22:57 +01:00
James Cole
cd2e74a476 Some experimental commands for DB creation. 2019-11-17 13:18:35 +01:00
James Cole
07623335f7 Fix #2832 2019-11-17 11:34:53 +01:00
James Cole
414c4a742d Merge tag '4.8.2-beta.1' into develop
4.8.2-beta.1
2019-11-17 07:02:36 +01:00
83 changed files with 5114 additions and 1697 deletions

View File

@@ -18,12 +18,12 @@ mkdir -p $FIREFLY_PATH/storage/framework/views/v2
mkdir -p $FIREFLY_PATH/storage/logs
mkdir -p $FIREFLY_PATH/storage/upload
echo "Touch DB file (if SQLlite)..."
if [[ $DB_CONNECTION == "sqlite" ]]
then
if [[ $DKR_CHECK_SQLITE != "false" ]]; then
echo "Touch DB file (if SQLlite)..."
if [[ $DB_CONNECTION == "sqlite" ]]; then
touch $FIREFLY_PATH/storage/database/database.sqlite
echo "Touched!"
fi
fi
# make sure we own the volumes:
@@ -41,7 +41,7 @@ composer dump-autoload
echo "Discover packages..."
php artisan package:discover
echo "Run various artisan commands..."
echo "Wait for the database."
if [[ -z "$DB_PORT" ]]; then
if [[ $DB_CONNECTION == "pgsql" ]]; then
DB_PORT=5432
@@ -50,55 +50,103 @@ if [[ -z "$DB_PORT" ]]; then
fi
fi
if [[ ! -z "$DB_PORT" ]]; then
$FIREFLY_PATH/.deploy/docker/wait-for-it.sh "${DB_HOST}:${DB_PORT}" -- echo "db is up. Time to execute artisan commands"
$FIREFLY_PATH/.deploy/docker/wait-for-it.sh "${DB_HOST}:${DB_PORT}" -t 60 -- echo "DB is up. Time to execute artisan commands."
fi
#env $(grep -v "^\#" .env | xargs)
echo "Run various artisan commands..."
php artisan cache:clear
php artisan migrate --seed
php artisan firefly-iii:decrypt-all
if [[ $DKR_RUN_MIGRATION == "false" ]]; then
echo "Will NOT run migration commands."
fi
if [[ $DKR_RUN_MIGRATION != "false" ]]; then
php artisan firefly-iii:create-database
php artisan migrate --seed
php artisan firefly-iii:decrypt-all
fi
# there are 13 upgrade commands
php artisan firefly-iii:transaction-identifiers
php artisan firefly-iii:migrate-to-groups
php artisan firefly-iii:account-currencies
php artisan firefly-iii:transfer-currencies
php artisan firefly-iii:other-currencies
php artisan firefly-iii:migrate-notes
php artisan firefly-iii:migrate-attachments
php artisan firefly-iii:bills-to-rules
php artisan firefly-iii:bl-currency
php artisan firefly-iii:cc-liabilities
php artisan firefly-iii:back-to-journals
php artisan firefly-iii:rename-account-meta
php artisan firefly-iii:migrate-recurrence-meta
if [[ $DKR_RUN_UPGRADE == "false" ]]; then
echo 'Will NOT run upgrade commands.'
fi
if [[ $DKR_RUN_UPGRADE != "false" ]]; then
php artisan firefly-iii:transaction-identifiers
php artisan firefly-iii:migrate-to-groups
php artisan firefly-iii:account-currencies
php artisan firefly-iii:transfer-currencies
php artisan firefly-iii:other-currencies
php artisan firefly-iii:migrate-notes
php artisan firefly-iii:migrate-attachments
php artisan firefly-iii:bills-to-rules
php artisan firefly-iii:bl-currency
php artisan firefly-iii:cc-liabilities
php artisan firefly-iii:back-to-journals
php artisan firefly-iii:rename-account-meta
php artisan firefly-iii:migrate-recurrence-meta
fi
# there are 15 verify commands
php artisan firefly-iii:fix-piggies
php artisan firefly-iii:create-link-types
php artisan firefly-iii:create-access-tokens
php artisan firefly-iii:remove-bills
php artisan firefly-iii:enable-currencies
php artisan firefly-iii:fix-transfer-budgets
php artisan firefly-iii:fix-uneven-amount
php artisan firefly-iii:delete-zero-amount
php artisan firefly-iii:delete-orphaned-transactions
php artisan firefly-iii:delete-empty-journals
php artisan firefly-iii:delete-empty-groups
php artisan firefly-iii:fix-account-types
php artisan firefly-iii:rename-meta-fields
php artisan firefly-iii:fix-ob-currencies
php artisan firefly-iii:fix-long-descriptions
if [[ $DKR_RUN_VERIFY == "false" ]]; then
echo 'Will NOT run verify commands.'
fi
if [[ $DKR_RUN_VERIFY != "false" ]]; then
php artisan firefly-iii:fix-piggies
php artisan firefly-iii:create-link-types
php artisan firefly-iii:create-access-tokens
php artisan firefly-iii:remove-bills
php artisan firefly-iii:enable-currencies
php artisan firefly-iii:fix-transfer-budgets
php artisan firefly-iii:fix-uneven-amount
php artisan firefly-iii:delete-zero-amount
php artisan firefly-iii:delete-orphaned-transactions
php artisan firefly-iii:delete-empty-journals
php artisan firefly-iii:delete-empty-groups
php artisan firefly-iii:fix-account-types
php artisan firefly-iii:rename-meta-fields
php artisan firefly-iii:fix-ob-currencies
php artisan firefly-iii:fix-long-descriptions
fi
# report commands
php artisan firefly-iii:report-empty-objects
php artisan firefly-iii:report-sum
php artisan firefly-iii:restore-oauth-keys
php artisan firefly-iii:set-latest-version --james-is-cool
if [[ $DKR_RUN_REPORT == "false" ]]; then
echo 'Will NOT run report commands.'
fi
php artisan passport:install
if [[ $DKR_RUN_REPORT != "false" ]]; then
php artisan firefly-iii:report-empty-objects
php artisan firefly-iii:report-sum
fi
php artisan firefly-iii:restore-oauth-keys
if [[ $DKR_RUN_REPORT == "false" ]]; then
echo 'Will NOT generate new OAuth keys.'
fi
if [[ $DKR_RUN_PASSPORT_INSTALL != "false" ]]; then
php artisan passport:install
fi
php artisan firefly-iii:set-latest-version --james-is-cool
php artisan cache:clear
# make sure we own everything
echo "Run chown on ${FIREFLY_PATH}"
chown -R www-data:www-data -R $FIREFLY_PATH
php artisan firefly:instructions install
echo "DKR_CHECK_SQLITE '$DKR_CHECK_SQLITE'"
echo "DKR_RUN_MIGRATION '$DKR_RUN_MIGRATION'"
echo "DKR_RUN_UPGRADE '$DKR_RUN_UPGRADE'"
echo "DKR_RUN_VERIFY '$DKR_RUN_VERIFY'"
echo "DKR_RUN_REPORT '$DKR_RUN_REPORT'"
echo "DKR_RUN_PASSPORT_INSTALL '$DKR_RUN_PASSPORT_INSTALL'"
echo "Go!"
exec apache2-foreground

View File

@@ -11,4 +11,5 @@ pt_BR
ro_RO
ru_RU
hu_HU
el_GR
el_GR
sv_SE

View File

@@ -0,0 +1,99 @@
apiVersion: v1
kind: Service
metadata:
name: firefly-iii
labels:
app: firefly-iii
spec:
ports:
- port: 80
selector:
app: firefly-iii
tier: frontend
type: LoadBalancer
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: firefly-iii-export-claim
labels:
app: firefly-iii
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: firefly-iii-upload-claim
labels:
app: firefly-iii
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: firefly-iii
labels:
app: firefly-iii
spec:
selector:
matchLabels:
app: firefly-iii
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: firefly-iii
tier: frontend
spec:
containers:
- image: jc5x/firefly-iii
name: firefly-iii
env:
- name: APP_ENV
value: "local"
- name: APP_KEY
valueFrom:
secretKeyRef:
name: firefly-iii-secrets
key: app_key
- name: DB_HOST
value: firefly-iii-mysql
- name: DB_CONNECTION
value: mysql
- name: DB_DATABASE
value: "fireflyiii"
- name: DB_USERNAME
value: "root"
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: firefly-iii-secrets
key: db_password
ports:
- containerPort: 80
name: firefly-iii
volumeMounts:
- mountPath: "/var/www/firefly-iii/storage/export"
name: firefly-iii-export
- mountPath: "/var/www/firefly-iii/storage/upload"
name: firefly-iii-upload
imagePullPolicy: Always
volumes:
- name: firefly-iii-export
persistentVolumeClaim:
claimName: firefly-iii-export-claim
- name: firefly-iii-upload
persistentVolumeClaim:
claimName: firefly-iii-upload-claim

View File

@@ -1,82 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-export-claim
labels:
app: firefly-local
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-upload-claim
labels:
app: firefly-local
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: firefly-local
namespace: firefly
labels:
app: firefly-local
spec:
selector:
matchLabels:
app: firefly-local
template:
metadata:
labels:
app: firefly-local
spec:
containers:
- image: firefly-local
name: firefly-local
env:
- name: APP_ENV
value: "local"
- name: APP_KEY
value: "S0m3R@nd0mString0f32Ch@rsEx@ct1y"
- name: DB_HOST
value: "172.17.0.9"
- name: DB_NAME
value: "firefly_db"
- name: DB_USER
value: "firefly_db"
- name: DB_PASSWORD
value: "password"
volumeMounts:
- mountPath: "/var/www/firefly-iii/storage/export"
name: mysql-persistent-export
- mountPath: "/var/www/firefly-iii/storage/upload"
name: mysql-persistent-upload
imagePullPolicy: IfNotPresent
volumes:
- name: mysql-persistent-export
persistentVolumeClaim:
claimName: mysql-pv-export-claim
- name: mysql-persistent-upload
persistentVolumeClaim:
claimName: mysql-pv-upload-claim
---
apiVersion: v1
kind: Service
metadata:
name: firefly-local
spec:
ports:
- port: 80
type: NodePort
selector:
app: firefly-local

View File

@@ -0,0 +1,8 @@
resources:
- mysql.yaml
- firefly-iii.yaml
secretGenerator:
- name: firefly-iii-secrets
literals:
- db_password=CHANGEMECHANGEME
- app_key=CHANGEMECHANGEMECHANGEMECHANGEME

View File

@@ -0,0 +1,65 @@
apiVersion: v1
kind: Service
metadata:
name: firefly-iii-mysql
labels:
app: firefly-iii
spec:
ports:
- port: 3306
selector:
app: firefly-iii
tier: mysql
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim
labels:
app: firefly-iii
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: firefly-iii-mysql
labels:
app: firefly-iii
spec:
selector:
matchLabels:
app: firefly-iii
tier: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: firefly-iii
tier: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: firefly-iii-secrets
key: db_password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim

View File

@@ -1,49 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: sql-pass
type: Opaque
data:
password: cGFzc3dvcmQ=
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mysql
namespace: firefly
labels:
app: mysql
spec:
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql
imagePullPolicy: IfNotPresent
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: sql-pass
key: password
ports:
- containerPort: 3306
name: mysql
---
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
type: NodePort
selector:
app: mysql

View File

@@ -60,6 +60,12 @@ PGSQL_SSL_CRL_FILE=null
CACHE_DRIVER=file
SESSION_DRIVER=file
# If you set either of these to 'redis', you might want to update these settings too
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
REDIS_DB="0" # always use quotes
REDIS_CACHE_DB="1"
# You can configure another file storage backend if you cannot use the local storage option.
# To set this up, fill in the following variables. The upload path is used to store uploaded
# files and the export path is to store exported data (before download).
@@ -165,15 +171,42 @@ ADLDAP_SYNC_FIELD=userprincipalname
# Organizr. This is at your own risk.
DISABLE_FRAME_HEADER=false
# You can fine tune the start-up of a Docker container by editing these environment variables.
# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data.
# However if you know what you're doing you can significantly speed up container start times.
# Set each value to true to enable, or false to disable.
# Check if the SQLite database exists. Can be skipped if you're not using SQLite.
# Won't significantly speed up things.
DKR_CHECK_SQLITE=true
# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists
# and is up to date.
DKR_RUN_MIGRATION=true
# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date
# with the latest fixes (outside of migrations!)
DKR_RUN_UPGRADE=true
# Verify database integrity. Includes all data checks and verifications.
# Disabling this makes Firefly III assume your DB is intact.
DKR_RUN_VERIFY=true
# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state.
# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues.
DKR_RUN_REPORT=true
# Generate OAuth2 keys.
# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if)
# you had previously generated keys already and they're stored in your database for restauration.
DKR_RUN_PASSPORT_INSTALL=true
# Leave the following configuration vars as is.
# Unless you like to tinker and know what you're doing.
APP_NAME=FireflyIII
ADLDAP_CONNECTION=default
BROADCAST_DRIVER=log
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
CACHE_PREFIX=firefly
SEARCH_RESULT_LIMIT=50
PUSHER_KEY=

View File

@@ -7,7 +7,7 @@ about: Create a report to help Firefly III improve
**Bug description**
I am running Firefly III version x.x.x, and my problem is:
<!-- Replace the version and describe your problem or your issue will be closed. -->
<!-- Replace the version and describe your problem or your issue may be closed. -->
**Steps to reproduce**
<!-- What do you need to do to trigger this bug? -->
@@ -20,4 +20,7 @@ I am running Firefly III version x.x.x, and my problem is:
- Post a stacktrace from your log files
- Add a screenshot
- Make a drawing
- Donate money (just kidding ;)
- Replicate the problem on the demo site https://demo.firefly-iii.org/
-->

View File

@@ -28,5 +28,4 @@ Please describe your feature request:
- Make a drawing
- Donate money (just kidding ;)
- Remember the human
-->

8
.github/ranger.yml vendored
View File

@@ -1,8 +0,0 @@
# in .github/ranger.yml
comments:
-
action: delete_comment
pattern: 1
-
action: delete_comment
pattern: ":+1:"

View File

@@ -14,21 +14,21 @@ jobs:
include:
- dist: xenial
arch: amd64
env: ARCH=amd64 CHANNEL=beta VERSION=4.8.2-beta.1
env: ARCH=amd64 CHANNEL=alpha VERSION=4.8.3-alpha.1
stage: build
script: ./.deploy/docker/travis.sh
- dist: xenial
arch: amd64
env: ARCH=arm CHANNEL=beta VERSION=4.8.2-beta.1
env: ARCH=arm CHANNEL=alpha VERSION=4.8.3-alpha.1
stage: build
script: ./.deploy/docker/travis.sh
- dist: xenial
arch: arm64
env: ARCH=arm64 CHANNEL=beta VERSION=4.8.2-beta.1
env: ARCH=arm64 CHANNEL=alpha VERSION=4.8.3-alpha.1
stage: build
script: ./.deploy/docker/travis.sh
- dist: xenial
arch: amd64
env: CHANNEL=beta VERSION=4.8.2-beta.1
env: CHANNEL=alpha VERSION=4.8.3-alpha.1
stage: manifest
script: ./.deploy/docker/manifest.sh

View File

@@ -3,7 +3,7 @@ FROM jc5x/firefly-iii-base-image:latest
# See also: https://github.com/JC5/firefly-iii-base-image
ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1
LABEL version="1.5" maintainer="thegrumpydictator@gmail.com"
LABEL version="1.6" maintainer="thegrumpydictator@gmail.com"
# Create volumes
VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload

View File

@@ -3,7 +3,7 @@ FROM jc5x/firefly-iii-base-image:latest
# See also: https://github.com/JC5/firefly-iii-base-image
ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1
LABEL version="1.5" maintainer="thegrumpydictator@gmail.com"
LABEL version="1.6" maintainer="thegrumpydictator@gmail.com"
# Create volumes
VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload

View File

@@ -3,7 +3,7 @@ FROM jc5x/firefly-iii-base-image:latest-arm
# See also: https://github.com/JC5/firefly-iii-base-image
ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1
LABEL version="1.5" maintainer="thegrumpydictator@gmail.com"
LABEL version="1.6" maintainer="thegrumpydictator@gmail.com"
# Create volumes
VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload

View File

@@ -3,7 +3,7 @@ FROM jc5x/firefly-iii-base-image:latest-arm
# See also: https://github.com/JC5/firefly-iii-base-image
ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1
LABEL version="1.5" maintainer="thegrumpydictator@gmail.com"
LABEL version="1.6" maintainer="thegrumpydictator@gmail.com"
# Create volumes
VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload

View File

@@ -0,0 +1,75 @@
<?php
namespace FireflyIII\Console\Commands;
use Illuminate\Console\Command;
use PDO;
use PDOException;
/**
* Class CreateDatabase
*/
class CreateDatabase extends Command
{
/**
* The console command description.
*
* @var string
*/
protected $description = 'Tries to create the database if it doesn\'t exist yet.';
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'firefly-iii:create-database';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if ('mysql' !== env('DB_CONNECTION')) {
$this->info('This command currently applies to MySQL connections only.');
}
// try to set up a raw connection:
$dsn = sprintf('mysql:host=%s;charset=utf8mb4', env('DB_HOST'));
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, env('DB_USERNAME'), env('DB_PASSWORD'), $options);
} catch (PDOException $e) {
$this->error(sprintf('Error when connecting to DB: %s', $e->getMessage()));
return 1;
}
// with PDO, try to list DB's (
$stmt = $pdo->query('SHOW DATABASES;');
$exists = false;
// slightly more complex but less error prone.
foreach ($stmt as $row) {
$name = $row['Database'] ?? false;
if ($name === env('DB_DATABASE')) {
$exists = true;
}
}
if (false === $exists) {
$this->error(sprintf('Database "%s" does not exist.', env('DB_DATABASE')));
// try to create it.
$pdo->exec(sprintf('CREATE DATABASE `%s` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;', env('DB_DATABASE')));
$this->info(sprintf('Created database "%s"', env('DB_DATABASE')));
return 0;
}
$this->info(sprintf('Database "%s" exists.', env('DB_DATABASE')));
return 0;
}
}

View File

@@ -144,17 +144,25 @@ class ShowController extends Controller
public function show(Request $request, Budget $budget)
{
/** @var Carbon $start */
$start = session('first', Carbon::now()->startOfYear());
$end = new Carbon;
$allStart = session('first', Carbon::now()->startOfYear());
$allEnd = new Carbon;
// use session range:
$start = session('start');
$end = session('end');
$page = (int)$request->get('page');
$pageSize = (int)app('preferences')->get('listPageSize', 50)->data;
$limits = $this->getLimits($budget, $start, $end);
$limits = $this->getLimits($budget, $allStart, $allEnd);
$repetition = null;
// collector:
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setRange($start, $end)->setBudget($budget)->setLimit($pageSize)->setPage($page)->withBudgetInformation()->withCategoryInformation();
$collector->setRange($start, $end)->setBudget($budget)
->withAccountInformation()
->setLimit($pageSize)->setPage($page)->withBudgetInformation()->withCategoryInformation();
$groups = $collector->getPaginatedGroups();
$groups->setPath(route('budgets.show', [$budget->id]));

View File

@@ -85,8 +85,6 @@ class BudgetController extends Controller
/**
* Shows overview of a single budget.
*
* TODO this chart is not multi-currency aware.
*
* @param Budget $budget
*
* @return JsonResponse
@@ -106,27 +104,47 @@ class BudgetController extends Controller
if ($cache->has()) {
return response()->json($cache->get()); // @codeCoverageIgnore
}
$step = $this->calculateStep($start, $end); // depending on diff, do something with range of chart.
$budgetCollection = new Collection([$budget]);
$chartData = [];
$current = clone $start;
$current = app('navigation')->startOfPeriod($current, $step);
while ($end >= $current) {
$step = $this->calculateStep($start, $end); // depending on diff, do something with range of chart.
$collection = new Collection([$budget]);
$chartData = [];
$loopStart = clone $start;
$loopStart = app('navigation')->startOfPeriod($loopStart, $step);
$currencies = [];
$defaultEntries = [];
// echo '<hr>';
while ($end >= $loopStart) {
/** @var Carbon $currentEnd */
$currentEnd = app('navigation')->endOfPeriod($current, $step);
$loopEnd = app('navigation')->endOfPeriod($loopStart, $step);
if ('1Y' === $step) {
$currentEnd->subDay(); // @codeCoverageIgnore
$loopEnd->subDay(); // @codeCoverageIgnore
}
$spent = $this->opsRepository->spentInPeriod($budgetCollection, new Collection, $current, $currentEnd);
$label = app('navigation')->periodShow($current, $step);
$chartData[$label] = (float)bcmul($spent, '-1');
$current = clone $currentEnd;
$current->addDay();
$spent = $this->opsRepository->sumExpenses($loopStart, $loopEnd, null, $collection);
$label = trim(app('navigation')->periodShow($loopStart, $step));
foreach ($spent as $row) {
$currencyId = $row['currency_id'];
$currencies[$currencyId] = $currencies[$currencyId] ?? $row; // don't mind the field 'sum'
// also store this day's sum:
$currencies[$currencyId]['spent'][$label] = $row['sum'];
}
$defaultEntries[$label] = 0;
// set loop start to the next period:
$loopStart = clone $loopEnd;
$loopStart->addSecond();
}
$data = $this->generator->singleSet((string)trans('firefly.spent'), $chartData);
// loop all currencies:
foreach ($currencies as $currencyId => $currency) {
$chartData[$currencyId] = [
'label' => count($currencies) > 1 ? sprintf('%s (%s)', $budget->name, $currency['currency_name']) : $budget->name,
'type' => 'bar',
'currency_symbol' => $currency['currency_symbol'],
'entries' => $defaultEntries,
];
foreach ($currency['spent'] as $label => $spent) {
$chartData[$currencyId]['entries'][$label] = round(bcmul($spent, '-1'), $currency['currency_decimal_places']);
}
}
$data = $this->generator->multiSet(array_values($chartData));
$cache->store($data);
return response()->json($data);

View File

@@ -55,12 +55,26 @@ class Controller extends BaseController
public function __construct()
{
// is site a demo site?
$isDemoSite = app('fireflyconfig')->get('is_demo_site', config('firefly.configuration.is_demo_site', ), )->data;
app('view')->share('IS_DEMO_SITE', $isDemoSite, );
$isDemoSite = app('fireflyconfig')->get('is_demo_site', config('firefly.configuration.is_demo_site',),)->data;
app('view')->share('IS_DEMO_SITE', $isDemoSite,);
app('view')->share('DEMO_USERNAME', config('firefly.demo_username'));
app('view')->share('DEMO_PASSWORD', config('firefly.demo_password'));
app('view')->share('FF_VERSION', config('firefly.version'));
// share is alpha, is beta
$isAlpha = false;
if (false !== strpos(config('firefly.version'), 'alpha')) {
$isAlpha = true;
}
$isBeta = false;
if (false !== strpos(config('firefly.version'), 'beta')) {
$isBeta = true;
}
app('view')->share('FF_IS_ALPHA', $isAlpha);
app('view')->share('FF_IS_BETA', $isBeta);
$this->middleware(
function ($request, $next) {
// translations for specific strings:

View File

@@ -129,7 +129,9 @@ class HomeController extends Controller
foreach ($accounts as $account) {
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setAccounts(new Collection([$account]))->setRange($start, $end)->setLimit(10)->setPage(1);
$collector->setAccounts(new Collection([$account]))
->withAccountInformation()
->setRange($start, $end)->setLimit(10)->setPage(1);
$set = $collector->getGroups();
$transactions[] = [$set, $account];
}

View File

@@ -89,7 +89,7 @@ class RuleFormRequest extends Request
'triggers.*.type' => 'required|in:' . implode(',', $validTriggers),
'triggers.*.value' => sprintf('required_if:triggers.*.type,%s|min:1|ruleTriggerValue', $contextTriggers),
'actions.*.type' => 'required|in:' . implode(',', $validActions),
'actions.*.value' => sprintf('required_if:actions.*.type,%s|min:1|ruleActionValue', $contextActions),
'actions.*.value' => sprintf('required_if:actions.*.type,%s|min:0|max:255|ruleActionValue', $contextActions),
'strict' => 'in:0,1',
];

View File

@@ -49,6 +49,8 @@ class BankDebitCredit implements ConverterInterface
'DR', // https://old.reddit.com/r/FireflyIII/comments/bn2edf/generic_debitcredit_indicator/
'Af', // ING (NL).
'Debet', // Triodos (NL)
'S', // "Soll", German term for debit
'Debit', // Community America (US)
];
if (in_array(trim($value), $negative, true)) {
return -1;

View File

@@ -319,7 +319,7 @@ class ImportArrayStorage
private function getHash(array $transaction): string
{
unset($transaction['import_hash_v2'], $transaction['original_source']);
$json = json_encode($transaction);
$json = json_encode($transaction, JSON_THROW_ON_ERROR);
if (false === $json) {
// @codeCoverageIgnoreStart
/** @noinspection ForgottenDebugOutputInspection */
@@ -332,8 +332,9 @@ class ImportArrayStorage
}
// @codeCoverageIgnoreEnd
}
$hash = hash('sha256', $json);
Log::debug(sprintf('The hash is: %s', $hash));
Log::debug(sprintf('The hash is: %s', $hash), $transaction);
return $hash;
}
@@ -442,7 +443,8 @@ class ImportArrayStorage
Log::debug(sprintf('Comparison is a hit! (%s)', $hits));
// compare description:
$comparison = '(empty description)' === $transfer['description'] ? '' : $transfer['description'];
// $comparison = '(empty description)' === $transfer['description'] ? '' : $transfer['description'];
$comparison = $transfer['description'];
Log::debug(sprintf('Comparing "%s" to "%s" (original: "%s")', $description, $transfer['description'], $comparison));
if ($description !== $comparison) {
Log::debug('Description is not a match, continue with next transfer.');
@@ -483,7 +485,7 @@ class ImportArrayStorage
/** @noinspection DisconnectedForeachInstructionInspection */
Log::debug('Comparing current transaction source+dest names', $transactionSourceNames);
Log::debug('.. with current transfer source+dest names', $transferSource);
if ($transactionSourceNames === $transferSource) {
if ($transactionSourceNames === $transferSource && $transferSource !== ['', '']) {
// @codeCoverageIgnoreStart
++$hits;
Log::debug(sprintf('Source names are the same! (%d)', $hits));

View File

@@ -228,16 +228,20 @@ class AccountForm
// get all asset accounts:
$repository = $this->getAccountRepository();
$types = [AccountType::ASSET, AccountType::DEFAULT];
$types = [AccountType::ASSET, AccountType::DEFAULT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::DEBT];
$assetAccounts = $repository->getAccountsByType($types);
$grouped = [];
// group accounts:
/** @var Account $account */
foreach ($assetAccounts as $account) {
$role = $repository->getMetaValue($account, 'account_role');
if (null === $role) {
if (null === $role && in_array($account->accountType->type, [AccountType::LOAN, AccountType::MORTGAGE, AccountType::DEBT], true)) {
$role = sprintf('l_%s', $account->accountType->type);
}
if (null === $role && !in_array($account->accountType->type, [AccountType::LOAN, AccountType::MORTGAGE, AccountType::DEBT], true)) {
$role = 'no_account_type';
}
$key = (string)trans(sprintf('firefly.opt_group_%s', $role));
$grouped[$key][$account->id] = $account->name;
}

View File

@@ -166,68 +166,6 @@ trait UserNavigation
Log::debug(sprintf('Return direct link %s', $uri));
return $uri;
}
//
// /**
// * Redirect to asset account that transaction belongs to.
// *
// * @param TransactionGroup $group
// *
// * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
// * @codeCoverageIgnore
// */
// protected function redirectToAccount(TransactionGroup $group)
// {
// $journals = $group->transactionJournals;
// $first = $journals->first();
//
// if (null === $first) {
// return redirect(route('index'));
// }
//
// $valid = [AccountType::DEFAULT, AccountType::ASSET];
// $transactions = $journal->transactions;
// /** @var Transaction $transaction */
// foreach ($transactions as $transaction) {
// $account = $transaction->account;
// if (in_array($account->accountType->type, $valid, true)) {
// return redirect(route('accounts.show', [$account->id]));
// }
// }
// // @codeCoverageIgnoreStart
// session()->flash('error', (string)trans('firefly.cannot_redirect_to_account'));
//
// return redirect(route('index'));
// // @codeCoverageIgnoreEnd
// }
//
// /**
// * @param Account $account
// *
// * @return RedirectResponse|\Illuminate\Routing\Redirector
// * @codeCoverageIgnore
// */
// protected function redirectToOriginalAccount(Account $account)
// {
// /** @var Transaction $transaction */
// $transaction = $account->transactions()->first();
// if (null === $transaction) {
// app('session')->flash('error', trans('firefly.account_missing_transaction', ['name' => e($account->name), 'id' => $account->id]));
// Log::error(sprintf('Expected a transaction. Account #%d has none. BEEP, error.', $account->id));
//
// return redirect(route('index'));
// }
//
// $journal = $transaction->transactionJournal;
// /** @var Transaction $opposingTransaction */
// $opposingTransaction = $journal->transactions()->where('transactions.id', '!=', $transaction->id)->first();
//
// if (null === $opposingTransaction) {
// app('session')->flash('error', trans('firefly.account_missing_transaction', ['name' => e($account->name), 'id' => $account->id]));
// Log::error(sprintf('Expected an opposing transaction. Account #%d has none. BEEP, error.', $account->id));
// }
//
// return redirect(route('accounts.show', [$opposingTransaction->account_id]));
// }
/**
* @param string $identifier
@@ -236,12 +174,12 @@ trait UserNavigation
*/
protected function rememberPreviousUri(string $identifier): ?string
{
$return = null;
$return = app('url')->previous();
/** @var ViewErrorBag $errors */
$errors = session()->get('errors');
$forbidden = ['json'];
if ((null === $errors || (null !== $errors && 0 === $errors->count())) && !Str::contains($return, $forbidden)) {
$return = app('url')->previous();
Log::debug(sprintf('Saving URL %s under key %s', $return, $identifier));
session()->put($identifier, $return);
}
return $return;

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Support\Twig;
use Carbon\Carbon;
use DB;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
@@ -274,12 +275,18 @@ class TransactionGroupTwig extends Twig_Extension
$type = $array['transaction_type_type'] ?? TransactionType::WITHDRAWAL;
$amount = $array['amount'] ?? '0';
$colored = true;
// withdrawals are negative
if ($type !== TransactionType::WITHDRAWAL) {
$amount = bcmul($amount, '-1');
}
$destinationType = $array['destination_account_type'] ?? 'invalid';
if ($type === TransactionType::OPENING_BALANCE && AccountType::INITIAL_BALANCE === $destinationType) {
$amount = bcmul($amount, '-1');
}
if ($type === TransactionType::TRANSFER) {
$colored = false;
}
$result = app('amount')->formatFlat($array['currency_symbol'], (int)$array['currency_decimal_places'], $amount, $colored);
if ($type === TransactionType::TRANSFER) {
$result = sprintf('<span class="text-info">%s</span>', $result);

View File

@@ -62,6 +62,7 @@ class BillTransformer extends AbstractTransformer
{
$paidData = $this->paidData($bill);
$payDates = $this->payDates($bill);
$currency = $bill->transactionCurrency;
$notes = $this->repository->getNoteText($bill);
$notes = '' === $notes ? null : $notes;
@@ -132,10 +133,18 @@ class BillTransformer extends AbstractTransformer
*/
protected function nextDateMatch(Bill $bill, Carbon $date): Carbon
{
Log::debug(sprintf('Now in nextDateMatch(%d, %s)', $bill->id, $date->format('Y-m-d')));
$start = clone $bill->date;
Log::debug(sprintf('Bill start date is %s', $start->format('Y-m-d')));
while ($start < $date) {
Log::debug(
sprintf(
'%s (bill start date) < %s (given date) so we jump ahead one period (with a skip maybe).', $start->format('Y-m-d'), $date->format('Y-m-d')
)
);
$start = app('navigation')->addPeriod($start, $bill->repeat_freq, $bill->skip);
}
Log::debug(sprintf('End of loop, bill start date is now %s', $start->format('Y-m-d')));
return $start;
}
@@ -194,22 +203,48 @@ class BillTransformer extends AbstractTransformer
*/
protected function payDates(Bill $bill): array
{
$this->parameters->set('start', Carbon::create(2019, 11, 1));
$this->parameters->set('end', Carbon::create(2019, 11, 30));
Log::debug(sprintf('Now in payDates() for bill #%d', $bill->id));
if (null === $this->parameters->get('start') || null === $this->parameters->get('end')) {
Log::debug('No start or end date, give empty array.');
return [];
}
Log::debug(
sprintf(
'Start date is %s, end is %s', $this->parameters->get('start')->format('Y-m-d'),
$this->parameters->get('end')->format('Y-m-d')
)
);
$set = new Collection;
$currentStart = clone $this->parameters->get('start');
$loop = 0;
while ($currentStart <= $this->parameters->get('end')) {
Log::debug(
sprintf(
'In loop #%d, where %s (start param) <= %s (end param).', $loop, $currentStart->format('Y-m-d'),
$this->parameters->get('end')->format('Y-m-d')
)
);
$nextExpectedMatch = $this->nextDateMatch($bill, $currentStart);
Log::debug(sprintf('Next expected match is %s', $nextExpectedMatch->format('Y-m-d')));
// If nextExpectedMatch is after end, we continue:
if ($nextExpectedMatch > $this->parameters->get('end')) {
Log::debug(
sprintf('%s is > %s, so were not going to use it.', $nextExpectedMatch->format('Y-m-d'), $this->parameters->get('end')->format('Y-m-d'))
);
break;
}
// add to set
$set->push(clone $nextExpectedMatch);
Log::debug(sprintf('Add next expected match to set because its in the current start/end range, which now contains %d item(s)', $set->count()));
$nextExpectedMatch->addDay();
$currentStart = clone $nextExpectedMatch;
$loop++;
}
Log::debug(sprintf('Loop has ended after %d loops', $loop));
$simple = $set->map(
static function (Carbon $date) {
return $date->format('Y-m-d');

View File

@@ -2,6 +2,64 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [4.8.3 (API 0.10.5)] - 20xx-xx-xx
### 4.8.3-alpha.1
- #2874
- #2878
- #2876
- Firefly III now supports redis as cache backend.
- Fine tune Docker container startup times using new environment variables.
- #2895
- #2881
- Footer will warn you of alpha and beta versions.
- #2901
## [4.8.2 (API 0.10.5)] - 2019-11-29
After several alpha and beta versions (which were mainly released because I was
farting around with the idea of doing these things) here's the final version
of the latest release, 4.8.2. Several improvements and lots of bug fixes.
### Added
- You can now cash out a liability.
- (Better) support for Kubernetes
- Support for Swedish! 🇸🇪
### Changed
- [Issue 2835](https://github.com/firefly-iii/firefly-iii/issues/2835) Extended generic bank debit/credit indicator
- Firefly III now comes in three channels: stable, beta and alpha. You can
find the latest version for each channel on [this website](https://version.firefly-iii.org/).
- Firefly III will use version.firefly-iii.org to check what the latest version is.
- Firefly III is now built for ARM, ARM64 and AMD64 in one Docker build.
### Fixed
- [Issue 2783](https://github.com/firefly-iii/firefly-iii/issues/2783) Fixes issues with SQLite databases.
- [Issue 2774](https://github.com/firefly-iii/firefly-iii/issues/2774) Bad redirect when using exotic ports.
- [Issue 2780](https://github.com/firefly-iii/firefly-iii/issues/2780) Budget overview would show deleted entries.
- [Issue 2771](https://github.com/firefly-iii/firefly-iii/issues/2771) Tags and piggy banks would not be created when recurring transactions were created.
- Not all lists would sort accounts properly.
- [Issue 2786](https://github.com/firefly-iii/firefly-iii/issues/2786) Nicolas fixed documentation links, thanks!
- [Issue 2806](https://github.com/firefly-iii/firefly-iii/issues/2806) You can now skip one month again in bills.
- [Issue 2796](https://github.com/firefly-iii/firefly-iii/issues/2796) Rewrote a chart on category page.
- [Issue 2811](https://github.com/firefly-iii/firefly-iii/issues/2811) Description of tags was gone.
- [Issue 2812](https://github.com/firefly-iii/firefly-iii/issues/2812) Bad redirect after tag deletion.
- [Issue 2790](https://github.com/firefly-iii/firefly-iii/issues/2790) Form fixes for currencies.
- [Issue 2651](https://github.com/firefly-iii/firefly-iii/issues/2651) Source account would not be removed if resubmitting the form.
- Catch some integer conversion errors.
- [Issue 2660](https://github.com/firefly-iii/firefly-iii/issues/2660) Various search and form issues.
- [Issue 2807](https://github.com/firefly-iii/firefly-iii/issues/2807) Timendum fixed a lot of auto-completes, thanks!
- [Issue 2820](https://github.com/firefly-iii/firefly-iii/issues/2820) Fix budget chart.
- [Issue 2832](https://github.com/firefly-iii/firefly-iii/issues/2832) Issue with rules.
- [Issue 2841](https://github.com/firefly-iii/firefly-iii/issues/2841) Issue with duplicate imports.
- [Issue 2843](https://github.com/firefly-iii/firefly-iii/issues/2843) Issues with Chinese translations
- [Issue 2852](https://github.com/firefly-iii/firefly-iii/issues/2852) Missing columns from budget overview
- [Issue 2851](https://github.com/firefly-iii/firefly-iii/issues/2851) Missing chart data.
### API
- Most API errors now have a number. See [this page](https://docs.firefly-iii.org/support/error_codes) for more details.
## [4.8.2-alpha.1 (API 0.10.5)] - 2019-11-03
Normally I won't be detailling alpha versions in the changelog but this is a

View File

@@ -61,9 +61,10 @@
"ext-fileinfo": "*",
"ext-gd": "*",
"ext-intl": "*",
"ext-session": "*",
"ext-json": "*",
"ext-openssl": "*",
"ext-pdo": "*",
"ext-session": "*",
"ext-simplexml": "*",
"ext-tokenizer": "*",
"ext-xml": "*",
@@ -74,6 +75,7 @@
"davejamesmiller/laravel-breadcrumbs": "5.*",
"doctrine/dbal": "2.*",
"fideloper/proxy": "4.*",
"jc5/google2fa-laravel": "2.0.3",
"laravel/framework": "5.8.*",
"laravel/passport": "7.*",
"laravelcollective/html": "5.8.*",
@@ -85,8 +87,8 @@
"litipk/flysystem-fallback-adapter": "0.*",
"mschindler83/fints-hbci-php": "1.*",
"pragmarx/google2fa": "6.1.3",
"pragmarx/google2fa-laravel": "1.*",
"pragmarx/recovery": "^0.1.0",
"predis/predis": "^1.1",
"rcrowe/twigbridge": "0.9.*"
},
"require-dev": {

1081
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -21,6 +21,9 @@
declare(strict_types=1);
use Illuminate\Support\Str;
$databaseUrl = getenv('DATABASE_URL');
$host = '';
@@ -90,15 +93,36 @@ return [
],
'migrations' => 'migrations',
/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/
'redis' => [
'client' => 'predis',
'client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'predis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
];

View File

@@ -125,7 +125,7 @@ return [
'is_demo_site' => false,
],
'encryption' => null === env('USE_ENCRYPTION') || env('USE_ENCRYPTION') === true,
'version' => '4.8.2-beta.1',
'version' => '4.8.3-alpha.1',
'api_version' => '0.10.5',
'db_version' => 11,
'maxUploadSize' => 15242880,
@@ -291,35 +291,30 @@ return [
'Mortgage' => 'mortgage',
],
'languages' => [
'en_US' => ['name_locale' => 'English', 'name_english' => 'English'], // 4.8,1
'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'], // 4.8,1
'es_ES' => ['name_locale' => 'Español', 'name_english' => 'Spanish'], // 4.8,1
'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'], // 4.8,1
'fr_FR' => ['name_locale' => 'Français', 'name_english' => 'French'], // 4.8,1
//'id_ID' => ['name_locale' => 'Bahasa Indonesia', 'name_english' => 'Indonesian'], // 57%, removed
'it_IT' => ['name_locale' => 'Italiano', 'name_english' => 'Italian'], // 4.8,1
'nb_NO' => ['name_locale' => 'Norsk', 'name_english' => 'Norwegian'], // 4.8,1
'nl_NL' => ['name_locale' => 'Nederlands', 'name_english' => 'Dutch'], // 4.8,1
'pl_PL' => ['name_locale' => 'Polski', 'name_english' => 'Polish '], // 4.8,1
'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'], // 4.8,1
'ro_RO' => ['name_locale' => 'Română', 'name_english' => 'Romanian'], // 4.8,1
'ru_RU' => ['name_locale' => 'Русский', 'name_english' => 'Russian'], // 4.8,1
'zh_TW' => ['name_locale' => 'Chinese Traditional', 'name_english' => 'Chinese Traditional'], // 4.8,1
'zh_CN' => ['name_locale' => 'Chinese Simplified', 'name_english' => 'Chinese Simplified'], // 4.8,1
'hu_HU' => ['name_locale' => 'Hungarian', 'name_english' => 'Hungarian'], // 4.8,1
// new since 4.8,1
'el_GR' => ['name_locale' => 'Ελληνικά', 'Greek' => 'Hungarian'], // 4.8,1
// greek: Ελληνικά
// Czech not yet.
'en_US' => ['name_locale' => 'English', 'name_english' => 'English'],
'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'],
'es_ES' => ['name_locale' => 'Español', 'name_english' => 'Spanish'],
'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'],
'fr_FR' => ['name_locale' => 'Français', 'name_english' => 'French'],
'it_IT' => ['name_locale' => 'Italiano', 'name_english' => 'Italian'],
'nb_NO' => ['name_locale' => 'Norsk', 'name_english' => 'Norwegian'],
'nl_NL' => ['name_locale' => 'Nederlands', 'name_english' => 'Dutch'],
'pl_PL' => ['name_locale' => 'Polski', 'name_english' => 'Polish '],
'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'],
'ro_RO' => ['name_locale' => 'Română', 'name_english' => 'Romanian'],
'ru_RU' => ['name_locale' => 'Русский', 'name_english' => 'Russian'],
'zh_TW' => ['name_locale' => 'Chinese Traditional', 'name_english' => 'Chinese Traditional'],
'zh_CN' => ['name_locale' => 'Chinese Simplified', 'name_english' => 'Chinese Simplified'],
'hu_HU' => ['name_locale' => 'Hungarian', 'name_english' => 'Hungarian'],
'sv_SE' => ['name_locale' => 'Svenska', 'name_english' => 'Swedish'],
//'el_GR' => ['name_locale' => 'Ελληνικά', 'name_english' => 'Greek'], // dropped to 65%
//'id_ID' => ['name_locale' => 'Bahasa Indonesia', 'name_english' => 'Indonesian'],
//'tr_TR' => ['name_locale' => 'Türkçe', 'name_english' => 'Turkish'], // 71%
//'ca_ES' => ['name_locale' => 'Catalan', 'name_english' => 'Catalan'], // 0%
//'ja_JA' => ['name_locale' => 'Japanese', 'name_english' => 'Japanese'], // 0%
//'he_IL' => ['name_locale' => 'Hebrew', 'name_english' => 'Hebrew'], // 2%
//'sv_SE' => ['name_locale' => 'Svenska', 'name_english' => 'Swedish'], // 1%
//
//'sr_CS' => ['name_locale' => 'Serbian (Latin)', 'name_english' => 'Serbian (Latin)'], // 0%
//'sl_SI' => ['name_locale' => 'Slovenian', 'name_english' => 'Slovenian'], // 10%
//'uk_UA' => ['name_locale' => 'Ukranian', 'name_english' => 'Ukranian'], // 4%
@@ -480,8 +475,8 @@ return [
'append_notes',
'prepend_notes',
'link_to_bill',
'convert_withdrawal',
'convert_deposit',
//'convert_withdrawal',
//'convert_deposit',
'convert_transfer',
],
'context-rule-triggers' => [

View File

@@ -91,4 +91,7 @@ return [
*/
'throw_exceptions' => true,
'store_in_cookie' => true,
];

2
public/v1/js/app.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -108,6 +108,8 @@ const i18n = new VueI18n({
'ru': require('./locales/ru.json'),
'zh': require('./locales/zh.json'),
'zh-tw': require('./locales/zh-tw.json'),
'zh-cn': require('./locales/zh-cn.json'),
'sv': require('./locales/sv.json'),
}
});

View File

@@ -623,10 +623,13 @@
}
}
// unique some things
this.transactions[transactionIndex].errors.source_account =
Array.from(new Set(this.transactions[transactionIndex].errors.source_account));
this.transactions[transactionIndex].errors.destination_account =
Array.from(new Set(this.transactions[transactionIndex].errors.destination_account));
if (typeof this.transactions[transactionIndex] !== 'undefined') {
this.transactions[transactionIndex].errors.source_account =
Array.from(new Set(this.transactions[transactionIndex].errors.source_account));
this.transactions[transactionIndex].errors.destination_account =
Array.from(new Set(this.transactions[transactionIndex].errors.destination_account));
}
}
}
},

View File

@@ -121,6 +121,7 @@
</div>
</div>
<div class="col-lg-4">
<!-- -->
<amount
:source="transaction.source_account"
:destination="transaction.destination_account"
@@ -221,6 +222,10 @@
}
return amount;
},
roundNumber(amount, decimals) {
let multiplier = Math.pow(10, decimals);
return Math.round(amount * multiplier) / multiplier;
},
selectedSourceAccount(index, model) {
if (typeof model === 'string') {
// cant change types, only name.
@@ -367,20 +372,20 @@
}
this.transactions.push({
transaction_journal_id: transaction.transaction_journal_id,
description: transaction.description,
date: transaction.date.substr(0, 10),
amount: this.positiveAmount(transaction.amount),
category: transaction.category_name,
errors: {
source_account: [],
destination_account: [],
description: [],
amount: [],
date: [],
budget_id: [],
foreign_amount: [],
category: [],
transaction_journal_id: transaction.transaction_journal_id,
description: transaction.description,
date: transaction.date.substr(0, 10),
amount: this.roundNumber(this.positiveAmount(transaction.amount), transaction.currency_decimal_places),
category: transaction.category_name,
errors: {
source_account: [],
destination_account: [],
description: [],
amount: [],
date: [],
budget_id: [],
foreign_amount: [],
category: [],
piggy_bank: [],
tags: [],
// custom fields:
@@ -409,7 +414,7 @@
notes: transaction.notes
},
foreign_amount: {
amount: this.positiveAmount(transaction.foreign_amount),
amount: this.roundNumber(this.positiveAmount(transaction.foreign_amount), transaction.foreign_currency_decimal_places),
currency_id: transaction.foreign_currency_id
},
source_account: {

View File

@@ -29,7 +29,7 @@
"none_in_select_list": "(ninguno)",
"no_piggy_bank": "(sin alcanc\u00eda)",
"description": "Descripci\u00f3n",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction."
"split_transaction_title_help": "Si crea una transacci\u00f3n dividida, debe existir una descripci\u00f3n global para todas las divisiones de la transacci\u00f3n."
},
"form": {
"interest_date": "Fecha de inter\u00e9s",

View File

@@ -29,7 +29,7 @@
"none_in_select_list": "(geen)",
"no_piggy_bank": "(geen spaarpotje)",
"description": "Omschrijving",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction."
"split_transaction_title_help": "Als je een gesplitste transactie maakt, moet er een algemene beschrijving zijn voor alle splitsingen van de transactie."
},
"form": {
"interest_date": "Rentedatum",

View File

@@ -29,7 +29,7 @@
"none_in_select_list": "(\u017cadne)",
"no_piggy_bank": "(brak skarbonki)",
"description": "Opis",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction."
"split_transaction_title_help": "Je\u015bli tworzysz podzielon\u0105 transakcj\u0119, musi ona posiada\u0107 globalny opis dla wszystkich podzia\u0142\u00f3w w transakcji."
},
"form": {
"interest_date": "Data odsetek",

View File

@@ -0,0 +1,47 @@
{
"firefly": {
"welcome_back": "Vad h\u00e4nder?",
"flash_error": "Fel!",
"flash_success": "Slutf\u00f6rd!",
"close": "St\u00e4ng",
"split_transaction_title": "Description of the split transaction",
"errors_submission": "N\u00e5got fel uppstod med inskickningen. V\u00e4nligen kontrollera felen nedan.",
"split": "Dela",
"transaction_journal_information": "Transaktionsinformation",
"source_account": "Fr\u00e5n konto",
"destination_account": "Till konto",
"add_another_split": "L\u00e4gga till en annan delning",
"submission": "Inskickning",
"create_another": "Efter sparat, \u00e5terkom hit f\u00f6r att skapa ytterligare en.",
"reset_after": "\u00c5terst\u00e4ll formul\u00e4r efter inskickat",
"submit": "Skicka",
"amount": "Belopp",
"date": "Date",
"tags": "Etiketter",
"no_budget": "(ingen budget)",
"category": "Kategori",
"attachments": "Bilagor",
"notes": "Noteringar",
"update_transaction": "Uppdatera transaktion",
"after_update_create_another": "Efter uppdaterat, \u00e5terkom hit f\u00f6r att forts\u00e4tta redigera.",
"store_as_new": "Spara en ny transaktion ist\u00e4llet f\u00f6r att uppdatera.",
"split_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction.",
"none_in_select_list": "(Ingen)",
"no_piggy_bank": "(ingen spargris)",
"description": "Beskrivning",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction."
},
"form": {
"interest_date": "R\u00e4ntedatum",
"book_date": "Bokf\u00f6ringsdatum",
"process_date": "Behandlingsdatum",
"due_date": "F\u00f6rfallodatum",
"foreign_amount": "Utl\u00e4ndskt belopp",
"payment_date": "Betalningsdatum",
"invoice_date": "Fakturadatum",
"internal_reference": "Intern referens"
},
"config": {
"html_language": "sv"
}
}

View File

@@ -5,15 +5,15 @@
"flash_success": "\u6210\u529f\uff01",
"close": "\u5173\u95ed",
"split_transaction_title": "\u62c6\u5206\u4ea4\u6613\u7684\u63cf\u8ff0",
"errors_submission": "There was something wrong with your submission. Please check out the errors below.",
"errors_submission": "\u60a8\u7684\u63d0\u4ea4\u6709\u8bef\uff0c\u8bf7\u67e5\u770b\u4e0b\u9762\u8f93\u51fa\u7684\u9519\u8bef\u4fe1\u606f\u3002",
"split": "\u5206\u5272",
"transaction_journal_information": "\u4ea4\u6613\u8d44\u8baf",
"source_account": "\u6765\u6e90\u5e10\u6237",
"destination_account": "\u76ee\u6807\u5e10\u6237",
"add_another_split": "\u589e\u52a0\u62c6\u5206",
"submission": "Submission",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"submission": "\u63d0\u4ea4",
"create_another": "\u4fdd\u5b58\u540e\uff0c\u8fd4\u56de\u6b64\u9875\u9762\u521b\u5efa\u53e6\u4e00\u7b14\u8bb0\u5f55\u3002",
"reset_after": "\u63d0\u4ea4\u540e\u91cd\u7f6e\u8868\u5355",
"submit": "\u9001\u51fa",
"amount": "\u91d1\u989d",
"date": "\u65e5\u671f",
@@ -22,14 +22,14 @@
"category": "\u5206\u7c7b",
"attachments": "\u9644\u52a0\u6863\u6848",
"notes": "\u6ce8\u91ca",
"update_transaction": "Update transaction",
"after_update_create_another": "After updating, return here to continue editing.",
"store_as_new": "Store as a new transaction instead of updating.",
"update_transaction": "\u66f4\u65b0\u4ea4\u6613",
"after_update_create_another": "\u66f4\u65b0\u540e\uff0c\u8fd4\u56de\u6b64\u9875\u9762\u7ee7\u7eed\u7f16\u8f91\u3002",
"store_as_new": "\u4fdd\u5b58\u4e3a\u65b0\u4ea4\u6613\u800c\u4e0d\u662f\u66f4\u65b0\u6b64\u4ea4\u6613\u3002",
"split_title_help": "\u5982\u679c\u60a8\u521b\u5efa\u4e00\u4e2a\u62c6\u5206\u4ea4\u6613\uff0c\u5fc5\u987b\u6709\u4e00\u4e2a\u5168\u5c40\u7684\u4ea4\u6613\u63cf\u8ff0\u3002",
"none_in_select_list": "\uff08\u7a7a\uff09",
"no_piggy_bank": "(no piggy bank)",
"no_piggy_bank": "\uff08\u65e0\u5b58\u94b1\u7f50\uff09",
"description": "\u63cf\u8ff0",
"split_transaction_title_help": "If you create a split transaction, there must be a global description for all splits of the transaction."
"split_transaction_title_help": "\u5982\u679c\u60a8\u521b\u5efa\u4e86\u4e00\u4e2a\u5206\u5272\u4ea4\u6613\uff0c\u4ea4\u6613\u7684\u6240\u6709\u5206\u5272\u9879\u90fd\u5fc5\u987b\u6709\u5168\u5c40\u63cf\u8ff0\u3002"
},
"form": {
"interest_date": "\u5229\u7387\u65e5\u671f",

View File

@@ -5,5 +5,5 @@ ja_JP
pt_PT
sl_SI
uk_UA
sv_SE
sr_CS
et_EE

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Vyberte účet aktiv, na který peníze půjdou.',
'convert_please_set_expense_destination' => 'Vyberte výdajový účet, na který peníze půjdou.',
'convert_please_set_asset_source' => 'Vyberte účet aktiv, ze kterého peníze půjdou.',
'convert_explanation_withdrawal_deposit' => 'Pokud tento výběr přeměníte na vklad, :amount bude na <a href=":sourceRoute">:sourceName</a> vloženo, namísto vybráno.',
'convert_explanation_withdrawal_transfer' => 'If you convert this withdrawal into a transfer, :amount will be transferred from <a href=":sourceRoute">:sourceName</a> to a new asset account, instead of being paid to <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'If you convert this deposit into a withdrawal, :amount will be removed from <a href=":destinationRoute">:destinationName</a> instead of added to it.',
'convert_explanation_deposit_transfer' => 'If you convert this deposit into a transfer, :amount will be transferred from an asset account of your choice into <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'If you convert this transfer into a withdrawal, :amount will go from <a href=":sourceRoute">:sourceName</a> to a new destination as an expense, instead of to <a href=":destinationRoute">:destinationName</a> as a transfer.',
'convert_explanation_transfer_deposit' => 'If you convert this transfer into a deposit, :amount will be deposited into account <a href=":destinationRoute">:destinationName</a> instead of being transferred there.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'The transaction has been converted to a withdrawal',
'converted_to_Deposit' => 'The transaction has been converted to a deposit',
'converted_to_Transfer' => 'The transaction has been converted to a transfer',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Bitte wählen Sie das Bestandskonto, auf das das Geld überwiesen werden soll.',
'convert_please_set_expense_destination' => 'Bitte wählen Sie einen Kreditor (Ausgabenkonto), an den das Geld gehen soll.',
'convert_please_set_asset_source' => 'Bitte das Bestandskonto wählen, von dem das Geld kommt.',
'convert_explanation_withdrawal_deposit' => 'Falls Sie diese Ausgabe in eine Einnahme konvertieren, wird :amount in <a href=":sourceRoute">:sourceName</a> eingezahlt statt davon abgezogen zu werden.',
'convert_explanation_withdrawal_transfer' => 'Falls Sie diese Ausgabe in eine Umbuchung konvertieren, wird :amount von <a href=":sourceRoute">:sourceName</a> auf ein neues Bestandskonto überwiesen, statt auf das Bestandskonto <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Falls Sie diese Einnahme in eine Ausgabe konvertieren, wird :amount von <a href=":destinationRoute">:destinationName</a> abgezogen statt darauf eingezahlt zu werden.',
'convert_explanation_deposit_transfer' => 'Falls Sie diese Einnahme in eine Umbuchung konvertieren, wird :amount von einem Bestandskonto Ihrer Wahl auf <a href=":destinationRoute">:destinationName</a> umgebucht.',
'convert_explanation_transfer_withdrawal' => 'Falls sie diese Umbuchung in eine Ausgabe konvertieren, wird :amount von <a href=":sourceRoute">:sourceName</a> zu einem neuen Ziel geleitet, statt auf <a href=":destinationRoute">:destinationName</a> umgebucht zu werden.',
'convert_explanation_transfer_deposit' => 'Wenn sie diese Umbuchung in eine Einnahme konvertieren, wird :amount auf das Konto <a href=":destinationRoute">:destinationName</a> eingezahlt, statt dorthin umgebucht zu werden.',
'convert_expl_w_d' => 'Bei der Umwandlung von einer Auszahlung in eine Einzahlung wird das Geld auf die angezeigten Zielkonten eingezahlt, anstatt von diesen abgehoben zu werden. Um die Konvertierung abzuschließen, legen Sie bitte unten die neuen Quellkonten fest.',
'convert_expl_w_t' => 'Bei der Umwandlung einer Auszahlung in eine Überweisung wird das Geld von den Ursprungskonten auf andere Aktiv- oder Passivkonten umgebucht, anstatt für die ursprünglichen Aufwandskonten ausgegeben zu werden. Um die Konvertierung abzuschließen, wählen Sie bitte neue Zielkonten aus.',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'Wenn Sie eine Überweisung in eine Einzahlung umwandeln, wird das Geld auf das angezeigte Zielkonto eingezahlt, anstatt auf dieses überwiesen zu werden. Bitte wählen Sie das neue Quellkonto aus, um die Umwandlung abzuschließen.',
'converted_to_Withdrawal' => 'Die Buchung wurde in eine Ausgabe konvertiert',
'converted_to_Deposit' => 'Die Buchung wurde in eine Einnahme konvertiert',
'converted_to_Transfer' => 'Die Buchung wurde in eine Umbuchung konvertiert',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Please pick the asset account where the money will go to.',
'convert_please_set_expense_destination' => 'Please pick the expense account where the money will go to.',
'convert_please_set_asset_source' => 'Please pick the asset account where the money will come from.',
'convert_explanation_withdrawal_deposit' => 'If you convert this withdrawal into a deposit, :amount will be deposited into <a href=":sourceRoute">:sourceName</a> instead of taken from it.',
'convert_explanation_withdrawal_transfer' => 'If you convert this withdrawal into a transfer, :amount will be transferred from <a href=":sourceRoute">:sourceName</a> to a new asset account, instead of being paid to <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'If you convert this deposit into a withdrawal, :amount will be removed from <a href=":destinationRoute">:destinationName</a> instead of added to it.',
'convert_explanation_deposit_transfer' => 'If you convert this deposit into a transfer, :amount will be transferred from an asset account of your choice into <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'If you convert this transfer into a withdrawal, :amount will go from <a href=":sourceRoute">:sourceName</a> to a new destination as an expense, instead of to <a href=":destinationRoute">:destinationName</a> as a transfer.',
'convert_explanation_transfer_deposit' => 'If you convert this transfer into a deposit, :amount will be deposited into account <a href=":destinationRoute">:destinationName</a> instead of being transferred there.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'The transaction has been converted to a withdrawal',
'converted_to_Deposit' => 'The transaction has been converted to a deposit',
'converted_to_Transfer' => 'The transaction has been converted to a transfer',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Please pick the asset account where the money will go to.',
'convert_please_set_expense_destination' => 'Please pick the expense account where the money will go to.',
'convert_please_set_asset_source' => 'Please pick the asset account where the money will come from.',
'convert_explanation_withdrawal_deposit' => 'If you convert this withdrawal into a deposit, :amount will be deposited into <a href=":sourceRoute">:sourceName</a> instead of taken from it.',
'convert_explanation_withdrawal_transfer' => 'If you convert this withdrawal into a transfer, :amount will be transferred from <a href=":sourceRoute">:sourceName</a> to a new asset account, instead of being paid to <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'If you convert this deposit into a withdrawal, :amount will be removed from <a href=":destinationRoute">:destinationName</a> instead of added to it.',
'convert_explanation_deposit_transfer' => 'If you convert this deposit into a transfer, :amount will be transferred from an asset account of your choice into <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'If you convert this transfer into a withdrawal, :amount will go from <a href=":sourceRoute">:sourceName</a> to a new destination as an expense, instead of to <a href=":destinationRoute">:destinationName</a> as a transfer.',
'convert_explanation_transfer_deposit' => 'If you convert this transfer into a deposit, :amount will be deposited into account <a href=":destinationRoute">:destinationName</a> instead of being transferred there.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'The transaction has been converted to a withdrawal',
'converted_to_Deposit' => 'The transaction has been converted to a deposit',
'converted_to_Transfer' => 'The transaction has been converted to a transfer',

View File

@@ -129,7 +129,7 @@ return [
'source_account' => 'Cuenta origen',
'destination_account' => 'Cuenta destino',
'sum_of_expenses_in_budget' => 'Total gastado en el presupuesto ":budget"',
'left_in_budget_limit' => 'Saldo restante para gastar según presupuesto',
'left_in_budget_limit' => 'Disponible para gasto según presupuesto',
'current_period' => 'Período actual',
'show_the_current_period_and_overview' => 'Mostrar el período actual y el resumen',
'pref_languages_locale' => 'Para que un idioma distinto al inglés funcione correctamente, su sistema operativo debe disponer de la información regional correcta. Si no está disponible, los datos de divisas, fechas y cantidades pueden tener un formato incorrecto.',
@@ -153,9 +153,9 @@ return [
'intro_done_label' => 'Hecho',
'between_dates_breadcrumb' => 'Entre :start y :end',
'all_journals_without_budget' => 'Todas las transacciones sin presupuesto',
'journals_without_budget' => 'Transacciones sin un presupuesto',
'all_journals_without_category' => 'Todas las transacciones sin una categoría',
'journals_without_category' => 'Transacciones sin una categoría',
'journals_without_budget' => 'Transacciones sin presupuesto',
'all_journals_without_category' => 'Todas las transacciones sin categoría',
'journals_without_category' => 'Transacciones sin categoría',
'all_journals_for_account' => 'Todas las transacciones de la cuenta :name',
'chart_all_journals_for_account' => 'Cuadro de todas las transacciones de la cuenta :name',
'journals_in_period_for_account' => 'Todas las transacciones por cuenta :name entre :start y :end',
@@ -179,7 +179,7 @@ return [
'exchange_rate_instructions' => 'La cuenta de activos "@name" sólo acepta transacciones en @native_currency. Si usted desea usar @foreign_currency, asegúrese que la cantidad en @native_currency sea conocida también:',
'transfer_exchange_rate_instructions' => 'La cuenta de activos "@source_name" solo acepta transacciones en "@source_currency". cuenta de activos de destino "@dest_name" solo acepta transacciones en @dest_currency. Usted debe proveer la cantidad correcta transferida en ambas monedas.',
'transaction_data' => 'Datos de transacción',
'invalid_server_configuration' => 'Configuración del servidor no válida',
'invalid_server_configuration' => 'Configuración de servidor no válida',
'invalid_locale_settings' => 'FireFly III no puede formatear cantidades monetarias porque a su servidor le faltan los paquetes requeridos. Hay <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instrucciones de cómo hacer esto</a>.',
'quickswitch' => 'Cambio rápido',
'sign_in_to_start' => 'Iniciar sesión para comenzar',
@@ -187,8 +187,8 @@ return [
'register_new_account' => 'Registrar una nueva cuenta',
'forgot_my_password' => 'He perdido mi contraseña',
'problems_with_input' => 'Hubo algunos problemas con su entrada.',
'reset_password' => 'Reestablecer su contraseña',
'button_reset_password' => 'Reestablecer contraseña',
'reset_password' => 'Restablecer su contraseña',
'button_reset_password' => 'Restablecer contraseña',
'reset_button' => 'Restablecer',
'want_to_login' => 'Quiero entrar al sistema',
'login_page_title' => 'Iniciar sesión en Firefly III',
@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Por favor elija la cuenta de activos a donde el dinero se destinara.',
'convert_please_set_expense_destination' => 'Por favor elija la cuenta de gastos a la que ira el dinero.',
'convert_please_set_asset_source' => 'Por favor elija la cuenta de activos de donde vendrá el dinero.',
'convert_explanation_withdrawal_deposit' => 'Si usted convierte este retiro en un deposito, :amount sera depositado en <a href=":sourceRoute">:sourceName</a>en vez de tomar de el.',
'convert_explanation_withdrawal_transfer' => 'Si usted convierte esto en una transferencia, :amount sera transferido desde <a href=":sourceRoute">:sourceName</a> a una nueva cuenta de ingresos, en lugar de pagarse a <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Si usted convierte este deposito en un retiro, :amount se eliminara de <a href=":destinationRoute">:destinationName</a> en vez de añadirse a él.',
'convert_explanation_deposit_transfer' => 'Si convierte este deposito en una transferencia,:amount sera transferido desde una cuenta de activos de su elección <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Si convierte esta transferencia en un retiroc :amount ira desde <a href=":sourceRoute">:sourceName</a> a un nuevo destino como gastos , en vez de <a href=":destinationRoute">:destinationName</a> como una transferencia.',
'convert_explanation_transfer_deposit' => 'Si convierte esta transferencia en un deposito,:amount sera depositado en la cuenta <a href=":destinationRoute">::destinationName</a> en vez de ser transferida allí.',
'convert_expl_w_d' => 'Al convertir de un retiro a un depósito, el dinero será depositado en la(s) cuenta(s) de destino mostrada(s), en lugar de ser retirado de ellas. Para completar la conversión, por favor establezca la(s) nueva(s) cuenta(s) de origen a continuación.',
'convert_expl_w_t' => 'Al convertir un retiro en una transferencia, el dinero será transferido de la cuenta de origen a otra cuenta de activo o pasivo en lugar de ser gastado en las cuentas de gastos originales. Para completar la conversión, por favor seleccione nueva(s) cuenta(s) de destino.',
'convert_expl_d_w' => 'Al convertir un depósito en un retiro, el dinero será retirado de la(s) cuenta(s) de origen mostrada(s) en lugar de ser depositado en ella(s). Para completar la conversión, por favor seleccione nuevas cuentas de destino.',
'convert_expl_d_t' => 'Al convertir un depósito en una transferencia, el dinero se depositará en la(s) cuenta(s) de destino indicada(s) en cualquiera de sus cuentas de activo o pasivo. Por favor, seleccione la(s) nueva(s) cuenta(s) de origen para completar la conversión.',
'convert_expl_t_w' => 'Al convertir una transferencia en un retiro, el dinero se gastará en la(s) cuenta(s) de destino que ha establecido aquí, en lugar de ser transferido. Por favor, seleccione la(s) nueva(s) cuenta(s) de destino para completar la conversión.',
'convert_expl_t_d' => 'Al convertir una transferencia en un depósito, el dinero será depositado en la(s) cuenta(s) de destino que se ve(n) aquí, en lugar de ser transferido a ellos. Por favor, seleccione la(s) nueva(s) cuenta(s) de origen para completar la conversión.',
'converted_to_Withdrawal' => 'La transacción se convirtió en un retiro',
'converted_to_Deposit' => 'La transacción se ha convertido en un deposito',
'converted_to_Transfer' => 'La transacción se convirtió en transferencia',
@@ -995,7 +995,7 @@ return [
'newTransfer' => 'Nueva transferencia',
'bills_to_pay' => 'Facturas por pagar',
'per_day' => 'Por dia',
'left_to_spend_per_day' => 'Saldo para gastar por día',
'left_to_spend_per_day' => 'Disponible para gasto diario',
'bills_paid' => 'Facturas pagadas',
// menu and titles, should be recycled as often as possible:
@@ -1082,7 +1082,7 @@ return [
'balanceEnd' => 'Balance al final de un periodo',
'splitByAccount' => 'Separada por cuenta',
'coveredWithTags' => 'Cubierta con etiquetas',
'leftInBudget' => 'Dejado en el presupuesto',
'leftInBudget' => 'Disponible en presupuesto',
'sumOfSums' => 'Suma de sumas',
'noCategory' => '(sin categoría)',
'notCharged' => 'No cargado (todavía)',
@@ -1168,10 +1168,10 @@ return [
'budget' => 'Presupuesto',
'spent' => 'Gastado',
'spent_in_budget' => 'Gastado en presupuesto',
'left_to_spend' => 'Dejar para gastar',
'left_to_spend' => 'Disponible para gastar',
'earned' => 'Ganado',
'overspent' => 'Sobrepasadas',
'left' => 'Para gastar',
'left' => 'Disponible',
'max-amount' => 'Cantidad máxima',
'min-amount' => 'Monto mínimo',
'journal-amount' => 'Entrada actual de factura',
@@ -1201,7 +1201,7 @@ return [
'left_for_piggy_banks' => 'Apartado para las huchas',
'sum_of_piggy_banks' => 'Total de huchas',
'saved_so_far' => 'Guardado hasta el momento',
'left_to_save' => 'Saldo para guardar',
'left_to_save' => 'Disponible para ahorro',
'suggested_amount' => 'Cantidad mensual sugerida para ahorrar',
'add_money_to_piggy_title' => 'Añadir dinero a la alcancía ":name"',
'remove_money_from_piggy_title' => 'Quitar dinero de la alcancía ":name"',
@@ -1255,7 +1255,7 @@ return [
'firefly_instance_configuration' => 'Opciones de configuración de Firefly III',
'setting_single_user_mode' => 'Modo de usuario único',
'setting_single_user_mode_explain' => 'Por defecto, Firefly III solo acepta un (1) registro: Usted. Esta es una medida de seguridad que impide que otros utilicen su instancia a menos que usted lo permita. Los registros futuros están bloqueados. Cuando usted desbloquee esta casilla, otros pueden usar su instancia también, suponiendo que puedan alcanzarla ( cuando este conectada a Internet).',
'store_configuration' => 'Configuración de tienda',
'store_configuration' => 'Guardar configuración',
'single_user_administration' => 'Administración de usuarios para :email',
'edit_user' => 'Editar usuario :email',
'hidden_fields_preferences' => 'Puede habilitar más opciones de transacción en sus <a href=":link">ajustes </a>.',
@@ -1284,7 +1284,7 @@ return [
'send_test_triggered' => 'La prueba fue disparada. Chequee su bandeja de entrada y archivos de registro.',
'split_transaction_title' => 'Descripción de la transacción dividida',
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
'split_transaction_title_help' => 'Si crea una transacción dividida, debe existir una descripción global para todas las divisiones de la transacción.',
'split_title_help' => 'Si crea una transacción dividida, debe haber una descripción global para todos los fragmentos de la transacción.',
'transaction_information' => 'Información de la transacción',
'you_create_transfer' => 'Estás creando una <strong>transferencia</strong>.',
@@ -1501,8 +1501,8 @@ return [
'box_sum_in_currency' => 'Suma (:currency)',
'box_bill_paid_in_currency' => 'Facturas pagadas (:currency)',
'box_bill_unpaid_in_currency' => 'Facturas sin pagar (:currency)',
'box_left_to_spend_in_currency' => 'Queda para gastar (:currency)',
'box_left_to_spend_in_currency' => 'Disponible para gasto (:currency)',
'box_net_worth_in_currency' => 'Valor neto (:currency)',
'box_spend_per_day' => 'Saldo para gastar por día: :amount',
'box_spend_per_day' => 'Disponible para gasto diario: :amount',
];

View File

@@ -30,7 +30,7 @@ return [
'index_help' => 'Si alguna vez necesitas ayuda en una página o formulario, pulsa este botón.',
'index_outro' => 'La mayoría de las páginas de Firefly III comenzarán con una pequeña introducción como ésta. Por favor, ponte en contacto conmigo si tienes preguntas o comentarios. ¡Disfruta!',
'index_sidebar-toggle' => 'Para crear nuevas transacciones, cuentas u otros elementos, utiliza el menú bajo este icono.',
'index_cash_account' => 'Estas son las cuentas creadas hasta ahora. Puedes usar la cuenta de efectivo para rastrear los gastos de efectivo pero no es obligatorio por supuesto.',
'index_cash_account' => 'Estas son las cuentas creadas hasta ahora. Puede usar la cuenta de efectivo para vigilar los gastos de efectivo pero, por supuesto, no es obligatorio.',
// transactions (withdrawal)
'transactions_create_withdrawal_source' => 'Seleccione su cuenta de activos o pasivos favorita de este desplegable.',
@@ -61,26 +61,26 @@ return [
// budgets index
'budgets_index_intro' => 'Los presupuestos se utilizan para administrar sus finanzas y son una de las funciones básicas de Firefly III.',
'budgets_index_set_budget' => 'Coloque su presupuesto total para cada período y así Firefly III puede decirle si usted ha presupuestado todo el dinero disponible.',
'budgets_index_set_budget' => 'Configure su presupuesto total para cada período de manera que Firefly III pueda decirle si ha presupuestado todo el dinero disponible.',
'budgets_index_see_expenses_bar' => 'Gastar dinero irá llenando poco a poco esta barra.',
'budgets_index_navigate_periods' => 'Navega a través de períodos para configurar fácilmente presupuestos con anticipación.',
'budgets_index_new_budget' => 'Crea nuevos presupuestos como mejor te parezca.',
'budgets_index_list_of_budgets' => 'Use esta tabla para establecer las cantidades para cada presupuesto y ver cómo lo está haciendo.',
'budgets_index_outro' => 'Para aprender mas acerca de los presupuestos, revise el icono de ayuda en el tope de la esquina derecha.',
'budgets_index_outro' => 'Para aprender mas acerca de los presupuestos, revise el icono de ayuda en la esquina superior derecha.',
// reports (index)
'reports_index_intro' => 'Utilice estos reportes para tener información detallada de sus finanzas.',
'reports_index_inputReportType' => 'Escoja un tipo de reporte. Revise las páginas de ayuda para ver lo que le muestra cada reporte.',
'reports_index_inputAccountsSelect' => 'Usted puede excluir o incluir cuentas de activos como mejor le cuadre.',
'reports_index_inputDateRange' => 'El rango de fecha seleccionada depende completamente de usted: de un día a 10 años.',
'reports_index_intro' => 'Utilice estos informes para tener información detallada de sus finanzas.',
'reports_index_inputReportType' => 'Escoja un tipo de informe. Revise las páginas de ayuda para ver lo que le muestra cada informe.',
'reports_index_inputAccountsSelect' => 'Puede incluir o excluir cuentas de activos como mejor le convenga.',
'reports_index_inputDateRange' => 'El rango de fecha seleccionada depende completamente de usted: desde un día hasta 10 años.',
'reports_index_extra-options-box' => 'Dependiendo del informe que usted haya seleccionado, puede seleccionar filtros y opciones extras aquí. Mire este recuadro cuando cambie los tipos de informes.',
// reports (reports)
'reports_report_default_intro' => 'Este informe le dará un rápido y comprensivo resumen de sus finanzas. Si usted desea ver algo mas, ¡por favor no dude en ponerse en contacto conmigo!',
'reports_report_audit_intro' => 'Este informe le dará información detallada en sus cuentas de activos.',
'reports_report_default_intro' => 'Este informe le dará un rápido y completo resumen de sus finanzas. Si desea ver algo mas, ¡por favor no dude en ponerse en contacto conmigo!',
'reports_report_audit_intro' => 'Este informe le dará información detallada de sus cuentas de activos.',
'reports_report_audit_optionsBox' => 'Use estos recuadros de verificación para ver u ocultar las columnas que a usted le interesan.',
'reports_report_category_intro' => 'Este informe le dará una idea en una o múltiples categorías.',
'reports_report_category_intro' => 'Este informe le dará una idea de una o múltiples categorías.',
'reports_report_category_pieCharts' => 'Estos gráficos le darán una idea de sus gastos e ingresos por categoría o por cuenta.',
'reports_report_category_incomeAndExpensesChart' => 'Estos gráficos muestran sus gastos e ingresos por categoría.',
@@ -90,15 +90,15 @@ return [
'reports_report_budget_intro' => 'Este informe le dará una idea de uno o múltiples presupuestos.',
'reports_report_budget_pieCharts' => 'Estos gráficos le darán a usted una idea de los gastos por presupuesto o por cuenta.',
'reports_report_budget_incomeAndExpensesChart' => 'Este gráfico le muestra sus gastos por presupuesto.',
'reports_report_budget_incomeAndExpensesChart' => 'Este gráfico muestra sus gastos por presupuesto.',
// create transaction
'transactions_create_switch_box' => 'Utilice estos botones para cambiar rápidamente el tipo de transacción que usted desea guardar.',
'transactions_create_switch_box' => 'Utilice estos botones para cambiar rápidamente el tipo de transacción que desee guardar.',
'transactions_create_ffInput_category' => 'Usted puede escribir libremente en este campo. Se le sugerirán categorías creadas previamente.',
'transactions_create_withdrawal_ffInput_budget' => 'Vincula su retiro con un presupuesto para un mejor control financiero.',
'transactions_create_withdrawal_ffInput_budget' => 'Vincule su reintegro con un presupuesto para un mejor control financiero.',
'transactions_create_withdrawal_currency_dropdown_amount' => 'Use esta lista desplegable cuando su retiro esté en otra moneda.',
'transactions_create_deposit_currency_dropdown_amount' => 'Use esta lista desplegable cuando su deposito esté en otra moneda.',
'transactions_create_transfer_ffInput_piggy_bank_id' => 'Seleccione una alcancía y vincule esta transferencia con sus ahorros.',
'transactions_create_transfer_ffInput_piggy_bank_id' => 'Seleccione una hucha y vincule esta transferencia con sus ahorros.',
// piggy banks index:
'piggy-banks_index_saved' => 'Este campo le muestra cuánto ha ahorrado usted en cada hucha.',
@@ -107,7 +107,7 @@ return [
// create piggy
'piggy-banks_create_name' => '¿Cuál es tu meta? ¿Un nuevo sofá, una cámara, dinero para emergencias?',
'piggy-banks_create_date' => 'Usted puede establecer una fecha objetivo o una fecha limite para su alcancía.',
'piggy-banks_create_date' => 'Puede establecer una fecha objetivo o una fecha limite para su hucha.',
// show piggy
'piggy-banks_show_piggyChart' => 'Este informe le mostrara la historia de esta alcancía.',
@@ -145,13 +145,13 @@ return [
'rules_create_mandatory' => 'Elija un título descriptivo, y establezca cuando la regla deba ser botada.',
'rules_create_ruletriggerholder' => 'Añadir tantos desencadenantes como desee, pero recuerde que TODOS los desencadenantes deben coincidir antes de que cualquier acción sea eliminada.',
'rules_create_test_rule_triggers' => 'Use este botón para ver cuáles transacciones coincidirán con su regla.',
'rules_create_actions' => 'Establezca tantas acciones como usted lo desee.',
'rules_create_actions' => 'Establezca tantas acciones como quiera.',
// preferences
'preferences_index_tabs' => 'Mas opciones están disponibles detrás de estas pestañas.',
// currencies
'currencies_index_intro' => 'Firefly III da soporte a múltiples monedas, que usted puede cambiar en esta página.',
'currencies_index_intro' => 'Firefly III admite múltiples monedas, que usted puede cambiar en esta misma página.',
'currencies_index_default' => 'Firefly III tiene una moneda por defecto.',
'currencies_index_buttons' => 'Utilice estos botones para cambiar la moneda por defecto o habilitar otras monedas.',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Veuillez choisir le compte d\'actifs sur lequel l\'argent sera versé.',
'convert_please_set_expense_destination' => 'Veuillez choisir le compte de dépenses sur lequel l\'argent sera versé.',
'convert_please_set_asset_source' => 'Veuillez choisir le compte dactifs d\'où proviendra largent.',
'convert_explanation_withdrawal_deposit' => 'Si vous convertissez ce retrait en dépôt, :amount sera déposé dans <a href=":sourceRoute">:sourceName</a> au lieu de le retirer.',
'convert_explanation_withdrawal_transfer' => 'Si vous convertissez cette dépense en transfert, :amount sera transféré de <a href=":sourceRoute">:sourceName</a> vers un nouveau compte d\'actif, au lieu d\'être payé à <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Si vous convertissez ce dépôt en retrait :amount sera supprimé de <a href=":destinationRoute">:destinationName</a> au lieu d\'y être ajouté.',
'convert_explanation_deposit_transfer' => 'Si vous convertissez ce dépôt en transfert, :amount sera transféré d\'un compte d\'actif de votre choix en <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Si vous convertissez ce transfert en retrait, le montant passera de <a href=":sourceRoute">:sourceName</a> à une nouvelle destination comme une dépense, au lieu de <a href=":destinationRoute">:destinationName</a> en tant que transfert.',
'convert_explanation_transfer_deposit' => 'Si vous convertissez ce transfert en dépôt, :amount sera déposé dans le compte <a href=":destinationRoute">:destinationName</a> au lieu d\'y être transféré.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'La transaction a été convertie en retrait',
'converted_to_Deposit' => 'La transaction a été convertie en dépôt',
'converted_to_Transfer' => 'La transaction a été convertie en transfert',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Kérem válasszon ki egy eszközszámlát, ahova a pénz fog menni.',
'convert_please_set_expense_destination' => 'Ki kell választani egy költségszámlát, ahova a pénz fog menni.',
'convert_please_set_asset_source' => 'Kérem válasszon ki egy eszközszámlát, ahonnan a pénz fog érkezni.',
'convert_explanation_withdrawal_deposit' => 'Ennek a költségnek bevétellé konvertálása esetén :amount bevételként fog megjelenni <a href=":sourceRoute">:sourceName</a> forrásszámlán ahelyett, hogy levonódna belőle.',
'convert_explanation_withdrawal_transfer' => 'Ennek a költségnek átvezetéssé konvertálása esetén :amount át lesz vezetve <a href=":sourceRoute">:sourceName</a> számláról egy új eszközszámlára ahelyett, hogy be lenne fizetve <a href=":destinationRoute">:destinationName</a> számlára.',
'convert_explanation_deposit_withdrawal' => 'Ennek a bevételnek költséggé konvertálása esetén :amount el lesz távolítva <a href=":destinationRoute">:destinationName</a> számláról ahelyett, hogy hozzá lenne adva.',
'convert_explanation_deposit_transfer' => 'Ennek a bevételnek átvezetéssé konvertálása esetén :amount át lesz vezetve egy kiválasztott eszközszámláról <a href=":destinationRoute">:destinationName</a> számlára.',
'convert_explanation_transfer_withdrawal' => 'Ennek az átvezetésnek költséggé konvertálása esetén :amount <a href=":sourceRoute">:sourceName</a> számláról átkerül egy új célszámlára mint költség ahelyett, hogy átvezetésként szerepelne <<a href=":destinationRoute">:destinationName</a> számlán.',
'convert_explanation_transfer_deposit' => 'Ennek az átvezetésnek bevétellé konvertálása esetén :amount be lesz vételezve <a href=":destinationRoute">:destinationName</a> számlára ahelyett, hogy át lenne rá vezetve.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'Tranzakció költséggé konvertálva',
'converted_to_Deposit' => 'A tranzakció bevétellé konvertálva',
'converted_to_Transfer' => 'Tranzakció átvezetéssé konvertálva',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Silakan pilih akun aset dimana uangnya akan digunakan.',
'convert_please_set_expense_destination' => 'Tolong pilih rekening pengeluaran yang akan digunakan untuk uang.',
'convert_please_set_asset_source' => 'Silakan pilih akun aset dari mana uang itu berasal.',
'convert_explanation_withdrawal_deposit' => 'Jika Anda mengubah penarikan ini menjadi deposit, :amount akan disetorkan ke <a href=":sourceRoute">:sourceName</a> alih-alih diambil darinya.',
'convert_explanation_withdrawal_transfer' => 'Jika Anda mengubah penarikan ini menjadi transfer, :amount akan ditransfer dari <a href=":sourceRoute">:sourceName</a> ke akun aset baru, alih-alih dibayar ke <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Jika Anda mengonversi setoran ini menjadi penarikan, :amount akan dihapus dari <a href=":destinationRoute">:destinationName</a> alih-alih ditambahkan ke penarikan tersebut.',
'convert_explanation_deposit_transfer' => 'Jika Anda mengonversi setoran ini menjadi transfer, :amount akan ditransfer dari akun aset pilihan Anda ke <a href=":destinationRoute">:destinationName</a> .',
'convert_explanation_transfer_withdrawal' => 'Jika Anda mengubah transfer ini menjadi penarikan, :amount akan beralih dari <a href=":sourceRoute">:sourceName</a> ke tujuan baru sebagai biaya, alih-alih <a href=":destinationRoute">:destinationName</a> sebagai transfer.',
'convert_explanation_transfer_deposit' => 'Jika Anda mengubah transfer ini menjadi deposit, :amount akan disetorkan ke akun <a href=":destinationRoute">:destinationName</a> alih-alih ditransfer ke sana.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'Transaksi telah dikonversi menjadi penarikan',
'converted_to_Deposit' => 'Transaksi telah dikonversi menjadi deposit',
'converted_to_Transfer' => 'Transaksi telah dikonversi menjadi transfer',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Scegli il conto attività in cui andranno i soldi.',
'convert_please_set_expense_destination' => 'Si prega di scegliere il conto spese dove andranno i soldi.',
'convert_please_set_asset_source' => 'Scegli il conto attività da cui verranno i soldi.',
'convert_explanation_withdrawal_deposit' => 'Se converti questa uscita in un\'entrata, l\'importo :amount verrà depositato in <a href=":sourceRoute">:sourceName</a> anziché prelevato da esso.',
'convert_explanation_withdrawal_transfer' => 'Se converti questa uscita in un trasferimento, l\'importo :amount verrà trasferito da <a href=":sourceRoute">:sourceName</a> a un nuovo conto attività, invece di essere pagato a <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Se converti questa entrata in un\'uscita, l\'importo verrà rimosso :amount da <a href=":destinationRoute">:destinationName</a> anziché aggiunto ad esso.',
'convert_explanation_deposit_transfer' => 'Se converti questa entrata in un trasferimento, l\'importo :amount verrà trasferito da un conto attivo di tua scelta in <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Se converti questo trasferimento in un\'uscita, l\'importo :amount andrà da <a href=":sourceRoute">:sourceName</a> ad una nuova destinazione a titolo di spesa, anziché a <a href=":destinationRoute">:destinationName</a> come trasferimento.',
'convert_explanation_transfer_deposit' => 'Se converti questo trasferimento in un\'entrata, l\'importo :amount verrà depositato nel conto <a href=":destinationRoute">:destinationName</a> anziché esservi trasferito.',
'convert_expl_w_d' => 'Quando si converte da un prelievo a un versamento, il denaro verrà versato nei conti di destinazione indicati, invece di essere prelevato da essi. Per completare la conversione, si prega di impostare i nuovi conti di origine qui sotto.',
'convert_expl_w_t' => 'Quando si converte un prelievo in un trasferimento, il denaro verrà trasferito dai conti di origine in altri conti attività o passività iinvece di essere speso sui conti spesa originali. Per completare la conversione, seleziona i nuovi conti di destinazione.',
'convert_expl_d_w' => 'Quando si converte un versamento in un prelievo, il denaro verrà prelevato dai conti di origine indicati anziché essere depositato in essi. Per completare la conversione, seleziona i nuovi conti di destinazione.',
'convert_expl_d_t' => 'Quando converti un versamento in un trasferimento, il denaro verrà versato nei conti destinazione indicati in lista da qualsiasi conto attività o passività. Seleziona i nuovi conti di origine per completare la conversione.',
'convert_expl_t_w' => 'Quando converti un trasferimento in un versamento, il denaro verrà speso nei conti di destinazioni impostati qui, anziché essere trasferito da essi. Seleziona i nuovi conti destinazione per completare la conversione.',
'convert_expl_t_d' => 'Quando converti un trasferimento in un deposito, il denaro verrà depositato in uno dei conti destinazione che vedi qui, anziché di essere trasferito in essi. Seleziona i nuovi conti di origine per completare la conversione.',
'converted_to_Withdrawal' => 'La transazione è stata convertita in un\'uscita',
'converted_to_Deposit' => 'La transazione è stata convertita in un\'entrata',
'converted_to_Transfer' => 'La transazione è stata convertita in un trasferimento',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Vennligst velg aktivakontoen pengene skal gå til.',
'convert_please_set_expense_destination' => 'Vennligst velg utgiftsskontoen pengene skal gå til.',
'convert_please_set_asset_source' => 'Vennligst velg aktivakontoen pengene kommer fra.',
'convert_explanation_withdrawal_deposit' => 'Hvis du konverterer dette uttaket til et innskudd, vil :amount bli satt inn på <a href=":sourceRoute">:sourceName</a> i stedet for å bli tatt ut.',
'convert_explanation_withdrawal_transfer' => 'Hvis du konverterer dette uttaket til en overføring, blir :amount overført fra <a href=":sourceRoute">:sourceName</a> til en ny aktivakonto, i stedet for å bli betalt til <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Hvis du konverterer dette innskuddet til et uttak, vil :amount bli tatt ut fra <a href=":destinationRoute">:destinationName</a> i stedet for å bli satt inn.',
'convert_explanation_deposit_transfer' => 'Hvis du konverterer dette innskuddet til en overføring, vil :amount bli overført fra en brukskonto du velger til <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Hvis du konverterer denne overføringen til et uttak, vil :amount gå fra <a href=":sourceRoute">:sourceName</a> til en ny destinasjon som en utgift, i stedet for til <a href=":destinationRoute">:destinationName</a> som en overføring.',
'convert_explanation_transfer_deposit' => 'Hvis du konverterer denne overføringen til et innskudd, vil :amount bli satt inn på konto <a href=":destinationRoute">:destinationName</a> istedenfor å overføres dit.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'Transaksjonen er konvertert til et uttak',
'converted_to_Deposit' => 'Transaksjonen er konvertert til et innskudd',
'converted_to_Transfer' => 'Transaksjonen er konvertert til en overføring',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Kies de betaalrekening waar het geld heen zal gaan.',
'convert_please_set_expense_destination' => 'Kies de crediteur waar het geld heen zal gaan.',
'convert_please_set_asset_source' => 'Kies de betaalrekening waar het geld vandaan zal komen.',
'convert_explanation_withdrawal_deposit' => 'Als je deze uitgave in inkomsten verandert zal :amount gestort worden op <a href=":sourceRoute">:sourceName</a> in plaats van afgeboekt worden.',
'convert_explanation_withdrawal_transfer' => 'Als je deze uitgave in een overschrijving verandert zal :amount overgeschreven worden van <a href=":sourceRoute">:sourceName</a> naar een andere betaalrekening, in plaats van uitgegeven te worden bij <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Als je deze inkomsten verandert in een uitgave zal :amount afgeboekt worden van <a href=":destinationRoute">:destinationName</a> in plaats van bijgeboekt.',
'convert_explanation_deposit_transfer' => 'Als je deze uitgave in een overschrijving verandert zal :amount gestort worden op <a href=":destinationRoute">:destinationName</a> vanaf een betaalrekening naar keuze.',
'convert_explanation_transfer_withdrawal' => 'Als je deze overschrijving verandert in een uitgave zal :amount afgeboekt worden van <a href=":sourceRoute">:sourceName</a> en overgemaakt worden naar een te kiezen crediteur, in plaats van overgemaakt te worden naar <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_deposit' => 'Als je deze overschrijving verandert in inkomsten zal :amount gestort worden in <a href=":destinationRoute">:destinationName</a> vanaf een debiteur in plaats van overgeschreven te worden vanaf je eigen betaalrekening.',
'convert_expl_w_d' => 'Als je de transactie converteert van een uitgave naar inkomsten, wordt het geld gestort in de weergegeven doelrekening(en), in plaats van dat het er uit gehaald wordt. Kies de nieuwe bronrekening(en) om de conversie af te maken.',
'convert_expl_w_t' => 'Als je een uitgave in een overboeking converteert, wordt het geld overgemaakt van de bronrekening(en) naar een andere betaalrekening of passiva in plaats van dat je het uitgeeft. Kies (een) nieuwe doelrekening(en) om de conversie af te maken.',
'convert_expl_d_w' => 'Als je inkomsten converteert naar een uitgave wordt het geld uitgegeven vanaf de aangegeven bronrekening(en) in plaats van dat het daar wordt gestort. Kies een nieuwe doelrekening om de conversie af te maken.',
'convert_expl_d_t' => 'Als je inkomsten converteert naar een overboeking wordt het geld gestort op de hier genoemde doelrekening(en) vanaf een van je betaalrekeningen of passiva. Om de conversie af te maken kies je de nieuwe bronrekening(en) hier.',
'convert_expl_t_w' => 'Als je converteert van een overboeking naar een afschrijving wordt het geld uitgegeven bij de hier genoemde doelrekening(en) in plaats van dat het wordt afgeschreven van de originele bronrekening(en). Kies de nieuwe bronrekening(en) om de conversie af te maken.',
'convert_expl_t_d' => 'Als je een overboeking converteert naar inkomsten wordt het geld gestort op de doelrekening(en) die je hier ziet, in plaats van dat het als inkomsten binnenkomt. Kies de nieuwe bronrekening(en) om de conversie af te maken.',
'converted_to_Withdrawal' => 'De transactie is veranderd in een uitgave',
'converted_to_Deposit' => 'De transactie is veranderd in inkomsten',
'converted_to_Transfer' => 'De transactie is veranderd in een overschrijving',
@@ -1284,7 +1284,7 @@ return [
'send_test_triggered' => 'Testmail verstuurd. Check je inbox en de logboeken.',
'split_transaction_title' => 'Beschrijving van de gesplitste transactie',
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
'split_transaction_title_help' => 'Als je een gesplitste transactie maakt, moet er een algemene beschrijving zijn voor alle splitsingen van de transactie.',
'split_title_help' => 'Als je een gesplitste transactie maakt, moet er een algemene beschrijving zijn voor alle splitsingen van de transactie.',
'transaction_information' => 'Transactieinformatie',
'you_create_transfer' => 'Je maakt een <strong>overschrijving</strong>.',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Proszę wybierz konto aktywów, do którego będą wychodzić pieniądze.',
'convert_please_set_expense_destination' => 'Proszę wybierz konto wydatków, do którego będą wychodzić pieniądze.',
'convert_please_set_asset_source' => 'Proszę wybierz konto aktywów, z którego będą przychodzić pieniądze.',
'convert_explanation_withdrawal_deposit' => 'Jeśli przekonwertujesz tę wypłatę na wpłatę, kwota :amount zostanie wpłacona na konto <a href=":sourceRoute">:sourceName</a> zamiast wypłacona z niego.',
'convert_explanation_withdrawal_transfer' => 'Jeśli przekonwertujesz tę wypłatę na transfer, kwota :amount zostanie przelana z konta <a href=":sourceRoute">:sourceName</a> na nowe konto aktywów zamiast płatności dla <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Jeśli przekonwertujesz tę wpłatę na wypłatę, kwota :amount zostanie wypłacone z konta <a href=":destinationRoute">:destinationName</a> zamiast wpłacone na nie.',
'convert_explanation_deposit_transfer' => 'Jeśli przekonwertujesz tę wpłatę na transfer, kwota :amount zostanie przelana z konta aktywów, które wybierzesz na konto <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Jeśli przekonwertujesz ten transfer na wypłatę, kwota :amount zostanie przelana z konta <a href=":sourceRoute">:sourceName</a> na nowe konto docelowe jako wydatek, zamiast dla <a href=":destinationRoute">:destinationName</a> jako transfer.',
'convert_explanation_transfer_deposit' => 'Jeśli przekonwertujesz ten transfer na wpłatę, kwota :amount zostanie zarejestrowana jako wpłata na konto <a href=":destinationRoute">:destinationName</a>, zamiast transferowana na nie.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'Transakcja została przekonwertowana do wypłaty',
'converted_to_Deposit' => 'Transakcja została przekonwertowana do wpłaty',
'converted_to_Transfer' => 'Transakcja została przekonwertowana do transferu',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Por favor, escolha a conta de ativo para onde vai o dinheiro.',
'convert_please_set_expense_destination' => 'Por favor, escolha a conta de despesas para onde o dinheiro vai.',
'convert_please_set_asset_source' => 'Por favor, escolha a conta de ativo, de onde virá o dinheiro.',
'convert_explanation_withdrawal_deposit' => 'Se você converter esta retirada em um depósito, :amount será depositado em <a href=":sourceRoute">:sourceName</a> em vez de retirado dele.',
'convert_explanation_withdrawal_transfer' => 'Se você converter esta retirada em uma transferência, :amount será transferido de <a href=":sourceRoute">:sourceName</a> para uma nova conta ativa, em vez de ser pago para <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Se você converter este depósito em uma retirada, :amount será removido de <a href=":destinationRoute">:destinationName</a> em vez de adicionado a ele.',
'convert_explanation_deposit_transfer' => 'Se você converter esse depósito em uma transferência, :amount será transferido de uma conta ativa de sua escolha para <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Se você converter essa transferência para uma retirada, :amount passará de <a href=":sourceRoute">:sourceName</a> para um novo destino como despesa, em vez de <a href=":destinationRoute">:destinationName</a> como transferência.',
'convert_explanation_transfer_deposit' => 'Se você converter esta transferência para um depósito, :amount será depositado na conta <a href=":destinationRoute">:destinationName</a> em vez de ser transferido para lá.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'A transação foi convertida em uma retirada',
'converted_to_Deposit' => 'A transação foi convertida em depósito',
'converted_to_Transfer' => 'A transação foi convertida em uma transferência',

View File

@@ -42,7 +42,7 @@ return [
'lastActivity' => 'Última atividade',
'balanceDiff' => 'Diferença de saldo',
'matchesOn' => 'Correspondido em',
'other_meta_data' => 'Other meta data',
'other_meta_data' => 'Outros meta dados',
'account_type' => 'Tipo de conta',
'created_at' => 'Criado em',
'account' => 'Conta',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Alegeți un cont de active unde vor merge banii.',
'convert_please_set_expense_destination' => 'Alegeți un cont de cheltuieli unde vor merge banii.',
'convert_please_set_asset_source' => 'Alegeți un cont de active unde vor veni banii.',
'convert_explanation_withdrawal_deposit' => 'Dacă convertiți această retragere în depozit, :amount va fi depus în <a href=":sourceRoute"> :sourceName </a> în loc să fie preluat din acesta.',
'convert_explanation_withdrawal_transfer' => 'Dacă convertiți această retragere în transfer, :amount va fi transferată din <a href=":sourceRoute"> :sourceName </a> către un nou cont de activ, în loc să fie plătite pentru <a href=":destinationRoute"> :destinationName </a>.',
'convert_explanation_deposit_withdrawal' => 'Dacă convertiți acest depozit intr-o retragere, :amount va fi eliminată din <a href=":destinationRoute"> :destinationName </a> în loc să fie adăugate la acestea.',
'convert_explanation_deposit_transfer' => 'Dacă convertiți acest depozit intr-un transfer, :amount va fi transferată de la un cont de activ la alegere <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Dacă convertiți acest transfer intr-o retragere, :amount va merge de la <a href=":sourceRoute">:sourceName</a> la o nouă destinație ca o cheltuială, în loc să meargă <a href=":destinationRoute">:destinationName</a> ca trensfer.',
'convert_explanation_transfer_deposit' => 'Dacă convertiți acest transfer intr-un depozit, :amount va fi depusă în contul <a href=":destinationRoute">:destinationName</a> în loc să fie transferată acolo.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'Tranzacția a fost transformată în retragere',
'converted_to_Deposit' => 'Tranzacția a fost transformată în depozit',
'converted_to_Transfer' => 'Tranzacția a fost transformată în transfer',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => 'Пожалуйста, выберите основной счёт, на который будут переведены деньги.',
'convert_please_set_expense_destination' => 'Пожалуйста, выберите счёт расходов, на который будут направлены деньги.',
'convert_please_set_asset_source' => 'Пожалуйста, выберите основной счёт, с которого поступят деньги.',
'convert_explanation_withdrawal_deposit' => 'Если вы преобразуете этот расход в доход, то сумма :amount будет зачислена на счёт <a href=":sourceRoute">:sourceName</a>, а не изъята с него.',
'convert_explanation_withdrawal_transfer' => 'Если вы преобразуете этот расход в перевод, то сумма :amount будет перемещена со счёта <a href=":sourceRoute">:sourceName</a> на новый основной счёт, а не на счёт <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_deposit_withdrawal' => 'Если вы преобразуете этот доход в расход, то сумма :amount будет удалена со счёта <a href=":destinationRoute">:destinationName</a>, а не добавлена на него.',
'convert_explanation_deposit_transfer' => 'Если вы преобразуете этот доход в перевод, то сумма :amount будет перемещена на выбранный вами счёт <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_withdrawal' => 'Если вы преобразуете этот перевод в расход, сумма :amount будет списана со счёта <a href=":sourceRoute">:sourceName</a> в качестве расхода, а не перемещена на счёт <a href=":destinationRoute">:destinationName</a>.',
'convert_explanation_transfer_deposit' => 'Если вы преобразуете этот перевод в доход, сумма :amount будет зачислена на счёт <a href=":destinationRoute">:destinationName</a>, а не переведена на него.',
'convert_expl_w_d' => 'При преобразовании расхода в доход деньги будут зачислены на указанный вами счёт назначения, вместо того, чтобы быть списанными с него. Для завершения преобразования, пожалуйста, укажите новый счёт назначения ниже.',
'convert_expl_w_t' => 'При преобразовании расхода в перевод деньги будут переданы с указанного вами счёта-источник на другой выбранный счёт, вместо того, чтобы быть списанными с изначального счёта. Для завершения преобразования, пожалуйста, укажите новый счёт назначения ниже.',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'Транзакция была преобразована в расход',
'converted_to_Deposit' => 'Транзакция была преобразована в доход',
'converted_to_Transfer' => 'Транзакция была преобразована в перевод',

View File

@@ -0,0 +1,26 @@
<?php
/**
* api.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
];

View File

@@ -0,0 +1,28 @@
<?php
/**
* auth.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'failed' => 'Dessa autentiseringsuppgifter matchar inte våra register.',
'throttle' => 'För många inloggningsförsök. Vänligen försök igen om :seconds sekunder.',
];

View File

@@ -0,0 +1,26 @@
<?php
/**
* bank.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
];

View File

@@ -0,0 +1,59 @@
<?php
/**
* breadcrumbs.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'home' => 'Hem',
'edit_currency' => 'Redigera valuta ":name"',
'delete_currency' => 'Ta bort valuta ":name"',
'newPiggyBank' => 'Skapa en ny spargris',
'edit_piggyBank' => 'Redigera spargris ”:name”',
'preferences' => 'Inställningar',
'profile' => 'Profil',
'changePassword' => 'Ändra ditt lösenord',
'change_email' => 'Ändra din e-postadress',
'bills' => 'Räkningar',
'newBill' => 'Ny räkning',
'edit_bill' => 'Redigera räkningen ":name"',
'delete_bill' => 'Ta bort räkningen ":name"',
'reports' => 'Rapporter',
'search_result' => 'Sökresultat för ":query"',
'withdrawal_list' => 'Utgifter',
'Withdrawal_list' => 'Utgifter',
'deposit_list' => 'Intäkter, inkomster och insättningar',
'transfer_list' => 'Överföringar',
'transfers_list' => 'Överföringar',
'reconciliation_list' => 'Avstämningar',
'create_withdrawal' => 'Skapa nytt uttag',
'create_deposit' => 'Skapa ny insättning',
'create_transfer' => 'Skapa ny överföring',
'create_new_transaction' => 'Skapa ny transaktion',
'edit_journal' => 'Redigera transaktionen ”:description”',
'edit_reconciliation' => 'Redigera ”:description”',
'delete_journal' => 'Ta bort transaktionen ”:description”',
'tags' => 'Etiketter',
'createTag' => 'Skapa en ny etikett',
'edit_tag' => 'Redigera etiketten ”:tag”',
'delete_tag' => 'Ta bort etiketten ”:tag”',
'delete_journal_link' => 'Ta bort länken mellan transaktioner',
];

View File

@@ -0,0 +1,32 @@
<?php
/**
* components.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
// profile
'personal_access_tokens' => 'Personliga behörighetstokens',
// bills:
'not_expected_period' => 'Ej förväntat denna period',
'not_or_not_yet' => 'Inte (ännu)',
];

View File

@@ -0,0 +1,52 @@
<?php
/**
* config.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'html_language' => 'sv',
'locale' => 'sv, Swedish, sv_SE.utf8, sv_SE.UTF-8',
'month' => '%B %Y',
'month_and_day' => '%e %B, %Y',
'month_and_day_moment_js' => 'MMM D, YYYY',
'month_and_date_day' => '%A, %B %e, %Y',
'month_and_day_no_year' => '%B %e',
'date_time' => '%B %e, %Y,@ %T',
'specific_day' => '%e %B %Y',
'week_in_year' => 'Vecka %W, %Y',
'year' => '%Y',
'half_year' => '%B %Y',
'month_js' => 'MMMM YYYY',
'month_and_day_js' => 'MMMM DD, YYYY',
'date_time_js' => 'MMMM DD YYYY, @ HH:mm:ss',
'specific_day_js' => 'DD MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'dow_1' => 'Måndag',
'dow_2' => 'Tisdag',
'dow_3' => 'Onsdag',
'dow_4' => 'Torsdag',
'dow_5' => 'Fredag',
'dow_6' => 'Lördag',
'dow_7' => 'Söndag',
];

View File

@@ -0,0 +1,26 @@
<?php
/**
* csv.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
];

View File

@@ -0,0 +1,38 @@
<?php
/**
* demo.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'no_demo_text' => 'Tyvärr, finns ingen extra demo-förklaringstext för <abbr title=":route">denna sida</abbr>.',
'see_help_icon' => 'Dock kan <i class="fa fa-question-circle"></i>-ikonen i övre högra hörnet eventuellt förklara mer.',
'index' => 'Välkommen till <strong>Firefly III</strong>! På denna sida får du en snabb överblick över din ekonomi. För mer information, kolla in konton &rarr; <a href=":asset">tillgångskonton</a> och naturligtvis sidorna för <a href=":budgets">budgetar</a> och <a href=":reports">rapporter</a>. Eller så tar du bara en titt runt och ser var du hamnar.',
'accounts-index' => 'Konton är dina personliga bankkonton. Utgiftskonton är konton som du spenderar pengar från, som till butiker och vänner. Intäktskonton är konton som du får pengar till, från till exempel ditt arbete, regeringen eller andra inkomstkällor. Skulder är skulder och lån som till exempel gamla kreditkorts skulder eller studielån. På denna sida kan du redigera eller ta bort dem.',
'budgets-index' => 'Denna sida visar en översikt över din budget. Det översta fältet visar beloppet som är tillgängligt för att budgeteras. Detta kan anpassas för varje period genom att klicka på beloppet till höger. Summan av spenderat belopp visas i fältet nedan. Därunder visas kostnaderna per budgetering och vad du har budgeterat för dem.',
'reports-index-start' => 'Firefly III stödjer ett flertal olika typer av rapportet. Läs om dem genom att klicka på <i class="fa fa-question-circle"></i>-ikonen längst upp till höger.',
'reports-index-examples' => 'Några exempel att titta på: <a href=":one">månadsöverblick</a>, <a href=":two">års-överblick</a> och <a href=":three">budgetöverblick</a>.',
'currencies-index' => 'Firefly III stödjer flera valutor. Standardvaluta är Euro, men kan ändras till US Dollar och många andra valutor. Ett litet urval av valutor har inkluderats och du kan skapa en egen valuta om du så önskar. Att byta standardvaluta ändrar inte valuta på befintliga transaktioner. Firefly III stödjer att man använder flera olika valutor samtidigt.',
'transactions-index' => 'Dessa utgifter, insättningar och överföringar är inte särskilt fantasifulla. De har genererats automatiskt.',
'piggy-banks-index' => 'Som ni ser finns det tre spargrisar. Använd plus- och minus-knapparna för att påverka mängden pengar i varje spargris. Klicka på spargrisens namn för att se administrationen för varje spargris.',
'import-index' => 'Alla CSV-filer kan importeras till Firefly III. Det stöder också import av data från bunq och Specter. Andra banker och finansiella aggregerare kommer att implementeras i framtiden. Som demo-användare kan du dock bara se den "falska" -leverantören i aktion. Det kommer att generera några slumpmässiga transaktioner för att visa hur processen fungerar.',
'profile-index' => 'Tänk på att demosidan återställs var fjärde timme. Din åtkomst kan återkallas när som helst. Detta händer automatiskt och är inte ett fel.',
];

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,262 @@
<?php
/**
* form.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
// new user:
'bank_name' => 'Bankens namn',
'bank_balance' => 'Saldo',
'savings_balance' => 'Sparsaldo',
'credit_card_limit' => 'Kreditkortgräns',
'automatch' => 'Hitta automatiskt',
'skip' => 'Hoppa över',
'enabled' => 'Aktiverad',
'name' => 'Namn',
'active' => 'Aktiv',
'amount_min' => 'Minsta belopp',
'amount_max' => 'Högsta belopp',
'match' => 'Träffar på',
'strict' => 'Strikt läge',
'repeat_freq' => 'Upprepningar',
'update_channel' => 'Uppdateringskanal',
'journal_currency_id' => 'Valuta',
'currency_id' => 'Valuta',
'transaction_currency_id' => 'Valuta',
'external_ip' => 'Din servers externa IP',
'attachments' => 'Bilagor',
'journal_amount' => 'Belopp',
'journal_source_name' => 'Intäktskonto (källa)',
'keep_bill_id' => 'Räkning',
'journal_source_id' => 'Tillgångskonto (källa)',
'BIC' => 'BIC',
'verify_password' => 'Verifiera lösenordssäkerhet',
'source_account' => 'Från konto',
'destination_account' => 'Till konto',
'journal_destination_id' => 'Tillgångskonto (Till)',
'asset_destination_account' => 'Till konto',
'include_net_worth' => 'Inkludera i nettovärde',
'asset_source_account' => 'Källkonto',
'journal_description' => 'Beskrivning',
'note' => 'Anteckningar',
'store_new_transaction' => 'Lagra ny transaktion',
'split_journal' => 'Dela denna transaktion',
'split_journal_explanation' => 'Dela transaktionen i flera delar',
'currency' => 'Valuta',
'account_id' => 'Tillgångskonto',
'budget_id' => 'Budget',
'opening_balance' => 'Ingående balans',
'tagMode' => 'Etikett läge',
'tag_position' => 'Etikett plats',
'virtual_balance' => 'Virtuell balans',
'targetamount' => 'Mål belopp',
'account_role' => 'Konto roll',
'opening_balance_date' => 'Ingående balans datum',
'cc_type' => 'Kreditkort betalning plan',
'cc_monthly_payment_date' => 'Kreditkort månadsbetalnings datum',
'piggy_bank_id' => 'Spargris',
'returnHere' => 'Återgå hit',
'returnHereExplanation' => 'Återkom hit efter att sparat för att lägga till ytterligare.',
'returnHereUpdateExplanation' => 'Återkom hit efter uppdaterat.',
'description' => 'Beskrivning',
'expense_account' => 'Kostnadskonto',
'revenue_account' => 'Intäktskonton',
'decimal_places' => 'Decimaler',
'exchange_rate_instruction' => 'Utländsk valuta',
'source_amount' => 'Summa (källa)',
'destination_amount' => 'Summa (mål)',
'native_amount' => 'Ursprunglig summa',
'new_email_address' => 'Ny e-postadress',
'verification' => 'Verifikation',
'api_key' => 'API-nyckel',
'remember_me' => 'Kom ihåg mig',
'liability_type_id' => 'Skuldstyp',
'interest' => 'Ränta',
'interest_period' => 'Ränteperiod',
'source_account_asset' => 'Källkonto (tillgångskonto)',
'destination_account_expense' => 'Mål konto (utgiftskonto)',
'destination_account_asset' => 'Mål konto (tillgångskonto)',
'source_account_revenue' => 'Källkonto (intäktskonto)',
'type' => 'Typ',
'convert_Withdrawal' => 'Konvertera uttag',
'convert_Deposit' => 'Konvertera insättning',
'convert_Transfer' => 'Konvertera överföring',
'amount' => 'Belopp',
'foreign_amount' => 'Utländskt belopp',
'existing_attachments' => 'Befintliga bilagor',
'date' => 'Datum',
'interest_date' => 'Räntedatum',
'book_date' => 'Bokföringsdatum',
'process_date' => 'Behandlingsdatum',
'category' => 'Kategori',
'tags' => 'Etiketter',
'deletePermanently' => 'Ta bort permanent',
'cancel' => 'Avbryt',
'targetdate' => 'Måldatum',
'startdate' => 'Startdatum',
'tag' => 'Etikett',
'under' => 'Under',
'symbol' => 'Symbol',
'code' => 'Kod',
'iban' => 'IBAN',
'account_number' => 'Kontonummer',
'creditCardNumber' => 'Kreditkortsnummer',
'has_headers' => 'Rubriker',
'date_format' => 'Datumformat',
'specifix' => 'Bank- eller filspecifika fixar',
'attachments[]' => 'Bilagor',
'store_new_withdrawal' => 'Lagra nytt uttag',
'store_new_deposit' => 'Lagra ny insättning',
'store_new_transfer' => 'Lagra ny överföring',
'add_new_withdrawal' => 'Lägg till nytt uttag',
'add_new_deposit' => 'Lägg till ny insättning',
'add_new_transfer' => 'Lägg till ny överföring',
'title' => 'Titel',
'notes' => 'Anteckningar',
'filename' => 'Filnamn',
'mime' => 'MIME-typ',
'size' => 'Storlek',
'trigger' => 'Utlösare',
'stop_processing' => 'Sluta bearbeta',
'start_date' => 'Start område',
'end_date' => 'Slut område',
'include_attachments' => 'Inkludera uppladdade bilagor',
'include_old_uploads' => 'Inkludera importerad data',
'delete_account' => 'Ta bort konto ":name"',
'delete_bill' => 'Ta bort räkning ":name"',
'delete_budget' => 'Ta bort budget ":name"',
'delete_category' => 'Ta bort kategori ":name"',
'delete_currency' => 'Ta bort valuta ":name"',
'delete_journal' => 'Ta bort transaktion med beskrivning ":description"',
'delete_attachment' => 'Ta bort bilaga ":name"',
'delete_rule' => 'Ta bort regel ":title"',
'delete_rule_group' => 'Ta bort regelgrupp ":title"',
'delete_link_type' => 'Ta bort länktyp ":name"',
'delete_user' => 'Ta bort användare ":email"',
'delete_recurring' => 'Ta bort återkommande transaktion ":title"',
'user_areYouSure' => 'Om du tar bort användare ":email", tas allting bort. Det går inte att ångra, återta eller något. Om du tar bort dig själv, tappar du åtkomst till denna installation av Firefly III.',
'attachment_areYouSure' => 'Är du säker du vill ta bort bilagan ":name"?',
'account_areYouSure' => 'Är du säker du vill ta bort kontot ":name"?',
'bill_areYouSure' => 'Är du säker du vill ta bort räkningen ":name"?',
'rule_areYouSure' => 'Är du säker du vill ta bort regeln ":title"?',
'ruleGroup_areYouSure' => 'Är du säker du vill ta bort regelgruppen ":title"?',
'budget_areYouSure' => 'Är du säker du vill ta bort budgeten ":name"?',
'category_areYouSure' => 'Är du säker du vill ta bort kategorin ":name"?',
'recurring_areYouSure' => 'Är du säker du vill ta bort återkommande transaktioner ":title"?',
'currency_areYouSure' => 'Är du säker du vill ta bort valutan ":name"?',
'piggyBank_areYouSure' => 'Är du säker du vill ta bort spargrisen ":name"?',
'journal_areYouSure' => 'Är du säker du vill ta bort transaktionen ":description"?',
'mass_journal_are_you_sure' => 'Är du säker du vill ta bort dessa transaktioner?',
'tag_areYouSure' => 'Är du säker du vill ta bort etiketten ":tag"?',
'journal_link_areYouSure' => 'Är du säker du vill ta bort länken mellan <a href=":source_link">:source</a> och <a href=":destination_link">:destination</a>?',
'linkType_areYouSure' => 'Är du säker du vill ta bort länktypen ":name" (":inward" / ":outward")?',
'permDeleteWarning' => 'Att ta bort saker från Firefly III är permanent och kan inte ångras.',
'mass_make_selection' => 'Du kan fortfarande förhindra saker från att raderas genom att ta bort kryssrutan.',
'delete_all_permanently' => 'Ta bort valt permanent',
'update_all_journals' => 'Uppdatera dessa transaktioner',
'also_delete_transactions' => 'Transaktionen kopplad till detta konto kommer också att tas bort.|Alla :count transaktioner kopplade till detta konto kommer också att tas bort.',
'also_delete_connections' => 'Den transaktion som är länkad med denna länktyp kommer att mista sin koppling.|Alla :count transaktioner länkade med denna länktyp kommer att mista sin koppling.',
'also_delete_rules' => 'Regeln kopplad till denna regelgrupp tas också bort. Alla :count regler kopplade till denna regelgrupp tas också bort.',
'also_delete_piggyBanks' => 'Spargrisen kopplad till detta konto tas också bort.|Alla :count spargrisar kopplade till detta konto kommer också att tas bort.',
'bill_keep_transactions' => 'Transaktionen kopplad till räkningen kommer inte att tas bort.|Alla :count transaktioner kopplade till denna räkning tas inte bort.',
'budget_keep_transactions' => 'Transaktionen kopplad till budgeten kommer att sparas.|Alla :count transaktioner kopplade till budgeten kommer att sparas.',
'category_keep_transactions' => 'Transaktionen kopplad till kategorin kommer att sparas.|Alla :count transaktioner kopplade till kategorin kommer att sparas.',
'recurring_keep_transactions' => 'Transaktionen skapad av denna återkommande transaktion kommer inte tas bort.|Alla :count transaktioner skapade av denna återkommande transaktion undantas borttagning.',
'tag_keep_transactions' => 'Transaktionen kopplad till etiketten kommer inte att tas bort.|Alla :count transaktioner kopplade till etiketten kommer att sparas.',
'check_for_updates' => 'Sök efter uppdateringar',
'email' => 'E-postadress',
'password' => 'Lösenord',
'password_confirmation' => 'Lösenord (igen)',
'blocked' => 'Blockerad?',
'blocked_code' => 'Anledning för blockering',
'login_name' => 'Logga in',
// import
'apply_rules' => 'Tillämpa regler',
'artist' => 'Artist',
'album' => 'Album',
'song' => 'Låt',
// admin
'domain' => 'Domän',
'single_user_mode' => 'Inaktivera användarregistrering',
'is_demo_site' => 'En demo sida',
// import
'import_file' => 'Importera fil',
'configuration_file' => 'Konfigurationsfil',
'import_file_type' => 'Filtyp för import',
'csv_comma' => 'Ett komma (,)',
'csv_semicolon' => 'Ett semikolon (;)',
'csv_tab' => 'Ett tabb (osynligt)',
'csv_delimiter' => 'CSV fältavgränsare',
'csv_import_account' => 'Standardimportkonto',
'csv_config' => 'CSV import konfiguration',
'client_id' => 'Client ID',
'service_secret' => 'Service secret',
'app_secret' => 'App secret',
'app_id' => 'App-ID',
'secret' => 'Hemlig nyckel',
'public_key' => 'Publik nyckel',
'country_code' => 'Landskod',
'provider_code' => 'Bank eller dataleverantör',
'fints_url' => 'FinTS API URL',
'fints_port' => 'Port',
'fints_bank_code' => 'Bankkod',
'fints_username' => 'Användarnamn',
'fints_password' => 'PIN / Lösenord',
'fints_account' => 'FinTS konto',
'local_account' => 'Firefly III konto',
'from_date' => 'Datum från',
'to_date' => 'Datum till',
'due_date' => 'Förfallodatum',
'payment_date' => 'Betalningsdatum',
'invoice_date' => 'Fakturadatum',
'internal_reference' => 'Intern referens',
'inward' => 'Inkommande beskrivning',
'outward' => 'Utgående beskrivning',
'rule_group_id' => 'Regelgrupp',
'transaction_description' => 'Transaktionsbeskrivning',
'first_date' => 'Första datum',
'transaction_type' => 'Transaktionstyp',
'repeat_until' => 'Upprepa tills',
'recurring_description' => 'Återkommande transaktionsbeskrivning',
'repetition_type' => 'Typ av upprepning',
'foreign_currency_id' => 'Utländsk valuta',
'repetition_end' => 'Upprepning avslutas',
'repetitions' => 'Upprepningar',
'calendar' => 'Kalender',
'weekend' => 'Helg',
'client_secret' => 'Klient-hemlighet',
'withdrawal_destination_id' => 'Destinationskonto',
'deposit_source_id' => 'Källkonto',
'expected_on' => 'Förväntad',
'paid' => 'Betald',
];

View File

@@ -0,0 +1,316 @@
<?php
/**
* import.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
// ALL breadcrumbs and subtitles:
'index_breadcrumb' => 'Importera data till Firefly III',
'prerequisites_breadcrumb_fake' => 'Förutsättningar för den fejkade importleverantören',
'prerequisites_breadcrumb_spectre' => 'Förutsättningar för Spectre',
'prerequisites_breadcrumb_bunq' => 'Förutsättningar för bunq',
'prerequisites_breadcrumb_ynab' => 'Förutsättningar för YNAB',
'job_configuration_breadcrumb' => 'Konfiguration för ":key"',
'job_status_breadcrumb' => 'Importstatus för ":key"',
'disabled_for_demo_user' => 'inaktiverad i demo',
// index page:
'general_index_intro' => 'Välkommen till importrutinen i Firefly III. Knapparna visar de olika sätten att importera data till Firefly III.',
// import provider strings (index):
'button_fake' => 'Fejka en import',
'button_file' => 'Importera en fil',
'button_bunq' => 'Importera från bunq',
'button_spectre' => 'Importera med Spectre',
'button_plaid' => 'Importera med Plaid',
'button_yodlee' => 'Importera med Yodlee',
'button_quovo' => 'Importera med Quovo',
'button_ynab' => 'Importera från You Need A Budget',
'button_fints' => 'Importera med FinTS',
// prerequisites box (index)
'need_prereq_title' => 'Importkrav',
'need_prereq_intro' => 'Vissa importmetoder behöver konfigureras innan de kan användas. De kan till exempel kräva speciella API-nycklar eller applikationshemligheter. Du kan konfigurera dem här. Ikonen indikerar om dessa förutsättningar har uppfyllts.',
'do_prereq_fake' => 'Förutsättningar för den fejkade leverantören',
'do_prereq_file' => 'Förutsättningar för filimport',
'do_prereq_bunq' => 'Förutsättningar för import från bunq',
'do_prereq_spectre' => 'Förutsättningar för import med Spectre',
'do_prereq_plaid' => 'Förutsättningar för import med Plaid',
'do_prereq_yodlee' => 'Förutsättningar för import med Yodlee',
'do_prereq_quovo' => 'Förutsättningar för import med Quovo',
'do_prereq_ynab' => 'Förutsättningar för import från YNAB',
// prerequisites:
'prereq_fake_title' => 'Förutsättningar för import från den fejkade importleverantören',
'prereq_fake_text' => 'Den fejkade leverantören kräver en fejkad API-nyckel. Den måste vara 32 tecken lång. Du kan använda den här: 123456789012345678901234567890AA',
'prereq_spectre_title' => 'Förutsättningar för import med Spectre API',
'prereq_spectre_text' => 'För att importera data med Spectre API (v4) krävs två hemliga värden. Dessa kan hittas på <a href="https://www.saltedge.com/clients/profile/secrets">sidan för hemligheter</a>.',
'prereq_spectre_pub' => 'Spectre API kräver även den pubilka nyckeln som syns nedan. Utan den kommer den inte att känna igen dig. Ange den publika nyckeln på din <a href="https://www.saltedge.com/clients/profile/secrets">secrets page</a>.',
'prereq_bunq_title' => 'Förutsättningar för import från bunq',
'prereq_bunq_text' => 'För att importera från bunq krävs en API-nyckel. Du kan göra detta genom appen. Var uppmärksam på att importfunktionen i bunq är i BETA. Den har endast blivit testad mot sandbox API.',
'prereq_bunq_ip' => 'bunq kräver din publika IP-adress. Firefly III har försökt fylla i den med hjälp av <a href="https://www.ipify.org/">ipify-tjänsten</a>. Kontrollera att denna IP-adress är korrekt, annars kommer importen att misslyckas.',
'prereq_ynab_title' => 'Förutsättningar för import från YNAB',
'prereq_ynab_text' => 'För att kunna ladda ner transaktioner från YNAB, skapa en ny applikation på <a href="https://app.youneedabudget.com/settings/developer">Developer Settings Page</a> och mata in klient-ID och hemlighet på den här sidan.',
'prereq_ynab_redirect' => 'För att slutföra konfigurationen, ange följande URL under <a href="https://app.youneedabudget.com/settings/developer">Utvecklar Inställningar sidan</a> under "Omdirigera URI(er).',
'callback_not_tls' => 'Firefly III har detekterat följande callback URI. Det verkar som din server inte är uppsatt att acceptera TLS-anslutningar (https). YNAB accepterar inte denna URI. Du kan fortsätta importen (för Firefly III kan ha fel) men ha detta i åtanke.',
// prerequisites success messages:
'prerequisites_saved_for_fake' => 'Lyckades spara falsk API nyckel!',
'prerequisites_saved_for_spectre' => 'App ID och hemlighet lagrad!',
'prerequisites_saved_for_bunq' => 'API nyckel och IP lagrad!',
'prerequisites_saved_for_ynab' => 'YNAB klient ID och hemlighet lagrad!',
// job configuration:
'job_config_apply_rules_title' => 'Jobbkonfiguration - applicera dina regler?',
'job_config_apply_rules_text' => 'När den falska leverantören har körts, kommer dina reglar att appliceras på transaktionerna. Detta lägger på tid på importen.',
'job_config_input' => 'Din data',
// job configuration for the fake provider:
'job_config_fake_artist_title' => 'Ange album namn',
'job_config_fake_artist_text' => 'Många importrutiner har några konfigurationssteg som måste gås genom. I fallet med fejk importhanteraren, så måste du svara några konstiga fråga. Som i detta fall, ange "David Bowie" för att fortsätta.',
'job_config_fake_song_title' => 'Ange låtnamn',
'job_config_fake_song_text' => 'Nämn låten "Golden years" för att fortsätta med fejkade importen.',
'job_config_fake_album_title' => 'Ange album namn',
'job_config_fake_album_text' => 'Vissa importrutiner behöver extra information halvvägs genom importen. I fallet med fejk importhanteraren, så måste du svara några konstiga fråga. Ange "Station to station" för att fortsätta.',
// job configuration form the file provider
'job_config_file_upload_title' => 'Importinställningar (1/4) - Ladda upp fil',
'job_config_file_upload_text' => 'Denna rutin hjälper till att importera filer från din bank och till Firefly III. ',
'job_config_file_upload_help' => 'Välj din fil. Säkerställ att filen är UTF-8 kodad.',
'job_config_file_upload_config_help' => 'Om du tidigare har importerat data till Firefly III, kan du ha en konfigurationsfil, vilken sätter vissa konfigurationsvärden åt dig. För vissa banker behöver användare ange deras <a href="https://github.com/firefly-iii/import-configurations/wiki">konfigurationsfil</a>',
'job_config_file_upload_type_help' => 'Välj typ av fil som ska laddas upp',
'job_config_file_upload_submit' => 'Ladde upp filer',
'import_file_type_csv' => 'CSV (kommaseparerade värden)',
'import_file_type_ofx' => 'OFX',
'file_not_utf8' => 'Filen du valde är inte kodad med UTF-8 eller ASCII. Firefly III kan inte hantera sådana filer. Vänligen använd Notepad++ eller Sublime för att konvertera den till UTF-8.',
'job_config_uc_title' => 'Importeringsinställning (2/4) - Standard filinställningar',
'job_config_uc_text' => 'För att importera filer korrekt, vänligen verifiera valen nedan.',
'job_config_uc_header_help' => 'Kryssa i denna ruta om första raden i din CSV är kolumntitlar.',
'job_config_uc_date_help' => 'Datum, tidformat i er fil. Följ formatet som <a href="https://secure.php.net/manual/en/datetime.createfromformat.php#refsect1-datetime.createfromformat-parameters">denna sida</a> beskriver. Som standard tolkas datum på följande sätt :dateExample.',
'job_config_uc_delimiter_help' => 'Välj fältavgränsare som används i inmatningsfilen. Om osäker, är komma det bästa valet.',
'job_config_uc_account_help' => 'Om filen INTE innehåller information om tillgångskont(on), använd denna rullgardinsmeny för att välja vilket konto transaktionerna i filen tillhör.',
'job_config_uc_apply_rules_title' => 'Tillämpa regler',
'job_config_uc_apply_rules_text' => 'Tillämpar dina reglar på alla importerade transaktioner. Notera att detta saktar ner importen betydligt.',
'job_config_uc_specifics_title' => 'Bankspecifika alternativ',
'job_config_uc_specifics_txt' => 'Vissa banker leverar dåligt formaterade filer. Firefly III kan laga dessa automatiskt. Om din bank levererar sådana filer men inte listas här, öppna ett ärende på GitHub.',
'job_config_uc_submit' => 'Fortsätt',
'invalid_import_account' => 'Ogiltigt konto att importera till.',
'import_liability_select' => 'Skyldighet',
// job configuration for Spectre:
'job_config_spectre_login_title' => 'Välj inloggningstyp',
'job_config_spectre_login_text' => 'Firefly III har funnit :count befintliga inloggning(ar) på ditt nuvarande Spectre konto. Vilken vill du använda för import ifrån?',
'spectre_login_status_active' => 'Aktiv',
'spectre_login_status_inactive' => 'Inaktiv',
'spectre_login_status_disabled' => 'Inaktiverad',
'spectre_login_new_login' => 'Logga in med en annan bank eller någon av dessa banker med olika referenser.',
'job_config_spectre_accounts_title' => 'Välj konton att importera från',
'job_config_spectre_accounts_text' => 'Du har valt ":name" (:country). Det finns :count konto(n) tillgängliga från denna leverantör. Vänligen välj de Firefly III tillgångskonto(n) som transaktionerna för dessa konton ska sparas. Kom ihåg, för att importera data både från Firefly III konto och ":name"-konto måste båda vara i samma valuta.',
'spectre_do_not_import' => '(importera ej)',
'spectre_no_mapping' => 'Det verkar som att du ej valt något konto att importera från.',
'imported_from_account' => 'Importerat från ":account"',
'spectre_account_with_number' => 'Konto :number',
'job_config_spectre_apply_rules' => 'Tillämpa regler',
'job_config_spectre_apply_rules_text' => 'Som standard kan dina regler tillämpas på transaktioner skapade under denna importrutin. Om du inte vill att detta ska ske, kryssa ur denna ruta.',
// job configuration for bunq:
'job_config_bunq_accounts_title' => 'bunq konton',
'job_config_bunq_accounts_text' => 'Dessa konton är associerade med ditt bunq konto. Vänligen välj de konton du vill importera, samt till vilket konto transaktionen ska importeras till.',
'bunq_no_mapping' => 'Det verkar som att du ej valt något konton.',
'should_download_config' => 'Du bör ladda ner <a href=":route">konfigurationsfilen</a> för detta jobb. Det gör framtida importer enklare.',
'share_config_file' => 'Om du har importerat data från en offentlig bank bör du <a href="https://github.com/firefly-iii/import-configurations/wiki">dela din konfigurationsfil</a> så att det blir lätt för andra användare att importera sina data. Att dela din konfigurationsfil avslöjar inte dina finansiella detaljer.',
'job_config_bunq_apply_rules' => 'Tillämpa regler',
'job_config_bunq_apply_rules_text' => 'Som standard kan dina regler tillämpas på transaktioner skapade under denna importrutin. Om du inte vill att detta ska ske, kryssa ur denna ruta.',
'bunq_savings_goal' => 'Besparingsmål: :amount (:percentage%)',
'bunq_account_status_CANCELLED' => 'Avslutat bunqkonto',
'ynab_account_closed' => 'Konto är stängt!',
'ynab_account_deleted' => 'Konto är borttaget!',
'ynab_account_type_savings' => 'sparkonto',
'ynab_account_type_checking' => 'checkkonto',
'ynab_account_type_cash' => 'kontant konto',
'ynab_account_type_creditCard' => 'kreditkort',
'ynab_account_type_lineOfCredit' => 'kredit',
'ynab_account_type_otherAsset' => 'övriga tillgångskonton',
'ynab_account_type_otherLiability' => 'övriga skulder',
'ynab_account_type_payPal' => 'Paypal',
'ynab_account_type_merchantAccount' => 'säljarkonto',
'ynab_account_type_investmentAccount' => 'investeringskonto',
'ynab_account_type_mortgage' => 'bolån',
'ynab_do_not_import' => '(importera ej)',
'job_config_ynab_apply_rules' => 'Tillämpa regler',
'job_config_ynab_apply_rules_text' => 'Som standard kan dina regler tillämpas på transaktioner skapade under denna importrutin. Om du inte vill att detta ska ske, kryssa ur denna ruta.',
// job configuration for YNAB:
'job_config_ynab_select_budgets' => 'Välj din budget',
'job_config_ynab_select_budgets_text' => 'Du har :count budgetar sparade hos YNAB. Vänligen välj den från vilken Firefly III ska importera transaktioner från.',
'job_config_ynab_no_budgets' => 'Inga budgetar tillgängliga att importera från.',
'ynab_no_mapping' => 'Det verkar som att du ej valt något konto att importera från.',
'job_config_ynab_bad_currency' => 'Kan ej importera från följande budget(ar), eftersom det saknas konton med samma valuta som dessa budgetar.',
'job_config_ynab_accounts_title' => 'Välj konto',
'job_config_ynab_accounts_text' => 'Följande konton är tillgängliga för denna budget. Välj från vilket konto du vill importera, och vart transaktionerna ska lagras.',
// keys from "extra" array:
'spectre_extra_key_iban' => 'IBAN',
'spectre_extra_key_swift' => 'SWIFT',
'spectre_extra_key_status' => 'Status',
'spectre_extra_key_card_type' => 'Korttyp',
'spectre_extra_key_account_name' => 'Kontonamn',
'spectre_extra_key_client_name' => 'Klientnamn',
'spectre_extra_key_account_number' => 'Kontonummer',
'spectre_extra_key_blocked_amount' => 'Blockerat belopp',
'spectre_extra_key_available_amount' => 'Tillgängligt belopp',
'spectre_extra_key_credit_limit' => 'Kreditgräns',
'spectre_extra_key_interest_rate' => 'Räntesats',
'spectre_extra_key_expiry_date' => 'Förfallodatum',
'spectre_extra_key_open_date' => 'Öppningsdatum',
'spectre_extra_key_current_time' => 'Aktuell tid',
'spectre_extra_key_current_date' => 'Aktuellt datum',
'spectre_extra_key_cards' => 'Kort',
'spectre_extra_key_units' => 'Enheter',
'spectre_extra_key_unit_price' => 'Enhetspris',
'spectre_extra_key_transactions_count' => 'Antal transaktioner',
//job configuration for finTS
'fints_connection_failed' => 'Ett fel uppstod vid försök att ansluta till din bank. Säkerställ att all data angiven är korrekt. Ursprungligt felmeddelande :originalError',
'job_config_fints_url_help' => 'Ex. https://banking-dkb.s-fints-pt-dkb.de/fints30',
'job_config_fints_username_help' => 'För många banker är detta ditt kontonummer.',
'job_config_fints_port_help' => 'Standardport är 443.',
'job_config_fints_account_help' => 'Välj bankkonto du vill importera transaktioner till.',
'job_config_local_account_help' => 'Välj Firefly III konto motsvarande ditt bankkonto valt ovan.',
// specifics:
'specific_ing_name' => 'ING NL',
'specific_ing_descr' => 'Skapa bättre beskrivningar under ING exporter',
'specific_sns_name' => 'SNS / Volksbank NL',
'specific_sns_descr' => 'Filtrera SNS / Volksbank exportfiler',
'specific_abn_name' => 'ABN AMRO NL',
'specific_abn_descr' => 'Lagar potentiella problem med ABN AMRO filer',
'specific_rabo_name' => 'Rabobank NL',
'specific_rabo_descr' => 'Lagar potentiella problem med Rabobank filer',
'specific_pres_name' => 'President\'s Choice Financial CA',
'specific_pres_descr' => 'Lagar potentiella problem med PC filer',
'specific_belfius_name' => 'Belfius BE',
'specific_belfius_descr' => 'Lagar potentiella problem med Belfius filer',
'specific_ingbelgium_name' => 'ING BE',
'specific_ingbelgium_descr' => 'Lagar potentiella problem med ING Belgium filer',
// job configuration for file provider (stage: roles)
'job_config_roles_title' => 'Importinställningar (3 / 4) - Definiera varje kolumns regel',
'job_config_roles_text' => 'Varje kolumn i din CSV-fil innehåller specifik data. Vänligen ange vilken typ av data importören ska förvänta sig. Valet "mappa" data betyder att du kan länka varje post funnen i kolumnen till ett värde i din databas. En vanligt mappad kolumn är den som innehåller IBAN på för motsvarande konto. Detta kan enkelt matchas mot IBANs nuvarande närvarande i din databas.',
'job_config_roles_submit' => 'Fortsätt',
'job_config_roles_column_name' => 'Namn på kolumn',
'job_config_roles_column_example' => 'Dataexempel i kolumn',
'job_config_roles_column_role' => 'Kolumn data betydelse',
'job_config_roles_do_map_value' => 'Kartlägg dessa värden',
'job_config_roles_no_example' => 'Exempeldata saknas',
'job_config_roles_fa_warning' => 'Om du markerar en kolumn som innehåller värden i utländskvaluta, så måste du ange en kolumn som innehåller vilken valuta det är.',
'job_config_roles_rwarning' => 'Markera åtminstone en kolumn som summakolumn. Det är också rekommenderat att välja en kolumn för beskrivning, datum och motsvarande konto.',
'job_config_roles_colum_count' => 'Kolumn',
// job config for the file provider (stage: mapping):
'job_config_map_title' => 'Importinställningar (4 / 4) - Anslut importdata till Firefly III data',
'job_config_map_text' => 'I följande tabeller, visar värdena till vänster information som finns i den uppladdade filen. Det är upp till dig att kartlägga dessa värden, om möjligt till värden som finns i din databas. Firefly försöker hålla sig till detta. Om det saknas värden, eller om inte önskar att koppla mot specifika värden, behöver inget väljas.',
'job_config_map_nothing' => 'Data saknas i fil för att kartlägga mot existerande värden. Tryck "Starta importen" för att fortsätta.',
'job_config_field_value' => 'Fältvärde',
'job_config_field_mapped' => 'Mappad mot',
'map_do_not_map' => '(kartlägg inte)',
'job_config_map_submit' => 'Starta importen',
// import status page:
'import_with_key' => 'Importera med nyckel \':key\'',
'status_wait_title' => 'Vänligen vänta...',
'status_wait_text' => 'Denna ruta försvinner om en stund.',
'status_running_title' => 'Importen körs',
'status_job_running' => 'Vänligen vänta. kör import...',
'status_job_storing' => 'Vänligen vänta, lagrar data...',
'status_job_rules' => 'Vänligen vänta, regler körs...',
'status_fatal_title' => 'Kritiskt fel',
'status_fatal_text' => 'Importen utsattes för ett fel den inte kunde återhämta ifrån. Ursäkta!',
'status_fatal_more' => 'Detta (möjligen kryptiska) felmeddelande komplementeras i loggfilerna, som du kan finna på din hårddisk, eller i Docker behållaren där Firefly III körs ifrån.',
'status_finished_title' => 'Import slutförd',
'status_finished_text' => 'Importen har slutförts.',
'finished_with_errors' => 'Det fanns några fel vid importen. Gå genom dem noggrant.',
'unknown_import_result' => 'Okänt importresultat',
'result_no_transactions' => 'Inga transaktioner har importerats. Kan det var dubbletter eller så fanns det inga transaktioner att importera. Kanske loggfilerna kan berätta vad som hände. Om du importerar data regelbundet, kan det vara normalt.',
'result_one_transaction' => 'En transaktion har importerats. Den lagras under etiktten <a href=":route" class="label label-success" style="font-size:100%;font-weight:normal;">:tag</a> där du kan inspektera den närmare.',
'result_many_transactions' => 'Firefly III har importerat :count transaktioner. De lagras under etiketten <a href=":route" class="label label-success" style="font-size:100%;font-weight:normal;">:tag</a> där de kan inspekteras närmare.',
// general errors and warnings:
'bad_job_status' => 'För åtkomst till denna sida, kan importjobbet inte ha status ":status".',
// column roles for CSV import:
'column__ignore' => '(ignorera denna kolumn)',
'column_account-iban' => 'Tillgångskonto (IBAN)',
'column_account-id' => 'Tillgångskonto ID (matchar FF3)',
'column_account-name' => 'Tillgångskonto (namn)',
'column_account-bic' => 'Tillgångskonto (BIC)',
'column_amount' => 'Belopp',
'column_amount_foreign' => 'Belopp (utländsk valuta)',
'column_amount_debit' => 'Belopp (debetkolumn)',
'column_amount_credit' => 'Belopp (kreditkolumn)',
'column_amount_negated' => 'Belopp (negativ kolumn)',
'column_amount-comma-separated' => 'Belopp (komma som decimalavgränsare)',
'column_bill-id' => 'Räkning ID (matchar FF3)',
'column_bill-name' => 'Räkningnamn',
'column_budget-id' => 'Budget ID (matchar FF3)',
'column_budget-name' => 'Budgetnamn',
'column_category-id' => 'Kategori ID (matchar FF3)',
'column_category-name' => 'Kategorinamn',
'column_currency-code' => 'Valutakod (ISO 4217)',
'column_foreign-currency-code' => 'Utländsk valutakod (ISO 4217)',
'column_currency-id' => 'Valuta ID (matchar FF3)',
'column_currency-name' => 'Valutanamn (matchar FF3)',
'column_currency-symbol' => 'Valutasymbol (matchar FF3)',
'column_date-interest' => 'Ränteberäkningsdatum',
'column_date-book' => 'Transaktionsbokningsdatum',
'column_date-process' => 'Transaktionsprocessdatum',
'column_date-transaction' => 'Datum',
'column_date-due' => 'Transaktionsdatum',
'column_date-payment' => 'Transaktionsbetalningsdatum',
'column_date-invoice' => 'Transaktionsfakturadatum',
'column_description' => 'Beskrivning',
'column_opposing-iban' => 'Motsatt konto (IBAN)',
'column_opposing-bic' => 'Motsatt konto (BIC)',
'column_opposing-id' => 'Motsatt konto ID (matchar FF3)',
'column_external-id' => 'Externt ID',
'column_opposing-name' => 'Motsatt konto (namn)',
'column_rabo-debit-credit' => 'Rabobank specifik debet/kreditindikator',
'column_ing-debit-credit' => 'ING specifik debet/kreditindikator',
'column_generic-debit-credit' => 'Generisk bank debet/kreditindikator',
'column_sepa_ct_id' => 'SEPA End to End-identifierare',
'column_sepa_ct_op' => 'SEPA Motståndskontonidentifierare',
'column_sepa_db' => 'SEPA Mandatidentifierare',
'column_sepa_cc' => 'SEPA Clearingkod',
'column_sepa_ci' => 'SEPA Borgenär-identifierare',
'column_sepa_ep' => 'SEPA Externt syfte',
'column_sepa_country' => 'SEPA Landskod',
'column_sepa_batch_id' => 'SEPA Batch-ID',
'column_tags-comma' => 'Etiketter (kommaseparerad)',
'column_tags-space' => 'Etiketter (mellanrum separerad)',
'column_account-number' => 'Tillgångskonto (kontonummer)',
'column_opposing-number' => 'Motsatt konto (kontonummer)',
'column_note' => 'Anteckning(ar)',
'column_internal-reference' => 'Intern referens',
// error message
'duplicate_row' => 'Rad #:row (":description") kunde inte importeras. Finns redan.',
];

View File

@@ -0,0 +1,160 @@
<?php
/**
* intro.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
// index
'index_intro' => 'Välkommen till index sidan för Firefly III. Vänligen ta lite tid för att gå genom introt och kunna få en känsla hur Firefly III fungerar.',
'index_accounts-chart' => 'Detta diagram visar nuvarande balans på dina tillgångskonton. Det går att välja vilka konton som ses här under inställningarna.',
'index_box_out_holder' => 'Den här lilla rutan och rutorna bredvid ger dig en snabb överblick över din ekonomiska situation.',
'index_help' => 'Om du någonsin behöver hjälp med en sida eller ett formulär, tryck på den här knappen.',
'index_outro' => 'De flesta sidor av Firefly III börjar med en lite rundtur som denna. Kontakta mig om det finns några frågor eller kommentarer. Lycka till!',
'index_sidebar-toggle' => 'För att skapa nya transaktioner, konton eller andra saker, använd menyn under den här ikonen.',
'index_cash_account' => 'Dessa är de konton som skapats hittills. Använd kontantkonto för att spåra kontantutgifter men det är naturligtvis inte obligatoriskt.',
// transactions (withdrawal)
'transactions_create_withdrawal_source' => 'Välj ditt favorit tillgång eller skuldkonto från rullgardinsmenyn.',
'transactions_create_withdrawal_destination' => 'Välj skuldkonto här. Lämna tomt om det är ett kontantuttag.',
'transactions_create_withdrawal_foreign_currency' => 'Använd detta fält för utländsk valuta och summa.',
'transactions_create_withdrawal_more_meta' => 'Massor av andra metadata som kan anges i dessa fält.',
'transactions_create_withdrawal_split_add' => 'Om du vill dela en transaktion, lägg till fler delar via denna knapp',
// transactions (deposit)
'transactions_create_deposit_source' => 'Välj eller skriv mottagare i denna auto-ifyllnads rullgardin/textrutan. Lämna tom om det är en kontant insättning.',
'transactions_create_deposit_destination' => 'Välj ett tillgång- eller belastningskonto här.',
'transactions_create_deposit_foreign_currency' => 'Använd detta fält för utländsk valuta och summa.',
'transactions_create_deposit_more_meta' => 'Massor av olika metadata kan anges i dessa fält.',
'transactions_create_deposit_split_add' => 'Om du vill dela en transaktion, lägg till fler delar via denna knapp',
// transactions (transfer)
'transactions_create_transfer_source' => 'Välj källtillgångskontot här.',
'transactions_create_transfer_destination' => 'Välj destinationstillgångskontot här.',
'transactions_create_transfer_foreign_currency' => 'Använd detta fält för utländsk valuta och summa.',
'transactions_create_transfer_more_meta' => 'Massor av olika metadata kan anges i dessa fält.',
'transactions_create_transfer_split_add' => 'Om du vill dela en transaktion, lägg till fler delar via denna knapp',
// create account:
'accounts_create_iban' => 'Ge dina konton giltig IBAN. Detta kan förenkla för dataimport i framtiden.',
'accounts_create_asset_opening_balance' => 'Tillgångskonton kan ha en "öppningsbalans", vilket indikerar början på det här kontoets historia i Firefly III.',
'accounts_create_asset_currency' => 'Firefly III stöder flera valutor. Tillgångskonton har en huvudvaluta, som du måste ställa in här.',
'accounts_create_asset_virtual' => 'Ibland kan det hjälpa att ge ditt konto ett virtuell saldo: ett extra belopp som alltid läggs till eller tas bort från ditt faktiska saldo.',
// budgets index
'budgets_index_intro' => 'Budgetar används för att hantera din ekonomi och utgör en av kärnfunktionerna i Firefly III.',
'budgets_index_set_budget' => 'Ställ in din totala budget för varje period så att Firefly III kan berätta om du har budgeterat alla tillgängliga pengar.',
'budgets_index_see_expenses_bar' => 'Att spendera pengar kommer långsamt att fylla det här fältet.',
'budgets_index_navigate_periods' => 'Navigera genom perioder för att enkelt kunna sätta budgetar i god tid.',
'budgets_index_new_budget' => 'Skapa en ny budget som du tycker passar.',
'budgets_index_list_of_budgets' => 'Använd denna tabell för att ställa in beloppen för varje budget och se hur det står till.',
'budgets_index_outro' => 'För att lära dig mer om budgetering, kolla in hjälpikonen i det övre högra hörnet.',
// reports (index)
'reports_index_intro' => 'Använd dessa rapporter för att få detaljerad insikt i din ekonomi.',
'reports_index_inputReportType' => 'Välj en rapporttyp. Se hjälpsidorna för att se vad varje rapport visar.',
'reports_index_inputAccountsSelect' => 'Det går att exkluder eller inkludera tillgångskonton som du tycker passar.',
'reports_index_inputDateRange' => 'Valt datumintervall är helt upp till dig: från en dag till 10 år.',
'reports_index_extra-options-box' => 'Beroende på vilken rapport du har valt kan du välja extra filter och alternativ här. Se den här rutan när du ändrar rapporttyper.',
// reports (reports)
'reports_report_default_intro' => 'Denna rapport ger dig en snabb och omfattande översikt över din ekonomi. Om du vill se något annat, vänligen snälla inte kontakta mig!',
'reports_report_audit_intro' => 'Denna rapport ger dig detaljerad insikt i dina tillgångskonton.',
'reports_report_audit_optionsBox' => 'Använd dessa kryssrutor för att visa eller dölja de kolumner du är intresserad av.',
'reports_report_category_intro' => 'Denna rapport ger dig inblick i en eller flera kategorier.',
'reports_report_category_pieCharts' => 'Dessa diagram ger dig inblick i utgifter och inkomst per kategori eller per konto.',
'reports_report_category_incomeAndExpensesChart' => 'Detta diagram visar dina utgifter och inkomst per kategori.',
'reports_report_tag_intro' => 'Denna rapport ger dig inblick i en eller flera taggar.',
'reports_report_tag_pieCharts' => 'Dessa diagram ger dig inblick i utgifter och inkomst per tagg, konto, kategori eller budget.',
'reports_report_tag_incomeAndExpensesChart' => 'Detta diagram visar dina utgifter och inkomst per etikett.',
'reports_report_budget_intro' => 'Denna rapport ger dig inblick i en eller flera budgetar.',
'reports_report_budget_pieCharts' => 'Dessa diagram ger dig inblick i utgifter per budget eller per konto.',
'reports_report_budget_incomeAndExpensesChart' => 'Detta diagram visar dina utgifter per budget.',
// create transaction
'transactions_create_switch_box' => 'Använd dessa knappar för att snabbt växla vilken typ av transaktion du vill spara.',
'transactions_create_ffInput_category' => 'Du kan skriva fritt i det här fältet. Tidigare skapade kategorier kommer att föreslås.',
'transactions_create_withdrawal_ffInput_budget' => 'Länka ditt uttag till en budget för bättre ekonomisk kontroll.',
'transactions_create_withdrawal_currency_dropdown_amount' => 'Använd den här listrutan när ditt uttag är i en annan valuta.',
'transactions_create_deposit_currency_dropdown_amount' => 'Använd den här listrutan när din insättning är i en annan valuta.',
'transactions_create_transfer_ffInput_piggy_bank_id' => 'Välj en spargris och länka denna överföring till dina besparingar.',
// piggy banks index:
'piggy-banks_index_saved' => 'Det här fältet visar hur mycket du har sparat i varje spargris.',
'piggy-banks_index_button' => 'Bredvid framstegsfältet finns två knappar (+ och -) för att lägga till eller ta bort pengar från varje spargris.',
'piggy-banks_index_accountStatus' => 'För varje tillgångskonto med minst en spargris listas status i denna tabell.',
// create piggy
'piggy-banks_create_name' => 'Vad är ditt mål? En ny soffa, en kamera, pengar för nödsituationer?',
'piggy-banks_create_date' => 'Du kan ställa in ett måldatum eller en tidsfrist för din spargris.',
// show piggy
'piggy-banks_show_piggyChart' => 'Detta diagram visar historiken för denna spargris.',
'piggy-banks_show_piggyDetails' => 'Information om din spargris',
'piggy-banks_show_piggyEvents' => 'Eventuella tillägg eller borttagningar listas också här.',
// bill index
'bills_index_rules' => 'Här ser du vilka regler kontrollerar om denna räkning har träffats',
'bills_index_paid_in_period' => 'Det här fältet anger när räkningen betalades.',
'bills_index_expected_in_period' => 'Detta fält anger för varje faktura om och när nästa räkning förväntas komma.',
// show bill
'bills_show_billInfo' => 'Den här tabellen visar allmän information om denna räkning.',
'bills_show_billButtons' => 'Använd den här knappen för att skanna om gamla transaktioner så att de kommer att matchas med den här räkningen.',
'bills_show_billChart' => 'Detta diagram visar transaktionerna kopplade till denna räkning.',
// create bill
'bills_create_intro' => 'Använd räkningar för att följa hur mycket pengar du spenderar varje period. Tänk på utgifter som hyror, försäkringar eller låneränter.',
'bills_create_name' => 'Använd ett beskrivande namn som "Hyra" eller "Sjukförsäkring".',
//'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.',
'bills_create_amount_min_holder' => 'Välj ett lägsta och högsta belopp för denna räkning.',
'bills_create_repeat_freq_holder' => 'De flesta räkningar upprepas varje månad, men du kan ställa in en annan frekvens här.',
'bills_create_skip_holder' => 'Om en räkning upprepas varannan vecka bör fältet "hoppa över" ställas in på "1" för att hoppa över varannan vecka.',
// rules index
'rules_index_intro' => 'Med Firefly III kan du hantera regler som automatiskt tillämpas på alla transaktioner du skapar eller redigerar.',
'rules_index_new_rule_group' => 'Du kan kombinera regler i grupper för enklare hantering.',
'rules_index_new_rule' => 'Skapa så många regler du vill.',
'rules_index_prio_buttons' => 'Sortera dem som du vill.',
'rules_index_test_buttons' => 'Du kan testa dina regler eller tillämpa dem på befintliga transaktioner.',
'rules_index_rule-triggers' => 'Regler har "utlösare" och "åtgärder" som du kan sortera genom att dra och släppa.',
'rules_index_outro' => 'Var noga med att kolla in hjälpsidorna med hjälp av ikonen (?) Längst upp till höger!',
// create rule:
'rules_create_mandatory' => 'Välj en beskrivande titel och ställ in när regeln ska avfyras.',
'rules_create_ruletriggerholder' => 'Lägg till så många utlösare som du vill, men kom ihåg att ALLA utlösare måste matcha innan några handlingar körs.',
'rules_create_test_rule_triggers' => 'Använd den här knappen för att se vilka transaktioner som matchar din regel.',
'rules_create_actions' => 'Ställ in så många åtgärder du vill.',
// preferences
'preferences_index_tabs' => 'Fler alternativ finns bakom dessa flikar.',
// currencies
'currencies_index_intro' => 'Firefly III stöder flera valutor, som du kan ändra på den här sidan.',
'currencies_index_default' => 'Firefly III har en standardvaluta.',
'currencies_index_buttons' => 'Använd dessa knappar för att ändra standardvaluta eller aktivera andra valutor.',
// create currency
'currencies_create_code' => 'Den här koden ska vara ISO-kompatibel (Google den för din nya valuta).',
];

View File

@@ -0,0 +1,139 @@
<?php
/**
* list.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'buttons' => 'Knappar',
'icon' => 'Ikon',
'id' => 'ID',
'create_date' => 'Skapad den',
'update_date' => 'Uppdaterad den',
'updated_at' => 'Uppdaterad den',
'balance_before' => 'Saldo före',
'balance_after' => 'Saldo efter',
'name' => 'Namn',
'role' => 'Roll',
'currentBalance' => 'Nuvarande saldo',
'linked_to_rules' => 'Relevanta regler',
'active' => 'Är aktiv?',
'percentage' => 'procent',
'next_due' => 'Nästa förfallodag',
'transaction_type' => 'Typ',
'lastActivity' => 'Senaste aktivitet',
'balanceDiff' => 'Saldodifferens',
'matchesOn' => 'Matchad',
'other_meta_data' => 'Övrigt metadata',
'account_type' => 'Kontotyp',
'created_at' => 'Skapad den',
'account' => 'Konto',
'matchingAmount' => 'Belopp',
'split_number' => 'Dela #',
'destination' => 'Destination',
'source' => 'Källa',
'next_expected_match' => 'Nästa förväntade träff',
'automatch' => 'Automatisk matchning?',
'repeat_freq' => 'Upprepas',
'description' => 'Beskrivning',
'amount' => 'Belopp',
'internal_reference' => 'Intern referens',
'date' => 'Datum',
'interest_date' => 'Räntedatum',
'book_date' => 'Bokföringsdatum',
'process_date' => 'Behandlingsdatum',
'due_date' => 'Förfallodatum',
'payment_date' => 'Betalningsdatum',
'invoice_date' => 'Fakturadatum',
'interal_reference' => 'Intern referens',
'notes' => 'Anteckningar',
'from' => 'Från',
'piggy_bank' => 'Spargris',
'to' => 'Till',
'budget' => 'Budget',
'category' => 'Kategori',
'bill' => 'Räkning',
'withdrawal' => 'Uttag',
'deposit' => 'Insättning',
'transfer' => 'Överföring',
'type' => 'Typ',
'completed' => 'Slutförd',
'iban' => 'IBAN',
'paid_current_period' => 'Betalt den här perioden',
'email' => 'E-post',
'registered_at' => 'Registrerad den',
'is_blocked' => 'Är blockerad',
'is_admin' => 'Är admin',
'has_two_factor' => 'Har 2FA',
'blocked_code' => 'Blockeringskod',
'source_account' => 'Källkonto',
'destination_account' => 'Destinationskonto',
'accounts_count' => 'Antal konton',
'journals_count' => 'Antal transaktioner',
'attachments_count' => 'Antal bilagor',
'bills_count' => 'Antal räkningar',
'categories_count' => 'Antal kategorier',
'import_jobs_count' => 'Antal importjobb',
'budget_count' => 'Antal budgetar',
'rule_and_groups_count' => 'Antal regler och regelgrupper',
'tags_count' => 'Antal etiketter',
'tags' => 'Etiketter',
'inward' => 'Inkommande beskrivning',
'outward' => 'Utgående beskrivning',
'number_of_transactions' => 'Antal transaktioner',
'total_amount' => 'Totalt belopp',
'sum' => 'Summa',
'sum_excluding_transfers' => 'Summa (exkluderande överföringar)',
'sum_withdrawals' => 'Summa uttag',
'sum_deposits' => 'Summa uttag',
'sum_transfers' => 'Summa överföringar',
'reconcile' => 'Avstämning',
'account_on_spectre' => 'Konto (Spectre)',
'account_on_ynab' => 'Konto (YNAB)',
'do_import' => 'Importera från det här kontot',
'sepa_ct_id' => 'SEPA End to End-identifierare',
'sepa_ct_op' => 'SEPA Motstående kontoidentifierare',
'sepa_db' => 'SEPA Mandatidentifierare',
'sepa_country' => 'SEPA-land',
'sepa_cc' => 'SEPA Clearingkod',
'sepa_ep' => 'SEPA Externt syfte',
'sepa_ci' => 'SEPA Borgenär-identifierare',
'sepa_batch_id' => 'SEPA Batch-ID',
'external_id' => 'Externt ID',
'account_at_bunq' => 'Konto med bunq',
'file_name' => 'Filnamn',
'file_size' => 'Filstorlek',
'file_type' => 'Filtyp',
'attached_to' => 'Bifogad till',
'file_exists' => 'Fil existerar',
'spectre_bank' => 'Bank',
'spectre_last_use' => 'Senaste inloggning',
'spectre_status' => 'Status',
'bunq_payment_id' => 'bunq betalnings-ID',
'repetitions' => 'Repetitioner',
'title' => 'Titel',
'transaction_s' => 'Transaktion(er)',
'field' => 'Fält',
'value' => 'Värde',
'interest' => 'Ränta',
'interest_period' => 'ränteperiod',
'liability_type' => 'Typ av ansvar',
];

View File

@@ -0,0 +1,28 @@
<?php
/**
* pagination.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'previous' => '&laquo; Föregående',
'next' => 'Nästa &raquo;',
];

View File

@@ -0,0 +1,32 @@
<?php
/**
* passwords.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'password' => 'Lösenord måste vara minst sex tecken långa och matcha bekräftelsefältet.',
'user' => 'Vi kan inte hitta någon användare med den e-postadressen.',
'token' => 'Denna återställningsnyckel för lösenord är ogiltig.',
'sent' => 'Vi har skickat ett e-post till dig med en återställningslänk för lösenord!',
'reset' => 'Ditt lösenord har återställts!',
'blocked' => 'Bra försök dock.',
];

View File

@@ -0,0 +1,197 @@
<?php
/**
* validation.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
return [
'iban' => 'Detta är inte ett giltigt IBAN.',
'zero_or_more' => 'Värdet får inte vara negativt.',
'date_or_time' => 'Värdet måste vara ett giltigt datum eller tid (ISO 8601).',
'source_equals_destination' => 'Källkontot motsvarar mottagarkontot.',
'unique_account_number_for_user' => 'Det ser ut som att detta kontonummer redan används.',
'unique_iban_for_user' => 'Det ser ut som att detta IBAN redan används.',
'deleted_user' => 'På grund av säkerhetsbegränsningar går det inte att registrera sig med denna e-postadress.',
'rule_trigger_value' => 'Detta värde är ogiltigt för vald trigger.',
'rule_action_value' => 'Detta värde är ogiltigt för den valda åtgärden.',
'file_already_attached' => 'Den uppladdade filen ”:name” är redan kopplad till detta objekt.',
'file_attached' => 'Filen ”:name” har laddats upp.',
'must_exist' => 'ID i fältet :attribute finns inte i databasen.',
'all_accounts_equal' => 'Alla konton i detta fält måste vara lika.',
'group_title_mandatory' => 'En grupptitel är obligatorisk vid mer än en transaktion.',
'transaction_types_equal' => 'All delade transaktioner måste vara av samma typ.',
'invalid_transaction_type' => 'Ogiltig transaktionstyp.',
'invalid_selection' => 'Ditt val är ogiltigt.',
'belongs_user' => 'Detta värde är ogiltigt för det här fältet.',
'at_least_one_transaction' => 'Krävs minst en transaktion.',
'at_least_one_repetition' => 'Krävs minst en upprepning.',
'require_repeat_until' => 'Kräver ett antal repetitioner eller ett slutdatum (repeat_until). Inte båda.',
'require_currency_info' => 'Innehållet i det här fältet är ogiltigt utan valutainformation.',
'not_transfer_account' => 'Detta är inte ett konto som kan användas för transaktioner.',
'require_currency_amount' => 'Innehållet i det här fältet är ogiltigt utan utländskt belopp.',
'equal_description' => 'Transaktions beskrivning bör inte vara samma som den globala beskrivningen.',
'file_invalid_mime' => 'Filen ”:name” är av typ ”:mime” som inte accepteras som en ny uppladdning.',
'file_too_large' => 'Filen ”:name” är för stor.',
'belongs_to_user' => 'Värdet av :attribute är okänt.',
'accepted' => ':attribute måste godkännas.',
'bic' => 'Detta är inte en giltig BIC.',
'at_least_one_trigger' => 'Regeln måste ha minst en utlösare.',
'at_least_one_action' => 'Regel måste ha minst en åtgärd.',
'base64' => 'Detta är inte giltigt bas64 data.',
'model_id_invalid' => 'Angivet ID verkar ogiltig för denna modell.',
'more' => ':attribute måste vara större än noll.',
'less' => ':attribute måste vara mindre än 10 000 000',
'active_url' => ':attribute är inte en giltig URL.',
'after' => ':attribute måste vara ett datum efter :date.',
'alpha' => ':attribute får enbart innehålla bokstäver.',
'alpha_dash' => ':attribute får endast innehålla bokstäver, siffror och bindestreck.',
'alpha_num' => ':attribute får endast innehålla bokstäver och siffror.',
'array' => ':attribute måste vara en array.',
'unique_for_user' => 'Det finns redan en post med detta :attribute.',
'before' => ':attribute måste vara ett datum före :date.',
'unique_object_for_user' => 'Namnet är redan upptaget.',
'unique_account_for_user' => 'Kontonamnet är redan upptaget.',
'between.numeric' => ':attribute måste vara mellan :min och :max.',
'between.file' => ':attribute måste vara mellan :min och :max kilobytes.',
'between.string' => ':attribute måste vara mellan :min och :max tecken.',
'between.array' => ':attribute måste innehålla :min till :max artiklar.',
'boolean' => ':attribute fältet måste vara sant eller falskt.',
'confirmed' => ':attribute bekräftelsen matchar inte.',
'date' => ':attribute är inte ett giltigt datum.',
'date_format' => ':attribute matchar inte formatet :format.',
'different' => ':attribute och :other måste vara olika.',
'digits' => ':attribute måste vara :digits siffror.',
'digits_between' => ':attribute måste innehålla :min till :max siffror.',
'email' => ':attribute måste vara en giltig e-postadress.',
'filled' => ':attribute fältet är obligatoriskt.',
'exists' => 'Det valda :attribute är ogiltigt.',
'image' => ':attribute måste vara en bild.',
'in' => 'Det valda :attribute är ogitligt.',
'integer' => ':attribute måste vara ett heltal.',
'ip' => ':attribute måste vara en giltig IP-adress.',
'json' => ':attribute måste vara en giltig JSON sträng.',
'max.numeric' => ':attribute får inte vara större än :max.',
'max.file' => ':attribute får inte vara större än :max kilobytes.',
'max.string' => ':attribute får inte vara större än :max tecken.',
'max.array' => ':attribute får inte innehålla fler artiklar än :max.',
'mimes' => ':attribute måste vara av filtypen :values.',
'min.numeric' => ':attribute måste vara minst :min.',
'lte.numeric' => ':attribute måste vara mindre än eller lika med :value.',
'min.file' => ':attribute måste vara minst :min kilobytes.',
'min.string' => ':attribute måste minst vara :min tecken.',
'min.array' => ':attribute måste innehålla minst :min artiklar.',
'not_in' => 'Det valda :attribute är ogiltigt.',
'numeric' => ':attribute måste vara ett nummer.',
'numeric_native' => 'Ursprungsvärdet måste vara ett nummer.',
'numeric_destination' => 'Mottagarkontot måste vara ett nummer.',
'numeric_source' => 'Källvärdet måste vara ett nummer.',
'regex' => ':attribute format är ogiltigt.',
'required' => ':attribute fältet är obligatoriskt.',
'required_if' => ':attribute fältet är obligatoriskt när :other är :value.',
'required_unless' => ':attribute fältet är obligatoriskt så vida inte :other är i :values.',
'required_with' => ':attribute fältet är obligatoriskt när :values är synligt.',
'required_with_all' => ':attribute fältet är obligatoriskt när :values är synligt.',
'required_without' => ':attribute fältet är obligatoriskt när :values inte är synligt.',
'required_without_all' => ':attribute fältet är obligatoriskt när ingen av :values är synligt.',
'same' => ':attribute och :other måste matcha.',
'size.numeric' => ':attribute måste vara :size.',
'amount_min_over_max' => 'Det minimala värdet kan inte vara större än det maximala värdet.',
'size.file' => ':attribute måste vara :size kilobytes.',
'size.string' => ':attribute måste vara :size tecken.',
'size.array' => ':attribute måste innehålla :size artiklar.',
'unique' => ':attribute är redan upptaget.',
'string' => ':attribute måste vara en sträng.',
'url' => ':attribute formatet är ogiltigt.',
'timezone' => ':attribute måste vara en giltig zon.',
'2fa_code' => ':attribute fältet är ogiltigt.',
'dimensions' => ':attribute har ogiltiga bilddimensioner.',
'distinct' => ':attribute fältet har ett dubbelt värde.',
'file' => ':attribute måste vara en fil.',
'in_array' => ':attribute fältet existerar inte i :other.',
'present' => ':attribute fältet måste vara synligt.',
'amount_zero' => 'Totala värdet kan inte vara noll.',
'current_target_amount' => 'Det nuvarande beloppet måste vara mindre än målbeloppet.',
'unique_piggy_bank_for_user' => 'Namnet på spargrisen måste vara unikt.',
'secure_password' => 'Detta lösenord är inte säkert. Vänligen försök igen. För mer info se https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Ogiltig repetitionstyp får återkommande transaktioner.',
'valid_recurrence_rep_moment' => 'Ogiltig repetitionsmoment för denna typ av repetition.',
'invalid_account_info' => 'Ogiltig kontoinformation.',
'attributes' => [
'email' => 'e-postadress',
'description' => 'beskrivning',
'amount' => 'belopp',
'name' => 'namn',
'piggy_bank_id' => 'spargris ID',
'targetamount' => 'mål belopp',
'opening_balance_date' => 'ingående balans datum',
'opening_balance' => 'ingående balans',
'match' => 'träff',
'amount_min' => 'minsta belopp',
'amount_max' => 'högsta belopp',
'title' => 'titel',
'tag' => 'etikett',
'transaction_description' => 'transaktionsbeskrivning',
'rule-action-value.1' => 'regelåtgärd värde #1',
'rule-action-value.2' => 'regelåtgärd värde #2',
'rule-action-value.3' => 'regelåtgärd värde #3',
'rule-action-value.4' => 'regelåtgärd värde #4',
'rule-action-value.5' => 'regelåtgärd värde #5',
'rule-action.1' => 'regelåtgärd #1',
'rule-action.2' => 'regelåtgärd #2',
'rule-action.3' => 'regelåtgärd #3',
'rule-action.4' => 'regelåtgärd #4',
'rule-action.5' => 'regelåtgärd #5',
'rule-trigger-value.1' => 'regel utlösare värde #1',
'rule-trigger-value.2' => 'regel utlösare värde #2',
'rule-trigger-value.3' => 'regel utlösare värde #3',
'rule-trigger-value.4' => 'regel utlösare värde #4',
'rule-trigger-value.5' => 'regel trigger värde #regel utlösare värde #5',
'rule-trigger.1' => 'regel utlösare #1',
'rule-trigger.2' => 'regel utlösare #2',
'rule-trigger.3' => 'regel utlösare #3',
'rule-trigger.4' => 'regel utlösare #4',
'rule-trigger.5' => 'regel utlösare #5',
],
// validation of accounts:
'withdrawal_source_need_data' => 'Ett giltigt källkonto-ID och/eller ett giltigt källkontonamn behövs för att gå vidare.',
'withdrawal_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".',
'withdrawal_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.',
'withdrawal_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".',
'deposit_source_need_data' => 'Ett giltigt källkonto-ID och/eller ett giltigt källkontonamn behövs för att gå vidare.',
'deposit_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".',
'deposit_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.',
'deposit_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".',
'transfer_source_need_data' => 'Ett giltigt källkonto-ID och/eller ett giltigt källkontonamn behövs för att gå vidare.',
'transfer_source_bad_data' => 'Det gick inte att hitta ett giltigt källkonto med ID ":id" eller namn ":name".',
'transfer_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.',
'transfer_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".',
'need_id_in_edit' => 'Varje delad transaktion kräver transaction_journal_id (giltigt ID eller 0).',
'ob_source_need_data' => 'Ett giltigt källkonto-ID och/eller ett giltigt källkontonamn behövs för att gå vidare.',
'ob_dest_need_data' => 'Ett giltigt destinationskonto-ID och/eller giltigt mottagarkontonamn behövs för att gå vidare.',
'ob_dest_bad_data' => 'Det gick inte att hitta ett giltigt mottagarkonto med ID ":id" eller namn ":name".',
'generic_invalid_source' => 'Det går inte att använda detta konto som källkonto.',
'generic_invalid_destination' => 'Det går inte att använda detta konto som mottagarkonto.',
];

View File

@@ -635,12 +635,12 @@ işlemlerin kontrol edildiğini lütfen unutmayın.',
'convert_please_set_asset_destination' => 'Lütfen paranın gideceği varlık hesabını seçin.',
'convert_please_set_expense_destination' => 'Lütfen paranın gideceği masraf hesaplarını seçin.',
'convert_please_set_asset_source' => 'Lütfen paranın geleceği bir varlık hesabı seçiniz.',
'convert_explanation_withdrawal_deposit' => 'Eğer bu para çekme işlemini para yatırma işlemine çevirirseniz, :amount <a href=":sourceRoute">:sourceName</a> den çekilmek yerine oraya yatırılacaktır.',
'convert_explanation_withdrawal_transfer' => 'Eğer bu para çekme işlemini transfer işlemine dönüştürürseniz, :amount <a href=":destinationRoute">:destinationName</a>\'e ödenmek yerine <a href=":sourceRoute">:sourceName</a> den yeni bir varlık hesabına transfer edilecektir.',
'convert_explanation_deposit_withdrawal' => 'Eğer bu para yatırma işlemini para çekim işlemine dönüştürürseniz :amount <a href=":destinationRoute">:destinationName</a>\'e eklenmek yerine ondan düşecektir.',
'convert_explanation_deposit_transfer' => 'Eğer bu para yatırım işlemini transfer işlemine dönüştürürseniz, :amount sizin seçeceğiniz bir varlık hesabından <a href=":destinationRoute">destinationName</a>\'e transfer edilecektir.',
'convert_explanation_transfer_withdrawal' => 'Eğer bu transfer işlemini para çekme işlemine dönüştürürseniz, :amount <a href=":destinationRoute">destinationName</a>\'e transfer olmak yerine <a href=":sourceRoute">sourceName</a>\'e yeni bir gider olarak işlenecektir.',
'convert_explanation_transfer_deposit' => 'Eğer bu transfer işlemini para yatırma işlemine dönüştürürseniz, :amount <a href=":destinationRoute">destinationName</a>\'e aktarılmak yerine oraya yatırılacaktır.',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => 'İşlem çekime dönüştürüldü',
'converted_to_Deposit' => 'İşlem depozitoya dönüştürüldü',
'converted_to_Transfer' => 'İşlem aktarıma dönüştürüldü',

View File

@@ -111,7 +111,7 @@ return [
'user_id_is' => '您的使用者 ID 是 <strong>:user</strong>',
'field_supports_markdown' => '此栏位支援 <a href="https://en.support.wordpress.com/markdown-quick-reference/">Markdown</a> 语法。',
'need_more_help' => '如果您需要更多 Firefly III 的协助,请 <a href="https://github.com/firefly-iii/firefly-iii/issues">于 GitHub 建立提问</a>。',
'reenable_intro_text' => 'You can also re-enable <a href="#" id="reenableGuidance">the introduction guidance</a>.',
'reenable_intro_text' => '您也可以重新启用 <a href="#" id="reenableGuidance">说明指导</a>',
'intro_boxes_after_refresh' => '当您重新整理页面后,介绍框将会重新出现。',
'show_all_no_filter' => '不以日期分组,显示所有交易纪录',
'expenses_by_category' => '按分类的支出',
@@ -133,9 +133,9 @@ return [
'current_period' => '目前区间',
'show_the_current_period_and_overview' => '显示目前区间与概览',
'pref_languages_locale' => '如欲正常使用英语外的语言,您的作业系统必须搭配正确的地区资讯 (locale-information)。如上述资讯不存在,则货币资料、日期与总数,可能格式有误。',
'budget_in_period' => 'All transactions for budget ":name" between :start and :end in :currency',
'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end in :currency',
'chart_budget_in_period_only_currency' => 'The amount you budgeted was in :currency, so this chart will only show transactions in :currency.',
'budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start :end 的所有交易',
'chart_budget_in_period' => '预算“ :name ”中以 :currency 为货币的自 :start :end 的所有交易的图表',
'chart_budget_in_period_only_currency' => '您的预算金额以 :currency 显示 ,因此此图表将以 :currency 显示交易。',
'chart_account_in_period' => '帐户「:name」自 :start 至 :end 所有交易的图表',
'chart_category_in_period' => '分类「:name」自 :start 至 :end 的所有交易图表',
'chart_category_all' => '分类「:name」的所有交易图表',
@@ -208,7 +208,7 @@ return [
'scopes_will_be_able' => '此应用可以:',
'button_authorize' => '授权',
'none_in_select_list' => '(空)',
'no_piggy_bank' => '(no piggy bank)',
'no_piggy_bank' => '(无存钱罐)',
'name_in_currency' => ':name 于 :currency',
'paid_in_currency' => '以 :currency 支付',
'unpaid_in_currency' => '未以 :currency 支付',
@@ -225,16 +225,16 @@ return [
'admin_update_check_now_explain' => '如果您按下此按钮Firefly III 将会检查您现在的版本是否为最新版。',
'check_for_updates_button' => '马上检查!',
'update_new_version_alert' => '较新版本的 Firefly III 已可使用,您目前为 :your_version 版,最新版本为 :new_version 版,于 :date 释出。',
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
'update_version_beta' => '此版本是 BETA 版本。您可能会遇到问题。',
'update_version_alpha' => '此版本是 ALPHA 版本。您可能会遇到问题。',
'update_current_version_alert' => '您正在运行 :version, 这是最新的可用版本。',
'update_newer_version_alert' => '您正在运行 :your_version它比最新发布的 :new_version更新。',
'update_check_error' => '检查更新时发生一个错误,请检阅日志档。',
'admin_update_channel_title' => 'Update channel',
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
'update_channel_stable' => 'Stable. Everything should work as expected.',
'update_channel_beta' => 'Beta. New features but things may be broken.',
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
'admin_update_channel_title' => '更新通道',
'admin_update_channel_explain' => 'Firefly III具有三个更新“通道”,这些通道确定您在功能,增强功能和错误方面都处于最新。 如果您喜欢冒险,请使用“ beta”频道如果您不惧危险请使用“ alpha”频道。',
'update_channel_stable' => '稳定版。一切应该都如预期的那样运行。',
'update_channel_beta' => 'Beta版。拥有新功能但是可能出现崩溃。',
'update_channel_alpha' => 'Alpha版。我们试用新功能,看它们是否奏效。',
// search
'search' => '搜寻',
@@ -262,10 +262,10 @@ return [
'search_modifier_on' => '交易日期为 :value',
'search_modifier_before' => '交易日期早于 :value',
'search_modifier_after' => '交易日期晚于 :value',
'search_modifier_created_on' => 'Transaction was created on :value',
'search_modifier_updated_on' => 'Transaction was last updated on :value',
'search_modifier_created_on' => '交易创建于 :value',
'search_modifier_updated_on' => '交易记录最后更新于 :value',
'modifiers_applies_are' => '以下修饰也适用于搜索:',
'general_search_error' => 'An error occurred while searching. Please check the log files for more information.',
'general_search_error' => '搜索时出错。请检查日志文件以获取更多信息。',
'search_box' => '搜寻',
'search_box_intro' => '欢迎使用 Firefly III 的搜寻功能,请于方框内键入搜寻条件。请确保您以阅读过协助档案,因为此搜寻功能非常先进。',
'search_error' => '查询的时候出错',
@@ -547,13 +547,13 @@ return [
'optional_field_meta_data' => '可选后设资料',
// profile:
'permanent_delete_stuff' => 'Be careful with these buttons. Deleting stuff is permanent.',
'delete_all_budgets' => 'Delete ALL your budgets',
'delete_all_categories' => 'Delete ALL your categories',
'delete_all_tags' => 'Delete ALL your tags',
'deleted_all_budgets' => 'All budgets have been deleted',
'deleted_all_categories' => 'All categories have been deleted',
'deleted_all_tags' => 'All tags have been deleted',
'permanent_delete_stuff' => '小心使用这些按钮。删除内容是永久性的。',
'delete_all_budgets' => '删除所有您的预算',
'delete_all_categories' => '删除您的所有类别',
'delete_all_tags' => '删除您的所有标签',
'deleted_all_budgets' => '所有预算已被删除',
'deleted_all_categories' => '所有分类已被删除',
'deleted_all_tags' => '所有标签已被删除',
'change_your_password' => '更改您的密码',
'delete_account' => '移除帐户',
'current_password' => '目前密码',
@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => '请选择金钱要去资产帐户',
'convert_please_set_expense_destination' => '请选择金钱要去的支出帐户',
'convert_please_set_asset_source' => '请选择金钱来源的资产帐户',
'convert_explanation_withdrawal_deposit' => '若您将此提款转换成一笔存款,:amount 将被存入 <a href=":sourceRoute">:sourceName</a> 而非取出。',
'convert_explanation_withdrawal_transfer' => '若您将此提款转换成一笔转帐,:amount 将会由 <a href=":sourceRoute">:sourceName</a> 转至新的资产帐户,而非给付给 <a href=":destinationRoute">:destinationName</a>。',
'convert_explanation_deposit_withdrawal' => '若您将此存款转换成一笔提款,:amount 将自 <a href=":destinationRoute">:destinationName</a> 移除而非增加。',
'convert_explanation_deposit_transfer' => '若您将此存款转换成一笔转帐,:amount 将会自您选择的资产帐户转帐至 <a href=":destinationRoute">:destinationName</a>。',
'convert_explanation_transfer_withdrawal' => '若您将此转帐转换成一笔存款,:amount 将自 <a href=":sourceRoute">:sourceName</a> 转至新目标成为一笔开支,而非于 <a href=":destinationRoute">:destinationName</a> 的一笔转帐。',
'convert_explanation_transfer_deposit' => '若您将此转帐转换成一笔存款,:amount 将会被存入 <a href=":destinationRoute">:destinationName</a> 而非转入。',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => '此交易已被转换为一笔提款',
'converted_to_Deposit' => '此交易已被转换为一笔存款',
'converted_to_Transfer' => '此交易已被转换为一笔转帐',
@@ -670,10 +670,10 @@ return [
'cannot_disable_currency_bills' => '无法禁用 :name因为它仍在账单中使用。',
'cannot_disable_currency_recurring' => '无法禁用 :name因为它在重复交易中被使用。',
'cannot_disable_currency_available_budgets' => '无法禁用 :name因为它仍在预算中被使用。',
'cannot_disable_currency_budget_limits' => 'Cannot disable :name because it is used in budget limits.',
'cannot_disable_currency_current_default' => 'Cannot disable :name because it is the current default currency.',
'cannot_disable_currency_system_fallback' => 'Cannot disable :name because it is the system default currency.',
'disable_EUR_side_effects' => 'The Euro is the system\'s emergency fallback currency. Disabling it may have unintended side-effects and may void your warranty.',
'cannot_disable_currency_budget_limits' => '无法禁用 :name因为它仍在预算中被使用。',
'cannot_disable_currency_current_default' => '无法禁用 :name ,因为它是当前的默认货币。',
'cannot_disable_currency_system_fallback' => '无法禁用 :name ,因为它是系统默认货币。',
'disable_EUR_side_effects' => '欧元是该系统的紧急后备货币。禁用它可能会产生意外的副作用,并可能使您的修改无效。',
'deleted_currency' => ':name 货币已删除',
'created_currency' => ':name 货币已建立',
'could_not_store_currency' => '无法储存新货币',
@@ -695,27 +695,27 @@ return [
'options' => '选项',
// budgets:
'total_available_budget' => 'Total available budget (between :start and :end)',
'total_available_budget_in_currency' => 'Total available budget in :currency',
'see_below' => 'see below',
'total_available_budget' => '可用预算总额 (:start :end之间)',
'total_available_budget_in_currency' => '可用预算总额 以:currency为单位',
'see_below' => '请在下方查看',
'create_new_budget' => '建立新预算',
'store_new_budget' => '储存新预算',
'stored_new_budget' => '已储存新预算 ":name"',
'available_between' => '自 :start 至 :end 间可用',
'transactionsWithoutBudget' => '无预算支出',
'transactions_no_budget' => '自 :start 至 :end 的无预算支出',
'spent_between' => 'Already spent between :start and :end',
'set_available_amount' => 'Set available amount',
'update_available_amount' => 'Update available amount',
'ab_basic_modal_explain' => 'Use this form to indicate how much you expect to be able to budget (in total, in :currency) in the indicated period.',
'spent_between' => ' :start :end 的花费',
'set_available_amount' => '设置可用金额',
'update_available_amount' => '更新可用金额',
'ab_basic_modal_explain' => '使用此表单来显示您期望在指定时间内花费多少预算(总共,以:currency为单位)。',
'createBudget' => '新预算',
'invalid_currency' => 'This is an invalid currency',
'set_ab' => 'The available budget amount has been set',
'updated_ab' => 'The available budget amount has been updated',
'deleted_ab' => 'The available budget amount has been deleted',
'deleted_bl' => 'The budgeted amount has been removed',
'alt_currency_ab_create' => 'Set the available budget in another currency',
'bl_create_btn' => 'Set budget in another currency',
'invalid_currency' => '这是一个无效的货币',
'set_ab' => '可用预算金额已设置',
'updated_ab' => '可用预算金额已更新',
'deleted_ab' => '可用预算金额已删除',
'deleted_bl' => '预算金额已移除',
'alt_currency_ab_create' => '以其他货币为单位设置可用预算',
'bl_create_btn' => '以其他货币为单位设置预算',
'inactiveBudgets' => '未使用预算',
'without_budget_between' => '自 :start 至 :end 无预算的交易',
'delete_budget' => '删除预算 ":name"',
@@ -725,20 +725,20 @@ return [
'update_amount' => '更新金额',
'update_budget' => '更新预算',
'update_budget_amount_range' => '更新 (预期) 自 :start 至 :end 的可用金额',
'set_budget_limit_title' => 'Set budgeted amount for budget :budget between :start and :end',
'set_budget_limit_title' => '为预算:budget设置预算金额在 :start :end 之间',
'set_budget_limit' => '设置预算金额',
'budget_period_navigator' => '期间导览',
'info_on_available_amount' => '我有甚麽可用?',
'available_amount_indication' => '使用这些金额以获得您总预算可能为何的指标',
'suggested' => '建议',
'average_between' => '自 :start 至 :end 的平均',
'over_budget_warn' => '<i class="fa fa-money"></i> Usually you budget about :amount per day. This time it\'s :over_amount per day. Are you sure?',
'transferred_in' => 'Transferred (in)',
'transferred_away' => 'Transferred (away)',
'over_budget_warn' => '<i class="fa fa-money"></i> 您通常每天预算约为 :amount ,本次是每天:over_amount ,您确定吗?',
'transferred_in' => '转账(转入)',
'transferred_away' => '转账(转出)',
// bills:
'match_between_amounts' => '帐单配合自 :low 至 :high 的交易。',
'running_again_loss' => 'Previously linked transactions to this bill may lose their connection, if they (no longer) match the rule(s).',
'running_again_loss' => '以前与该账单有关联的交易,如果(不再)与规则相符,则可能失去联系。',
'bill_related_rules' => '与此帐单相关的规则',
'repeats' => '重复',
'connected_journals' => '已连接交易',
@@ -766,9 +766,9 @@ return [
'list_inactive_rule' => '未启用的规则',
// accounts:
'inactive_account_link' => 'You have :count inactive (archived) accounts, which you can view on this separate page.',
'all_accounts_inactive' => 'These are your inactive accounts.',
'active_account_link' => 'This link goes back to your active accounts.',
'inactive_account_link' => '您有 :count 个未激活账户 (存档) 帐户,您可以在此单独页面查看。',
'all_accounts_inactive' => '这些是您的未激活帐户。',
'active_account_link' => '此链接回到您的活动帐户。',
'account_missing_transaction' => '帐户 #:id (":name") 无法直接被检视,但 Firefly 找不到重新转向资讯。',
'details_for_asset' => '资产帐户 ":name" 的详细资讯',
'details_for_expense' => '支出帐户 ":name" 的详细资讯',
@@ -796,9 +796,9 @@ return [
'make_new_revenue_account' => '建立新收入帐户',
'make_new_liabilities_account' => '建立新债务',
'asset_accounts' => '资产帐户',
'asset_accounts_inactive' => 'Asset accounts (inactive)',
'asset_accounts_inactive' => '资产帐户(未激活)',
'expense_accounts' => '支出帐户',
'expense_accounts_inactive' => 'Expense accounts (inactive)',
'expense_accounts_inactive' => '支出帐户(未激活)',
'revenue_accounts' => '收入帐户',
'cash_accounts' => '现金帐户',
'Cash account' => '现金帐户',
@@ -824,7 +824,7 @@ return [
'reconcile_options' => '对帐选项',
'reconcile_range' => '对帐范围',
'start_reconcile' => '开始对帐',
'cash_account_type' => 'Cash',
'cash_account_type' => '现金账户',
'cash' => '现金',
'cant_find_redirect_account' => 'Firefly III tried to redirect you but couldn\'t. Sorry about that. Back to the index.',
'account_type' => '帐户类型',
@@ -885,7 +885,7 @@ return [
// transactions:
'update_withdrawal' => '更新提款',
'update_deposit' => '更新存款',
'update_transaction' => 'Update transaction',
'update_transaction' => '更新交易',
'update_transfer' => '更新转帐',
'updated_withdrawal' => '已更新提款 “:description“',
'updated_deposit' => '已更新存款 ”:description“',
@@ -967,7 +967,7 @@ return [
// new user:
'welcome' => '欢迎使用 Firefly III',
'submit' => '送出',
'submission' => 'Submission',
'submission' => '提交',
'submit_yes_really' => '送出 (我知道我在干嘛)',
'getting_started' => '开始使用',
'to_get_started' => '很高兴看到您成功安装 Firefly III。要开始使用此工具请输入您主要使用的的银行名称与余额。别担心如您有多个帐户可以稍后新增这儘是为了 Firefly III 需要初始使用而设。',
@@ -1284,7 +1284,7 @@ return [
'send_test_triggered' => '测试已触发,请检视您的收件匣与日志档。',
'split_transaction_title' => '拆分交易的描述',
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
'split_transaction_title_help' => '如果您创建了一个分割交易,交易的所有分割项都必须有全局描述。',
'split_title_help' => '如果您创建一个拆分交易,必须有一个全局的交易描述。',
'transaction_information' => '交易信息',
'you_create_transfer' => '您正在创建一笔<strong>转账</strong>。',
@@ -1360,11 +1360,11 @@ return [
'breadcrumb_convert_group' => '变更交易',
'convert_invalid_source' => '交易 #%d 的源信息无效。',
'convert_invalid_destination' => '交易 #%d 的目标信息无效。',
'create_another' => 'After storing, return here to create another one.',
'after_update_create_another' => 'After updating, return here to continue editing.',
'store_as_new' => 'Store as a new transaction instead of updating.',
'reset_after' => 'Reset form after submission',
'errors_submission' => 'There was something wrong with your submission. Please check out the errors below.',
'create_another' => '保存后,返回此页面创建另一笔记录。',
'after_update_create_another' => '更新后,返回此页面继续编辑。',
'store_as_new' => '保存为新交易而不是更新此交易。',
'reset_after' => '提交后重置表单',
'errors_submission' => '您的提交有误,请查看下面输出的错误信息。',
// Import page (general strings only)
'import_index_title' => '将交易记录导入',

View File

@@ -633,12 +633,12 @@ return [
'convert_please_set_asset_destination' => '請選擇金錢要去資產帳戶',
'convert_please_set_expense_destination' => '請選擇金錢要去的支出帳戶',
'convert_please_set_asset_source' => '請選擇金錢來源的資產帳戶',
'convert_explanation_withdrawal_deposit' => '若您將此提款轉換成一筆存款,:amount 將被存入 <a href=":sourceRoute">:sourceName</a> 而非取出。',
'convert_explanation_withdrawal_transfer' => '若您將此提款轉換成一筆轉帳,:amount 將會由 <a href=":sourceRoute">:sourceName</a> 轉至新的資產帳戶,而非給付給 <a href=":destinationRoute">:destinationName</a>。',
'convert_explanation_deposit_withdrawal' => '若您將此存款轉換成一筆提款,:amount 將自 <a href=":destinationRoute">:destinationName</a> 移除而非增加。',
'convert_explanation_deposit_transfer' => '若您將此存款轉換成一筆轉帳,:amount 將會自您選擇的資產帳戶轉帳至 <a href=":destinationRoute">:destinationName</a>。',
'convert_explanation_transfer_withdrawal' => '若您將此轉帳轉換成一筆存款,:amount 將自 <a href=":sourceRoute">:sourceName</a> 轉至新目標成為一筆開支,而非於 <a href=":destinationRoute">:destinationName</a> 的一筆轉帳。',
'convert_explanation_transfer_deposit' => '若您將此轉帳轉換成一筆存款,:amount 將會被存入 <a href=":destinationRoute">:destinationName</a> 而非轉入。',
'convert_expl_w_d' => 'When converting from a withdrawal to a deposit, the money will be deposited into the displayed destination account(s), instead of being withdrawn from them. To complete the conversion, please set the new source account(s) below.',
'convert_expl_w_t' => 'When converting a withdrawal into a transfer, the money will be transferred away from the source account(s) into other asset or liability account(s) instead of being spent on the original expense accounts. To complete the conversion, please select new destination account(s).',
'convert_expl_d_w' => 'When converting a deposit into a withdrawal, the money will be withdrawn from the displayed source account(s), instead of being deposited into them. To complete the conversion, please select new destination accounts.',
'convert_expl_d_t' => 'When you convert a deposit into a transfer, the money will be deposited into the listed destination account(s) from any of your asset or liability account(s). Please select the new source account(s) to complete the conversion.',
'convert_expl_t_w' => 'When you convert a transfer into a withdrawal, the money will be spent on the destination account(s) you set here, instead of being transferred away. Please select the new destination account(s) to complete the conversion.',
'convert_expl_t_d' => 'When you convert a transfer into a deposit, the money will be deposited into the destination account(s) you see here, instead of being transferred into them. Please select the new source account(s) to complete the conversion.',
'converted_to_Withdrawal' => '此交易已被轉換為一筆提款',
'converted_to_Deposit' => '此交易已被轉換為一筆存款',
'converted_to_Transfer' => '此交易已被轉換為一筆轉帳',

View File

@@ -140,7 +140,10 @@
<div class="pull-right hidden-xs">
<b>{{ 'version'|_ }}</b> <a href="{{ route('debug') }}">{{ Config.get('firefly.version') }}</a>
</div>
<strong><a href="https://github.com/firefly-iii/firefly-iii">Firefly III</a></strong> <small class="text-muted">Developed by James Cole, the source code is licensed under the <a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0-or-later</a>.</small>
<strong><a href="https://github.com/firefly-iii/firefly-iii">Firefly III</a></strong>
<small class="text-muted">Developed by James Cole, the source code is licensed under the <a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0-or-later</a>.</small>
{% if FF_IS_ALPHA %}<small class="text-danger"><br>You are running an ALPHA version. Be wary of bugs and issues.</small>{% endif %}
{% if FF_IS_BETA %}<small class="text-warning"><br>You are running an BETA version. Be wary of bugs and issues.</small>{% endif %}
</footer>
{% include('partials.control-bar') %}

View File

@@ -19,44 +19,32 @@
<p>
{# ONE: WITHDRAWAL TO DEPOSIT #}
{% if sourceType.type == 'Withdrawal' and destinationType.type == 'Deposit' %}
When converting from a withdrawal to a deposit, the money will be deposited into the
displayed destination account(s), instead of being withdrawn from them. To complete the conversion,
please set the new source account(s) below.
{{ 'convert_expl_w_d'|_ }}
{% endif %}
{# TWO: WITHDRAWAL TO TRANSFER #}
{% if sourceType.type == 'Withdrawal' and destinationType.type == 'Transfer' %}
When converting a withdrawal into a transfer, the money will be transferred away from the source
account(s) into other asset or liability account(s) instead of being spent on the original
expense accounts. To complete the conversion, please select new destination account(s).
{{ 'convert_expl_w_t'|_ }}
{% endif %}
{# THREE: DEPOSIT TO WITHDRAWAL #}
{% if sourceType.type == 'Deposit' and destinationType.type == 'Withdrawal' %}
When converting a deposit into a withdrawal, the money will be withdrawn from the
displayed source account(s), instead of being deposited into them. To complete the conversion,
please select new destination accounts.
{{ 'convert_expl_d_w'|_ }}
{% endif %}
{# FOUR: DEPOSIT TO TRANSFER#}
{% if sourceType.type == 'Deposit' and destinationType.type == 'Transfer' %}
When you convert a deposit into a transfer, the money will be deposited into
the listed destination account(s) from any of your asset or liability account(s).
Please select the new source account(s) to complete the conversion.
{{ 'convert_expl_d_t'|_ }}
{% endif %}
{# FIVE: TRANSFER TO WITHDRAWAL #}
{% if sourceType.type == 'Transfer' and destinationType.type == 'Withdrawal' %}
When you convert a transfer into a withdrawal, the money will be spent
on the destination account(s) you set here, instead of being transferred away.
Please select the new destination account(s) to complete the conversion.
{{ 'convert_expl_t_w'|_ }}
{% endif %}
{# SIX: TRANSFER TO DEPOSIT #}
{% if sourceType.type == 'Transfer' and destinationType.type == 'Deposit' %}
When you convert a transfer into a deposit, the money will be deposited
into the destination account(s) you see here, instead of being transferred into them.
Please select the new source account(s) to complete the conversion.
{{ 'convert_expl_t_d'|_ }}
{% endif %}
</p>

1289
yarn.lock

File diff suppressed because it is too large Load Diff