mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-25 00:44:03 -04:00
Compare commits
85 Commits
validation
...
3.4.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3fae110d6 | ||
|
|
e9e82e4e50 | ||
|
|
2bd38737e1 | ||
|
|
2a789bb583 | ||
|
|
e8a79910fe | ||
|
|
9bfe6c7c4e | ||
|
|
bc0e2c6833 | ||
|
|
196375d594 | ||
|
|
fafba87894 | ||
|
|
66a097d9f2 | ||
|
|
f3931577be | ||
|
|
f125960fe2 | ||
|
|
787977ed3e | ||
|
|
502b5fd6b9 | ||
|
|
ec2b941f3f | ||
|
|
8723274418 | ||
|
|
cf73ffa825 | ||
|
|
eeaa693ede | ||
|
|
1378794e7e | ||
|
|
d1d8aa0401 | ||
|
|
882f3b4522 | ||
|
|
19974bc8e0 | ||
|
|
d0b2b3e80b | ||
|
|
57c36e7ba7 | ||
|
|
8516ffe216 | ||
|
|
534f7361d6 | ||
|
|
5609859fdf | ||
|
|
c6c5fcac26 | ||
|
|
4d9cd80f8b | ||
|
|
2924a889c7 | ||
|
|
beb18ff96b | ||
|
|
7ad1bfa0fb | ||
|
|
9cc24f0c70 | ||
|
|
b86e5ca6ef | ||
|
|
4879fe2cf3 | ||
|
|
a5b2b5f771 | ||
|
|
ac90c07c90 | ||
|
|
c81c546286 | ||
|
|
a87b6eebb2 | ||
|
|
487e7dc0bd | ||
|
|
467144f884 | ||
|
|
2f365dce91 | ||
|
|
5bee124965 | ||
|
|
6195368dfc | ||
|
|
deb9d1e65d | ||
|
|
b541d473cf | ||
|
|
ff6ec1bd4e | ||
|
|
6b48078b44 | ||
|
|
3e63b99aef | ||
|
|
0f3175bc19 | ||
|
|
ebc923801b | ||
|
|
6128924723 | ||
|
|
3faa48330a | ||
|
|
86763e460c | ||
|
|
1463151f64 | ||
|
|
ae83b47b5b | ||
|
|
a925cb3f22 | ||
|
|
564df8aff0 | ||
|
|
8aee7350ae | ||
|
|
91f1863617 | ||
|
|
ae18737c6b | ||
|
|
bf6ef090e7 | ||
|
|
b8883954a4 | ||
|
|
618c942529 | ||
|
|
16d3a8bab1 | ||
|
|
8b2d0b5208 | ||
|
|
e4d5ba70eb | ||
|
|
507b2b3cf3 | ||
|
|
a848fbe432 | ||
|
|
05ec5f2e7a | ||
|
|
4fd1c64c61 | ||
|
|
55cba0c30d | ||
|
|
ffd957ba2f | ||
|
|
aeee79c494 | ||
|
|
4d65bd6c92 | ||
|
|
248299521b | ||
|
|
cea8717378 | ||
|
|
6eade2eed6 | ||
|
|
3cac58965a | ||
|
|
255968f5ea | ||
|
|
150210cee3 | ||
|
|
6d106d69d2 | ||
|
|
555a00d385 | ||
|
|
71d6502929 | ||
|
|
46e14a3642 |
22
.github/workflows/delete-unstable-release.yml
vendored
Normal file
22
.github/workflows/delete-unstable-release.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: "Delete Unstable Release"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
delete_unstable_release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Delete last unstable release"
|
||||
uses: sgpublic/delete-release-action@v1.2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.TOKEN }}
|
||||
with:
|
||||
release-drop: false
|
||||
release-drop-tag: false
|
||||
pre-release-drop: true
|
||||
pre-release-keep-count: -1
|
||||
pre-release-drop-tag: true
|
||||
|
||||
30
.github/workflows/php-linter.yml
vendored
Normal file
30
.github/workflows/php-linter.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: PHP Linting
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
phplint:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: PHP Lint 8.0
|
||||
uses: dbfx/github-phplint/8.0@master
|
||||
with:
|
||||
folder-to-exclude: "! -path \"./vendor/*\" ! -path \"./folder/excluded/*\""
|
||||
- name: PHP Lint 8.1
|
||||
uses: dbfx/github-phplint/8.1@master
|
||||
with:
|
||||
folder-to-exclude: "! -path \"./vendor/*\" ! -path \"./folder/excluded/*\""
|
||||
- name: PHP Lint 8.2
|
||||
uses: dbfx/github-phplint/8.2@master
|
||||
with:
|
||||
folder-to-exclude: "! -path \"./vendor/*\" ! -path \"./folder/excluded/*\""
|
||||
- name: PHP Lint 8.3
|
||||
uses: dbfx/github-phplint/8.3@master
|
||||
with:
|
||||
folder-to-exclude: "! -path \"./vendor/*\" ! -path \"./folder/excluded/*\""
|
||||
26
.travis.yml
26
.travis.yml
@@ -2,6 +2,7 @@ sudo: required
|
||||
|
||||
branches:
|
||||
except:
|
||||
- unstable
|
||||
- weblate
|
||||
services:
|
||||
- docker
|
||||
@@ -17,6 +18,7 @@ script:
|
||||
- sed -i "s/commit_sha1 = 'dev'/commit_sha1 = '$rev'/g" app/Config/OSPOS.php
|
||||
- echo "$version-$branch-$rev"
|
||||
- npm version "$version-$branch-$rev" --force || true
|
||||
- sed -i 's/opensourcepos.tar.gz/opensourcepos.$version.tgz/g' package.json
|
||||
- npm ci && npm install -g gulp && npm run build
|
||||
- docker build . --target ospos -t ospos
|
||||
- docker build app/Database/ -t "jekkos/opensourcepos:sql-$TAG"
|
||||
@@ -32,28 +34,18 @@ after_success:
|
||||
- mv dist/opensourcepos.tar.gz "dist/opensourcepos.$version.$rev.tgz"
|
||||
- mv dist/opensourcepos.zip "dist/opensourcepos.$version.$rev.zip"
|
||||
deploy:
|
||||
- provider: npm
|
||||
edge: true
|
||||
src: dist/opensourcepos.$version.$rev.tgz
|
||||
registry: https://npm.pkg.github.com
|
||||
email: jeroen@steganos.dev
|
||||
api_key:
|
||||
secure: "DNPJOrT51wdO0BAbkX2hKowdXYh7x8d43xvAw7eVfOslyBPiv6Bb/1QdC2Bpnlqe0WiJVS5hvBTMrJ+vSDK5i/l8jA+ZoI6ms1+P1DQ6sBBMBQI2fuvRCrJj+Fp3WnaduZb/N7R+FqdKQwD/ZORyhzJ4whtHkrO8uC7cY/wlacU="
|
||||
|
||||
on:
|
||||
all_branches: true
|
||||
- provider: releases
|
||||
edge: true
|
||||
file: dist/opensourcepos.$version.$rev.zip
|
||||
name: "OpensourcePos $version"
|
||||
release_notes_file: CHANGELOG.md
|
||||
prerelease: true
|
||||
|
||||
user: jekkos
|
||||
name: "Unstable OpensourcePos"
|
||||
overwrite: true
|
||||
release_notes: "This is a build of the latest master which might contain bugs. Use at your own risk. Check releases section for the latest official release"
|
||||
prerelease: true
|
||||
tag_name: unstable
|
||||
user: jekkos
|
||||
|
||||
api_key:
|
||||
secure: "DNPJOrT51wdO0BAbkX2hKowdXYh7x8d43xvAw7eVfOslyBPiv6Bb/1QdC2Bpnlqe0WiJVS5hvBTMrJ+vSDK5i/l8jA+ZoI6ms1+P1DQ6sBBMBQI2fuvRCrJj+Fp3WnaduZb/N7R+FqdKQwD/ZORyhzJ4whtHkrO8uC7cY/wlacU="
|
||||
secure: "KOukL8IFf/uL/BjMyCSKjf2vylydjcWqgEx0eMqFCg3nZ4ybMaOwPORRthIfyT72/FvGX/aoxxEn0uR/AEtb+hYQXHmNS+kZdX72JCe8LpGuZ7FJ5X+Eo9mhJcsmS+smd1sC95DySSc/GolKPo+0WtJYONY/xGCLxm+9Ay4HREg="
|
||||
|
||||
on:
|
||||
tags: true
|
||||
branch: master
|
||||
|
||||
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,4 +1,5 @@
|
||||
[unreleased]: https://github.com/opensourcepos/opensourcepos/compare/3.3.9...HEAD
|
||||
[unreleased]: https://github.com/opensourcepos/opensourcepos/compare/3.4.0...HEAD
|
||||
[3.4.0]: https://github.com/opensourcepos/opensourcepos/compare/3.3.9...3.4.0
|
||||
[3.3.9]: https://github.com/opensourcepos/opensourcepos/compare/3.3.8...3.3.9
|
||||
[3.3.8]: https://github.com/opensourcepos/opensourcepos/compare/3.3.7...3.3.8
|
||||
[3.3.7]: https://github.com/opensourcepos/opensourcepos/compare/3.3.6...3.3.7
|
||||
@@ -31,6 +32,16 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.4.0] - 2025-02-06
|
||||
|
||||
- Translation updates (Spanish, Indonesian, Swedish, Urdu, Chinese, Thai, French, Dutch)
|
||||
- PHP 8.x support
|
||||
- Security fixes (XSS, SQLi)
|
||||
- Migration to Gulp as buildsystem
|
||||
- Decimal validation fix
|
||||
- Sticky header fix
|
||||
- Receipt sent as attachment
|
||||
- Barcode generation library upgrade
|
||||
- Bump framework to CodeIgniter `4.x.x`
|
||||
- Improve security performance against bots
|
||||
|
||||
|
||||
98
CODE_OF_CONDUCT.md
Normal file
98
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,98 @@
|
||||
Contributor Covenant Code of Conduct
|
||||
Our Pledge
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
Our Standards
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others’ private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
Enforcement Responsibilities
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
Scope
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official email address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
Enforcement
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
[INSERT CONTACT METHOD].
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
Enforcement Guidelines
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
1. Correction
|
||||
Community Impact: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
Consequence: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
2. Warning
|
||||
Community Impact: A violation through a single incident or series of
|
||||
actions.
|
||||
Consequence: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
3. Temporary Ban
|
||||
Community Impact: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
Consequence: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
4. Permanent Ban
|
||||
Community Impact: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
Consequence: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
Attribution
|
||||
This Code of Conduct is adapted from the Contributor Covenant,
|
||||
version 2.1, available at
|
||||
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
|
||||
Community Impact Guidelines were inspired by
|
||||
Mozilla’s code of conduct enforcement ladder.
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
## Server Requirements
|
||||
|
||||
- PHP version `7.4` is supported, PHP version `≤7.3` is NOT supported. Please note that PHP needs to have the extensions `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` , `php-curl` and `php-xml` installed and enabled. PHP version `8.x` is only supported by the code that is still under development in master branch.
|
||||
- MySQL `5.6` and `5.7` are supported, also MariaDB replacement `10.x` is supported and might offer better performance.
|
||||
- PHP version `8.1` to `8.3` are supported, PHP version `≤7.4` is NOT supported. Please note that PHP needs to have the extensions `php-json`, `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` , `php-curl` and `php-xml` installed and enabled. An unstable master build can be downloaded in the releases section.
|
||||
- MySQL `5.7` is supported, also MariaDB replacement `10.x` is supported and might offer better performance.
|
||||
- Apache `2.4` is supported. Nginx should work fine too, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP).
|
||||
- Raspberry PI based installations proved to work, see [wiki page here](<https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS)>).
|
||||
- For Windows based installations please read [the wiki](https://github.com/opensourcepos/opensourcepos/wiki). There are closed issues about this subject, as this topic has been covered a lot.
|
||||
|
||||
## Local install
|
||||
|
||||
First of all, if you're seeing the message `system folder missing` after launching your browser, or cannot find `database.php`, that most likely means you have cloned the repository and have not built the project. To build the project from a source commit point instead of from an official release check out [Building OSPOS](BUILD.md). Otherwise, continue with the following steps.
|
||||
First of all, if you're seeing the message `system folder missing` after launching your browser, or cannot find `database.sql`, that most likely means you have cloned the repository and have not built the project. To build the project from a source commit point instead of from an official release check out [Building OSPOS](BUILD.md). Otherwise, continue with the following steps.
|
||||
|
||||
1. Download the a [pre-release for a specific branch](https://github.com/opensourcepos/opensourcepos/packages/1047637) or the latest stable [from GitHub here](https://github.com/opensourcepos/opensourcepos/releases). A repository clone will not work unless know how to build the project.
|
||||
1. Download the a [pre-release for a specific branch](https://github.com/opensourcepos/opensourcepos/releases) or the latest stable [from GitHub here](https://github.com/opensourcepos/opensourcepos/releases). A repository clone will not work unless know how to build the project.
|
||||
2. Create/locate a new MySQL database to install Open Source Point of Sale into.
|
||||
3. Execute the file `database/database.sql` to create the tables needed.
|
||||
4. Unzip and upload Open Source Point of Sale files to the web-server.
|
||||
5. Open `app/Config/database.php` and modify credentials to connect to your database if needed.
|
||||
6. Open `app/Config/config.php` and swap the encryption key with your own.
|
||||
7. Go to your install `public` dir via the browser.
|
||||
8. Log in using
|
||||
- Username: admin
|
||||
|
||||
26
LICENSE
26
LICENSE
@@ -1,30 +1,30 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2023 jekkos
|
||||
Copyright (c) 2013-2025 jekkos
|
||||
Copyright (c) 2017-2025 objecttothis
|
||||
Copyright (c) 2017-2024 Steve Ireland
|
||||
Copyright (c) 2017-2025 odiea
|
||||
Copyright (c) 2018-2024 WebShells
|
||||
Copyright (c) 2021-2025 BudsieBuds
|
||||
Copyright (c) 2015-2023 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2017-2023 Steve Ireland
|
||||
Copyright (c) 2017-2023 objecttothis
|
||||
Copyright (c) 2017-2023 odiea
|
||||
Copyright (c) 2017-2023 WebShells
|
||||
Copyright (c) 2020-2021 Andriux1990
|
||||
Copyright (c) 2021 BudsieBuds
|
||||
Copyright (c) 2015-2022 Aamir Shahzad (aka asakpke), RoshanTech, eSite.pk
|
||||
Copyright (c) 2019-2020 Andriux1990
|
||||
Copyright (c) 2018-2019 Erasto Marroquin (aka Erastus)
|
||||
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
|
||||
Copyright (c) 2018 Erasto Marroquin (aka Erastus)
|
||||
Copyright (c) 2018 Nathan Sas (aka nathanzky)
|
||||
Copyright (c) 2018 Emilio Silva (aka emi-silva)
|
||||
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
|
||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||
Copyright (c) 2016-2017 Jesus Guerrero Botella (aka i92guboj)
|
||||
Copyright (c) 2017 Deep Shah (aka deepshah)
|
||||
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
|
||||
Copyright (c) 2017 asadjaved63
|
||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
|
||||
Copyright (c) 2015-2022 Aamir Shahzad (aka asakpke), RoshanTech, eSite.pk
|
||||
Copyright (c) 2015 Toni Haryanto (aka yllumi)
|
||||
Copyright (c) 2012-2014 pappastech
|
||||
Copyright (c) 2013 Rob Garrison
|
||||
Copyright (c) 2013 Parq
|
||||
Copyright (c) 2013 Ramel
|
||||
Copyright (c) 2012-2014 pappastech
|
||||
Copyright (c) 2012 Alain
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
|
||||
12
README.md
12
README.md
@@ -94,11 +94,11 @@ NOTE: If you're running non-release code, please make sure you always run the la
|
||||
|
||||
- Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you can show a "Hello world" HTML page before pointing to OSPOS public directory. Make sure `.htaccess` is correctly configured.
|
||||
|
||||
- If the avatar pictures are not shown in items or at item save you get an error, please make sure your `public` and subdirs are assigned to the correct owner and the access permission is set to `750`.
|
||||
- If the avatar pictures are not shown in items or at item save you get an error, please make sure your `writable` and subdirs are assigned to the correct owner and the access permission is set to `750`.
|
||||
|
||||
- If you install OSPOS in Docker behind a proxy that performs `ssloffloading`, you can enable the URL generated to be HTTPS instead of HTTP, by activating the environment variable `FORCE_HTTPS = 1`.
|
||||
|
||||
- If you install OSPOS behind a proxy and OSPOS constantly drops your session, consider whitelisting the proxy IP address by setting `$config['proxy_ips'] = '<proxy ip>';` in the [main PHP config file](https://github.com/opensourcepos/opensourcepos/blob/master/application/config/config.php). In extreme instances, changing `$config['sess_match_ip'] = true;` to `FALSE` may also help.
|
||||
- If you install OSPOS behind a proxy and OSPOS constantly drops your session, consider whitelisting the proxy IP address by setting `public array $proxyIPs = [];` in the [main PHP config file](https://github.com/opensourcepos/opensourcepos/blob/master/app/Config/App.php).
|
||||
|
||||
- If you have suhosin installed and face an issue with CSRF, please make sure you read [issue #1492](https://github.com/opensourcepos/opensourcepos/issues/1492).
|
||||
|
||||
@@ -137,7 +137,7 @@ Any person or company found breaching the license agreement might find a bunch o
|
||||
|
||||
## 🙏 Credits
|
||||
|
||||
| <div align="center">JetBrains</div> | <div align="center">Travis CI</div> |
|
||||
|--- | --- |
|
||||
| <div align="center"><a href="https://www.jetbrains.com/idea/" target="_blank"><img src="https://github.com/opensourcepos/opensourcepos/assets/12870258/187f9bbe-4484-475c-9b58-5e5d5f931f09" alt="IntelliJ IDEA Logo" height="50"></a></div> | <div align="center"><a href="https://www.travis-ci.com/" target="_blank"><img src="https://github.com/opensourcepos/opensourcepos/assets/12870258/71cc2b44-83af-4510-a543-6358285f43c6" alt="Travis CI Logo" height="50"></a></div> |
|
||||
| Many thanks to [JetBrains](https://www.jetbrains.com/) for providing a free license of [IntelliJ IDEA](https://www.jetbrains.com/idea/) to kindly support the development of OSPOS. | Many thanks to [Travis CI](https://www.travis-ci.com/) for providing a free continuous integration service for open source projects. |
|
||||
| <div align="center">DigitalOcean</div> | <div align="center">JetBrains</div> | <div align="center">Travis CI</div> |
|
||||
| --- | --- | --- |
|
||||
| <div align="center"><a href="https://www.digitalocean.com?utm_medium=opensource&utm_source=opensourcepos" target="_blank"><img src="https://github.com/user-attachments/assets/fbbf7433-ed35-407d-8946-fd03d236d350" alt="DigitalOcean Logo" height="50"></a></div> | <div align="center"><a href="https://www.jetbrains.com/idea/" target="_blank"><img src="https://github.com/opensourcepos/opensourcepos/assets/12870258/187f9bbe-4484-475c-9b58-5e5d5f931f09" alt="IntelliJ IDEA Logo" height="50"></a></div> | <div align="center"><a href="https://www.travis-ci.com/" target="_blank"><img src="https://github.com/opensourcepos/opensourcepos/assets/12870258/71cc2b44-83af-4510-a543-6358285f43c6" alt="Travis CI Logo" height="50"></a></div> |
|
||||
| Many thanks to [DigitalOcean](https://www.digitalocean.com) for providing the project with hosting credits. | Many thanks to [JetBrains](https://www.jetbrains.com/) for providing a free license of [IntelliJ IDEA](https://www.jetbrains.com/idea/) to kindly support the development of OSPOS. | Many thanks to [Travis CI](https://www.travis-ci.com/) for providing a free continuous integration service for open source projects. |
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
## How to Upgrade
|
||||
|
||||
> [!WARNING]
|
||||
> Not updated for upcoming CodeIgniter4 release (3.4.0 and subsequent versions).
|
||||
|
||||
1. Back up all your current database and OSPOS code.
|
||||
2. Make sure you have a copy of `application/config/config.php` and `application/config/database.php`.
|
||||
3. Remove all directories.
|
||||
|
||||
@@ -12,7 +12,7 @@ class App extends BaseConfig
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public string $application_version = '3.4.0-dev';
|
||||
public string $application_version = '3.4.0';
|
||||
|
||||
/**
|
||||
* This is the commit hash for the version you are currently using.
|
||||
|
||||
@@ -109,7 +109,7 @@ class OSPOSRules
|
||||
private function installation_check(): bool
|
||||
{
|
||||
$installed_extensions = implode(', ', get_loaded_extensions());
|
||||
$required_extensions = ['bcmath', 'intl', 'gd', 'openssl', 'mbstring', 'curl'];
|
||||
$required_extensions = ['bcmath', 'intl', 'gd', 'openssl', 'mbstring', 'curl', 'xml', 'json'];
|
||||
$pattern = '/';
|
||||
|
||||
foreach($required_extensions as $extension)
|
||||
@@ -140,23 +140,6 @@ class OSPOSRules
|
||||
*/
|
||||
public function decimal_locale(string $candidate, ?string &$error = null): bool
|
||||
{
|
||||
$candidate = prepare_decimal($candidate);
|
||||
$validation = Services::validation();
|
||||
|
||||
$validation->setRules([
|
||||
'candidate' => 'decimal'
|
||||
]);
|
||||
|
||||
$data = [
|
||||
'candidate' => $candidate
|
||||
];
|
||||
|
||||
if (!$validation->run($data))
|
||||
{
|
||||
$error = $validation->getErrors();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return parse_decimals($candidate) !== false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ class Attributes extends Secure_Controller
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(ATTRIBUTE_DEFINITION_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'definition_id');
|
||||
$sort = $this->sanitizeSortColumn(attribute_definition_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'definition_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$attributes = $this->attribute->search($search, $limit, $offset, $sort, $order);
|
||||
@@ -67,8 +67,8 @@ class Attributes extends Secure_Controller
|
||||
$success = $this->attribute->saveAttributeValue(
|
||||
html_entity_decode($this->request->getPost('attribute_value')),
|
||||
$this->request->getPost('definition_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
$this->request->getPost('item_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
$this->request->getPost('attribute_id', FILTER_SANITIZE_NUMBER_INT)
|
||||
$this->request->getPost('item_id', FILTER_SANITIZE_NUMBER_INT) ?? false,
|
||||
$this->request->getPost('attribute_id', FILTER_SANITIZE_NUMBER_INT) ?? false
|
||||
);
|
||||
|
||||
echo json_encode(['success' => $success != 0]);
|
||||
@@ -231,14 +231,15 @@ class Attributes extends Secure_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* AJAX called function to delete an attribute value. This is never called in the code. Perhaps it was boiler plate code that just isn't needed?
|
||||
* @param int $attribute_id
|
||||
* AJAX called function to delete an attribute value. This is called when a dropdown item is removed.
|
||||
*
|
||||
* @param string $attribute_value
|
||||
* @return bool
|
||||
* @noinspection PhpUnused
|
||||
*/
|
||||
public function delete_value(int $attribute_id): bool //TODO: This function appears to never be used in the codebase. Is it needed?
|
||||
public function delete_value(string $attribute_value): bool
|
||||
{
|
||||
return $this->attribute->delete_value($attribute_id, NO_DEFINITION_ID);
|
||||
return $this->attribute->delete_value($attribute_value, NO_DEFINITION_ID);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -46,7 +46,7 @@ class Cashups extends Secure_Controller
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(CASHUPS_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'cashup_id');
|
||||
$sort = $this->sanitizeSortColumn(cashup_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'cashup_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$filters = [
|
||||
'start_date' => $this->request->getGet('start_date', FILTER_SANITIZE_FULL_SPECIAL_CHARS), //TODO: Is this the best way to filter dates
|
||||
@@ -228,24 +228,16 @@ class Cashups extends Secure_Controller
|
||||
$close_date = $this->request->getPost('close_date');
|
||||
$close_date_formatter = date_create_from_format($this->config['dateformat'] . ' ' . $this->config['timeformat'], $close_date);
|
||||
|
||||
$open_amount_cash = prepare_decimal($this->request->getPost('open_amount_cash'));
|
||||
$transfer_amount_cash = prepare_decimal($this->request->getPost('transfer_amount_cash'));
|
||||
$closed_amount_cash = prepare_decimal($this->request->getPost('closed_amount_cash'));
|
||||
$closed_amount_due = prepare_decimal($this->request->getPost('closed_amount_due'));
|
||||
$closed_amount_card = prepare_decimal($this->request->getPost('closed_amount_card'));
|
||||
$closed_amount_check = prepare_decimal($this->request->getPost('closed_amount_check'));
|
||||
$closed_amount_total = prepare_decimal($this->request->getPost('closed_amount_total'));
|
||||
|
||||
$cash_up_data = [
|
||||
'open_date' => $open_date_formatter->format('Y-m-d H:i:s'),
|
||||
'close_date' => $close_date_formatter->format('Y-m-d H:i:s'),
|
||||
'open_amount_cash' => parse_decimals(filter_var($open_amount_cash, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'transfer_amount_cash' => parse_decimals(filter_var($transfer_amount_cash, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'closed_amount_cash' => parse_decimals(filter_var($closed_amount_cash, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'closed_amount_due' => parse_decimals(filter_var($closed_amount_due, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'closed_amount_card' => parse_decimals(filter_var($closed_amount_card, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'closed_amount_check' => parse_decimals(filter_var($closed_amount_check, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'closed_amount_total' => parse_decimals(filter_var($closed_amount_total, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'open_amount_cash' => parse_decimals($this->request->getPost('open_amount_cash')),
|
||||
'transfer_amount_cash' => parse_decimals($this->request->getPost('transfer_amount_cash')),
|
||||
'closed_amount_cash' => parse_decimals($this->request->getPost('closed_amount_cash')),
|
||||
'closed_amount_due' => parse_decimals($this->request->getPost('closed_amount_due')),
|
||||
'closed_amount_card' => parse_decimals($this->request->getPost('closed_amount_card')),
|
||||
'closed_amount_check' => parse_decimals($this->request->getPost('closed_amount_check')),
|
||||
'closed_amount_total' => parse_decimals($this->request->getPost('closed_amount_total')),
|
||||
'note' => $this->request->getPost('note') != null,
|
||||
'description' => $this->request->getPost('description', FILTER_SANITIZE_FULL_SPECIAL_CHARS),
|
||||
'open_employee_id' => $this->request->getPost('open_employee_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
@@ -296,19 +288,12 @@ class Cashups extends Secure_Controller
|
||||
*/
|
||||
public function ajax_cashup_total(): void
|
||||
{
|
||||
$raw_open_amount_cash = $this->request->getPost('open_amount_cash');
|
||||
$raw_transfer_amount_cash = $this->request->getPost('transfer_amount_cash');
|
||||
$raw_closed_amount_cash = $this->request->getPost('closed_amount_cash');
|
||||
$raw_closed_amount_due = $this->request->getPost('closed_amount_due');
|
||||
$raw_closed_amount_card = $this->request->getPost('closed_amount_card');
|
||||
$raw_closed_amount_check = $this->request->getPost('closed_amount_check');
|
||||
|
||||
$open_amount_cash = parse_decimals(filter_var(prepare_decimal($raw_open_amount_cash), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$transfer_amount_cash = parse_decimals(filter_var(prepare_decimal($raw_transfer_amount_cash), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$closed_amount_cash = parse_decimals(filter_var(prepare_decimal($raw_closed_amount_cash), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$closed_amount_due = parse_decimals(filter_var(prepare_decimal($raw_closed_amount_due), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$closed_amount_card = parse_decimals(filter_var(prepare_decimal($raw_closed_amount_card), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$closed_amount_check = parse_decimals(filter_var(prepare_decimal($raw_closed_amount_check), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$open_amount_cash = parse_decimals($this->request->getPost('open_amount_cash'));
|
||||
$transfer_amount_cash = parse_decimals($this->request->getPost('transfer_amount_cash'));
|
||||
$closed_amount_cash = parse_decimals($this->request->getPost('closed_amount_cash'));
|
||||
$closed_amount_due = parse_decimals($this->request->getPost('closed_amount_due'));
|
||||
$closed_amount_card = parse_decimals($this->request->getPost('closed_amount_card'));
|
||||
$closed_amount_check = parse_decimals($this->request->getPost('closed_amount_check'));
|
||||
|
||||
$total = $this->_calculate_total($open_amount_cash, $transfer_amount_cash, $closed_amount_due, $closed_amount_cash, $closed_amount_card, $closed_amount_check); //TODO: hungarian notation
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ class Config extends Secure_Controller
|
||||
$license[$i]['title'] = 'Open Source Point Of Sale ' . config('App')->application_version;
|
||||
|
||||
if (file_exists('license/LICENSE')) {
|
||||
$license[$i]['text'] = file_get_contents('license/LICENSE', false, null, 0, 2000);
|
||||
$license[$i]['text'] = file_get_contents('license/LICENSE', false, null, 0, 3000);
|
||||
} else {
|
||||
$license[$i]['text'] = 'LICENSE file must be in OSPOS license directory. You are not allowed to use OSPOS application until the distribution copy of LICENSE file is present.';
|
||||
}
|
||||
@@ -139,13 +139,13 @@ class Config extends Secure_Controller
|
||||
$license[$i]['text'] .= "$val3 ";
|
||||
}
|
||||
|
||||
$license[$i]['text'] .= '\n';
|
||||
$license[$i]['text'] .= "\n";
|
||||
} else {
|
||||
$license[$i]['text'] .= "$key2: $val2\n";
|
||||
}
|
||||
}
|
||||
|
||||
$license[$i]['text'] .= '\n';
|
||||
$license[$i]['text'] .= "\n";
|
||||
} else {
|
||||
$license[$i]['text'] .= "$key1: $val1\n";
|
||||
}
|
||||
@@ -360,16 +360,13 @@ class Config extends Secure_Controller
|
||||
*/
|
||||
public function postSaveGeneral(): void
|
||||
{
|
||||
$default_sales_discount = prepare_decimal($this->request->getPost('default_sales_discount'));
|
||||
$default_receivings_discount = prepare_decimal($this->request->getPost('default_receivings_discount'));
|
||||
|
||||
$batch_save_data = [
|
||||
'theme' => $this->request->getPost('theme'),
|
||||
'login_form' => $this->request->getPost('login_form'),
|
||||
'default_sales_discount_type' => $this->request->getPost('default_sales_discount_type') != null,
|
||||
'default_sales_discount' => filter_var($default_sales_discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'default_sales_discount' => parse_decimals($this->request->getPost('default_sales_discount')),
|
||||
'default_receivings_discount_type' => $this->request->getPost('default_receivings_discount_type') != null,
|
||||
'default_receivings_discount' => filter_var($default_receivings_discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'default_receivings_discount' => parse_decimals($this->request->getPost('default_receivings_discount')),
|
||||
'enforce_privacy' => $this->request->getPost('enforce_privacy') != null,
|
||||
'receiving_calculate_average_price' => $this->request->getPost('receiving_calculate_average_price') != null,
|
||||
'lines_per_page' => $this->request->getPost('lines_per_page', FILTER_SANITIZE_NUMBER_INT),
|
||||
@@ -772,8 +769,8 @@ class Config extends Secure_Controller
|
||||
*/
|
||||
public function postSaveTax(): void
|
||||
{
|
||||
$default_tax_1_rate = prepare_decimal($this->request->getPost('default_tax_1_rate'));
|
||||
$default_tax_2_rate = prepare_decimal($this->request->getPost('default_tax_2_rate'));
|
||||
$default_tax_1_rate = $this->request->getPost('default_tax_1_rate');
|
||||
$default_tax_2_rate = $this->request->getPost('default_tax_2_rate');
|
||||
|
||||
$batch_save_data = [
|
||||
'default_tax_1_rate' => parse_tax(filter_var($default_tax_1_rate, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
|
||||
@@ -90,7 +90,7 @@ class Customers extends Persons
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(CUSTOMER_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'people.person_id');
|
||||
$sort = $this->sanitizeSortColumn(customer_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'people.person_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$customers = $this->customer->search($search, $limit, $offset, $sort, $order);
|
||||
@@ -286,14 +286,12 @@ class Customers extends Persons
|
||||
|
||||
$date_formatter = date_create_from_format($this->config['dateformat'] . ' ' . $this->config['timeformat'], $this->request->getPost('date'));
|
||||
|
||||
$discount = prepare_decimal($this->request->getPost('discount'));
|
||||
|
||||
$customer_data = [
|
||||
'consent' => $this->request->getPost('consent') != null,
|
||||
'account_number' => $this->request->getPost('account_number') == '' ? null : $this->request->getPost('account_number'),
|
||||
'tax_id' => $this->request->getPost('tax_id'),
|
||||
'company_name' => $this->request->getPost('company_name') == '' ? null : $this->request->getPost('company_name'),
|
||||
'discount' => $this->request->getPost('discount') == '' ? 0.00 : filter_var($discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'discount' => $this->request->getPost('discount') == '' ? 0.00 : parse_decimals($this->request->getPost('discount')),
|
||||
'discount_type' => $this->request->getPost('discount_type') == null ? PERCENT : $this->request->getPost('discount_type', FILTER_SANITIZE_NUMBER_INT),
|
||||
'package_id' => $this->request->getPost('package_id') == '' ? null : $this->request->getPost('package_id'),
|
||||
'taxable' => $this->request->getPost('taxable') != null,
|
||||
|
||||
@@ -30,7 +30,7 @@ class Employees extends Persons
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(PERSON_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'people.person_id');
|
||||
$sort = $this->sanitizeSortColumn(person_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'people.person_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$employees = $this->employee->search($search, $limit, $offset, $sort, $order);
|
||||
|
||||
@@ -48,7 +48,7 @@ class Expenses extends Secure_Controller
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(EXPENSE_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'expense_id');
|
||||
$sort = $this->sanitizeSortColumn(expense_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'expense_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$filters = [
|
||||
'start_date' => $this->request->getGet('start_date', FILTER_SANITIZE_FULL_SPECIAL_CHARS),
|
||||
@@ -158,15 +158,13 @@ class Expenses extends Secure_Controller
|
||||
$newdate = $this->request->getPost('date', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$date_formatter = date_create_from_format($config['dateformat'] . ' ' . $config['timeformat'], $newdate);
|
||||
$amount = prepare_decimal($this->request->getPost('amount'));
|
||||
$tax_amount = prepare_decimal($this->request->getPost('tax_amount'));
|
||||
|
||||
$expense_data = [
|
||||
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
||||
'supplier_id' => $this->request->getPost('supplier_id') == '' ? null : $this->request->getPost('supplier_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
'supplier_tax_code' => $this->request->getPost('supplier_tax_code', FILTER_SANITIZE_FULL_SPECIAL_CHARS),
|
||||
'amount' => filter_var($amount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'tax_amount' => filter_var($tax_amount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'amount' => parse_decimals($this->request->getPost('amount')),
|
||||
'tax_amount' => parse_decimals($this->request->getPost('tax_amount')),
|
||||
'payment_type' => $this->request->getPost('payment_type', FILTER_SANITIZE_FULL_SPECIAL_CHARS),
|
||||
'expense_category_id' => $this->request->getPost('expense_category_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
'description' => $this->request->getPost('description', FILTER_SANITIZE_FULL_SPECIAL_CHARS),
|
||||
|
||||
@@ -34,7 +34,7 @@ class Expenses_categories extends Secure_Controller //TODO: Is this class ever u
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(EXPENSE_CATEGORY_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'expense_category_id');
|
||||
$sort = $this->sanitizeSortColumn(expense_category_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'expense_category_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$expense_categories = $this->expense_category->search($search, $limit, $offset, $sort, $order);
|
||||
|
||||
@@ -35,7 +35,7 @@ class Giftcards extends Secure_Controller
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(GIFTCARD_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'giftcard_id');
|
||||
$sort = $this->sanitizeSortColumn(giftcard_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'giftcard_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$giftcards = $this->giftcard->search($search, $limit, $offset, $sort, $order);
|
||||
@@ -120,17 +120,16 @@ class Giftcards extends Secure_Controller
|
||||
public function postSave(int $giftcard_id = NEW_ENTRY): void
|
||||
{
|
||||
$giftcard_number = $this->request->getPost('giftcard_number', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$giftcard_amount = prepare_decimal($this->request->getPost('giftcard_amount'));
|
||||
|
||||
if($giftcard_id == NEW_ENTRY && trim($giftcard_number) == '')
|
||||
{
|
||||
$giftcard_number = $this->giftcard->generate_unique_giftcard_name(filter_var($giftcard_amount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$giftcard_number = $this->giftcard->generate_unique_giftcard_name($giftcard_number);
|
||||
}
|
||||
|
||||
$giftcard_data = [
|
||||
'record_time' => date('Y-m-d H:i:s'),
|
||||
'giftcard_number' => $giftcard_number,
|
||||
'value' => filter_var($giftcard_amount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'value' => parse_decimals($this->request->getPost('giftcard_amount')),
|
||||
'person_id' => $this->request->getPost('person_id') == '' ? null : $this->request->getPost('person_id', FILTER_SANITIZE_NUMBER_INT)
|
||||
];
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ class Item_kits extends Secure_Controller
|
||||
$search = $this->request->getGet('search') ?? '';
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(ITEM_KIT_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'item_kit_id');
|
||||
$sort = $this->sanitizeSortColumn(item_kit_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'item_kit_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$item_kits = $this->item_kit->search($search, $limit, $offset, $sort, $order);
|
||||
@@ -169,13 +169,11 @@ class Item_kits extends Secure_Controller
|
||||
*/
|
||||
public function postSave(int $item_kit_id = NEW_ENTRY): void
|
||||
{
|
||||
$kit_discount = prepare_decimal($this->request->getPost('kit_discount'));
|
||||
|
||||
$item_kit_data = [
|
||||
'name' => $this->request->getPost('name'),
|
||||
'item_kit_number' => $this->request->getPost('item_kit_number'),
|
||||
'item_id' => $this->request->getPost('kit_item_id') ? null : intval($this->request->getPost('kit_item_id')),
|
||||
'kit_discount' => filter_var($kit_discount,FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),
|
||||
'kit_discount' => parse_decimals($this->request->getPost('kit_discount')),
|
||||
'kit_discount_type' => $this->request->getPost('kit_discount_type') === null ? PERCENT : intval($this->request->getPost('kit_discount_type')),
|
||||
'price_option' => $this->request->getPost('price_option') === null ? PRICE_ALL : intval($this->request->getPost('price_option')),
|
||||
'print_option' => $this->request->getPost('print_option') === null ? PRINT_ALL : intval($this->request->getPost('print_option')),
|
||||
|
||||
@@ -97,7 +97,7 @@ class Items extends Secure_Controller
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(ITEM_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'item_id');
|
||||
$sort = $this->sanitizeSortColumn(item_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'item_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$this->item_lib->set_item_location($this->request->getGet('stock_location'));
|
||||
@@ -195,7 +195,7 @@ class Items extends Secure_Controller
|
||||
*/
|
||||
public function getSuggest(): void
|
||||
{
|
||||
$search = $this->request->getPost('term');
|
||||
$search = $this->request->getGet('term');
|
||||
$suggestions = $this->item->get_search_suggestions($search, ['search_custom' => false, 'is_deleted' => false], true);
|
||||
|
||||
echo json_encode($suggestions);
|
||||
@@ -205,7 +205,7 @@ class Items extends Secure_Controller
|
||||
* @return void
|
||||
* @noinspection PhpUnused
|
||||
*/
|
||||
public function suggest_low_sell(): void
|
||||
public function getSuggestLowSell(): void
|
||||
{
|
||||
$suggestions = $this->item->get_low_sell_suggestions($this->request->getPostGet('name'));
|
||||
|
||||
@@ -631,9 +631,9 @@ class Items extends Secure_Controller
|
||||
$upload_data = $this->upload_image();
|
||||
$upload_success = empty($upload_data['error']);
|
||||
|
||||
$raw_receiving_quantity = prepare_decimal($this->request->getPost('receiving_quantity'));
|
||||
$raw_receiving_quantity = $this->request->getPost('receiving_quantity');
|
||||
|
||||
$receiving_quantity = parse_quantity(filter_var($raw_receiving_quantity, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$receiving_quantity = parse_quantity($raw_receiving_quantity);
|
||||
$item_type = $this->request->getPost('item_type') === null ? ITEM : intval($this->request->getPost('item_type'));
|
||||
|
||||
if($receiving_quantity === 0.0 && $item_type !== ITEM_TEMP)
|
||||
@@ -643,10 +643,10 @@ class Items extends Secure_Controller
|
||||
|
||||
$default_pack_name = lang('Items.default_pack_name');
|
||||
|
||||
$cost_price = prepare_decimal($this->request->getPost('cost_price'));
|
||||
$unit_price = prepare_decimal($this->request->getPost('unit_price'));
|
||||
$reorder_level = prepare_decimal($this->request->getPost('reorder_level'));
|
||||
$qty_per_pack = prepare_decimal($this->request->getPost('qty_per_pack') ?? '');
|
||||
$cost_price = parse_decimals($this->request->getPost('cost_price'));
|
||||
$unit_price = parse_decimals($this->request->getPost('unit_price'));
|
||||
$reorder_level = parse_quantity($this->request->getPost('reorder_level'));
|
||||
$qty_per_pack = parse_quantity($this->request->getPost('qty_per_pack') ?? '');
|
||||
|
||||
//Save item data
|
||||
$item_data = [
|
||||
@@ -657,13 +657,13 @@ class Items extends Secure_Controller
|
||||
'stock_type' => $this->request->getPost('stock_type') === null ? HAS_STOCK : intval($this->request->getPost('stock_type')),
|
||||
'supplier_id' => empty($this->request->getPost('supplier_id')) ? null : intval($this->request->getPost('supplier_id')),
|
||||
'item_number' => empty($this->request->getPost('item_number')) ? null : $this->request->getPost('item_number'),
|
||||
'cost_price' => parse_decimals(filter_var($cost_price, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'unit_price' => parse_decimals(filter_var($unit_price, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'reorder_level' => parse_quantity(filter_var($reorder_level, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'cost_price' => $cost_price,
|
||||
'unit_price' => $unit_price,
|
||||
'reorder_level' => $reorder_level,
|
||||
'receiving_quantity' => $receiving_quantity,
|
||||
'allow_alt_description' => $this->request->getPost('allow_alt_description') != null,
|
||||
'is_serialized' => $this->request->getPost('is_serialized') != null,
|
||||
'qty_per_pack' => $this->request->getPost('qty_per_pack') == null ? 1 : parse_quantity(filter_var($qty_per_pack, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)),
|
||||
'qty_per_pack' => $this->request->getPost('qty_per_pack') == null ? 1 : parse_quantity($qty_per_pack),
|
||||
'pack_name' => $this->request->getPost('pack_name') == null ? $default_pack_name : $this->request->getPost('pack_name'),
|
||||
'low_sell_item_id' => $this->request->getPost('low_sell_item_id') === null ? $item_id : intval($this->request->getPost('low_sell_item_id')),
|
||||
'deleted' => $this->request->getPost('is_deleted') != null,
|
||||
@@ -688,9 +688,9 @@ class Items extends Secure_Controller
|
||||
$item_data['tax_category_id'] = empty($this->request->getPost('tax_category_id')) ? null : intval($this->request->getPost('tax_category_id'));
|
||||
}
|
||||
|
||||
$item_data['pic_filename'] = !empty($upload_data['orig_name']) && $upload_data['raw_name']
|
||||
? $upload_data['raw_name'] . '.' . $upload_data['file_ext']
|
||||
: null;
|
||||
if (!empty($upload_data['orig_name']) && $upload_data['raw_name']) {
|
||||
$item_data['pic_filename'] = $upload_data['raw_name'] . '.' . $upload_data['file_ext'];
|
||||
}
|
||||
|
||||
$employee_id = $this->employee->get_logged_in_employee_info()->person_id;
|
||||
|
||||
@@ -733,8 +733,7 @@ class Items extends Secure_Controller
|
||||
$stock_locations = $this->stock_location->get_undeleted_all()->getResultArray();
|
||||
foreach($stock_locations as $location)
|
||||
{
|
||||
$stock_quantity = prepare_decimal($this->request->getPost('quantity_' . $location['location_id']));
|
||||
$updated_quantity = parse_quantity(filter_var($stock_quantity, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$updated_quantity = parse_quantity($this->request->getPost('quantity_' . $location['location_id']));
|
||||
|
||||
if($item_data['item_type'] == ITEM_TEMP)
|
||||
{
|
||||
@@ -887,14 +886,14 @@ class Items extends Secure_Controller
|
||||
$employee_id = $this->employee->get_logged_in_employee_info()->person_id;
|
||||
$cur_item_info = $this->item->get_info($item_id);
|
||||
$location_id = $this->request->getPost('stock_location');
|
||||
$new_quantity = prepare_decimal($this->request->getPost('newquantity'));
|
||||
$new_quantity = $this->request->getPost('newquantity');
|
||||
$inv_data = [
|
||||
'trans_date' => date('Y-m-d H:i:s'),
|
||||
'trans_items' => $item_id,
|
||||
'trans_user' => $employee_id,
|
||||
'trans_location' => $location_id,
|
||||
'trans_comment' => $this->request->getPost('trans_comment'),
|
||||
'trans_inventory' => parse_quantity(filter_var($new_quantity, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION))
|
||||
'trans_inventory' => parse_quantity($new_quantity)
|
||||
];
|
||||
|
||||
$this->inventory->insert($inv_data, false);
|
||||
@@ -1447,7 +1446,7 @@ class Items extends Secure_Controller
|
||||
$attributeId = $attributeValue;
|
||||
break;
|
||||
case DECIMAL:
|
||||
$attributeValue = prepare_decimal($attributeValue);
|
||||
$attributeValue = parse_decimals($attributeValue);
|
||||
//Fall through to save the attribute value
|
||||
default:
|
||||
$attributeId = $this->attribute->saveAttributeValue($attributeValue, $definitionId, $itemId, $attributeIds[$definitionId], $definitionType);
|
||||
|
||||
@@ -35,7 +35,7 @@ abstract class Persons extends Secure_Controller
|
||||
*/
|
||||
public function getSuggest(): void
|
||||
{
|
||||
$search = $this->request->getPost('term');
|
||||
$search = $this->request->getGet('term');
|
||||
$suggestions = $this->person->get_search_suggestions($search);
|
||||
|
||||
echo json_encode($suggestions);
|
||||
|
||||
@@ -206,24 +206,21 @@ class Receivings extends Secure_Controller
|
||||
$data = [];
|
||||
|
||||
$validation_rule = [
|
||||
'price' => 'trim|required|numeric',
|
||||
'quantity' => 'trim|required|numeric',
|
||||
'discount' => 'trim|required|numeric',
|
||||
'price' => 'trim|required|decimal_locale',
|
||||
'quantity' => 'trim|required|decimal_locale',
|
||||
'discount' => 'trim|permit_empty|decimal_locale',
|
||||
];
|
||||
|
||||
$raw_price = prepare_decimal($this->request->getPost('price'));
|
||||
$raw_quantity = prepare_decimal($this->request->getPost('quantity'));
|
||||
$raw_discount = prepare_decimal($this->request->getPost('discount'));
|
||||
$raw_receiving_quantity = prepare_decimal($this->request->getPost('receiving_quantity'));
|
||||
$price = parse_decimals($this->request->getPost('price'));
|
||||
$quantity = parse_quantity($this->request->getPost('quantity'));
|
||||
$raw_receiving_quantity = parse_quantity($this->request->getPost('receiving_quantity'));
|
||||
|
||||
$description = $this->request->getPost('description', FILTER_SANITIZE_FULL_SPECIAL_CHARS); //TODO: Duplicated code
|
||||
$serialnumber = $this->request->getPost('serialnumber', FILTER_SANITIZE_FULL_SPECIAL_CHARS) ?? '';
|
||||
$price = filter_var($raw_price, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$quantity = filter_var($raw_quantity, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$discount_type = $this->request->getPost('discount_type', FILTER_SANITIZE_NUMBER_INT);
|
||||
$discount = $discount_type
|
||||
? parse_quantity(filter_var($raw_discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION))
|
||||
: parse_decimals(filter_var($raw_discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
? parse_quantity(filter_var($this->request->getPost('discount'), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION))
|
||||
: parse_decimals(filter_var($this->request->getPost('discount'), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
|
||||
$receiving_quantity = filter_var($raw_receiving_quantity, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
|
||||
@@ -327,7 +324,7 @@ class Receivings extends Secure_Controller
|
||||
*/
|
||||
public function postComplete(): void
|
||||
{
|
||||
$amount_tendered = prepare_decimal($this->request->getPost('amount_tendered'));
|
||||
|
||||
$data = [];
|
||||
|
||||
$data['cart'] = $this->receiving_lib->get_cart();
|
||||
@@ -341,7 +338,7 @@ class Receivings extends Secure_Controller
|
||||
$data['stock_location'] = $this->receiving_lib->get_stock_source();
|
||||
if($this->request->getPost('amount_tendered') != null)
|
||||
{
|
||||
$data['amount_tendered'] = filter_var($amount_tendered, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$data['amount_tendered'] = parse_decimals($this->request->getPost('amount_tendered'));
|
||||
$data['amount_change'] = to_currency($data['amount_tendered'] - $data['total']);
|
||||
}
|
||||
|
||||
@@ -404,7 +401,7 @@ class Receivings extends Secure_Controller
|
||||
$this->receiving_lib->add_item($item['item_id'], -$item['quantity'], $this->receiving_lib->get_stock_source(), $item['discount_type']);
|
||||
}
|
||||
|
||||
$this->complete();
|
||||
$this->postComplete();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -136,7 +136,7 @@ class Sales extends Secure_Controller
|
||||
$search = $this->request->getGet('search', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(SALES_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'sale_id');
|
||||
$sort = $this->sanitizeSortColumn(sales_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'sale_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$filters = [
|
||||
@@ -371,8 +371,8 @@ class Sales extends Secure_Controller
|
||||
*/
|
||||
public function postSetPriceWorkOrders(): void
|
||||
{
|
||||
$price_work_orders = prepare_decimal($this->request->getPost('price_work_orders'));
|
||||
$this->sale_lib->set_price_work_orders(filter_var($price_work_orders, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$price_work_orders = parse_decimals($this->request->getPost('price_work_orders'));
|
||||
$this->sale_lib->set_price_work_orders($price_work_orders);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -420,8 +420,8 @@ class Sales extends Secure_Controller
|
||||
if($payment_type === lang('Sales.giftcard'))
|
||||
{
|
||||
//In the case of giftcard payment the register input amount_tendered becomes the giftcard number
|
||||
$amount_tendered = prepare_decimal($this->request->getPost('amount_tendered'));
|
||||
$giftcard_num = filter_var($amount_tendered, FILTER_SANITIZE_FULL_SPECIAL_CHARS, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$amount_tendered = parse_decimals($this->request->getPost('amount_tendered'));
|
||||
$giftcard_num = $amount_tendered;
|
||||
|
||||
$payments = $this->sale_lib->get_payments();
|
||||
$payment_type = $payment_type . ':' . $giftcard_num;
|
||||
@@ -485,8 +485,7 @@ class Sales extends Secure_Controller
|
||||
{
|
||||
$amount_due = $this->sale_lib->get_total();
|
||||
$sales_total = $this->sale_lib->get_total(false);
|
||||
$raw_amount_tendered = prepare_decimal($this->request->getPost('amount_tendered'));
|
||||
$amount_tendered = filter_var($raw_amount_tendered, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$amount_tendered = parse_decimals($this->request->getPost('amount_tendered'));
|
||||
$this->sale_lib->add_payment($payment_type, $amount_tendered);
|
||||
$cash_adjustment_amount = $amount_due - $sales_total;
|
||||
if($cash_adjustment_amount <> 0)
|
||||
@@ -497,8 +496,7 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
$raw_amount_tendered = prepare_decimal($this->request->getPost('amount_tendered'));
|
||||
$amount_tendered = filter_var($raw_amount_tendered, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$amount_tendered = parse_decimals($this->request->getPost('amount_tendered'));
|
||||
$this->sale_lib->add_payment($payment_type, $amount_tendered);
|
||||
}
|
||||
}
|
||||
@@ -608,7 +606,7 @@ class Sales extends Secure_Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$this->sale_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $item_location, $quantity, $discount, $discount_type, PRICE_MODE_STANDARD, null, null, $price))
|
||||
if($item_id_or_number_or_item_kit_or_receipt == '' || !$this->sale_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $item_location, $quantity, $discount, $discount_type, PRICE_MODE_STANDARD, null, null, $price))
|
||||
{
|
||||
$data['error'] = lang('Sales.unable_to_add_item');
|
||||
}
|
||||
@@ -633,30 +631,25 @@ class Sales extends Secure_Controller
|
||||
$data = [];
|
||||
|
||||
$rules = [
|
||||
'price' => 'trim|required|numeric',
|
||||
'quantity' => 'trim|required|numeric',
|
||||
'discount' => 'trim|permit_empty|numeric',
|
||||
'price' => 'trim|required|decimal_locale',
|
||||
'quantity' => 'trim|required|decimal_locale',
|
||||
'discount' => 'trim|permit_empty|decimal_locale',
|
||||
];
|
||||
|
||||
if($this->validate($rules))
|
||||
{
|
||||
$raw_price = prepare_decimal($this->request->getPost('price'));
|
||||
$raw_quantity = prepare_decimal($this->request->getPost('quantity'));
|
||||
$raw_discount = prepare_decimal($this->request->getPost('discount'));
|
||||
$raw_discounted_total = prepare_decimal($this->request->getPost('discounted_total') ?? '');
|
||||
|
||||
$description = $this->request->getPost('description', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$serialnumber = $this->request->getPost('serialnumber', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$price = filter_var($raw_price, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$quantity = filter_var($raw_quantity, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$price = parse_decimals($this->request->getPost('price'));
|
||||
$quantity = parse_decimals($this->request->getPost('quantity'));
|
||||
$discount_type = $this->request->getPost('discount_type', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$discount = $discount_type
|
||||
? parse_quantity(filter_var($raw_discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION))
|
||||
: parse_decimals(filter_var($raw_discount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
? parse_quantity($this->request->getPost('discount'))
|
||||
: parse_decimals($this->request->getPost('discount'));
|
||||
|
||||
$item_location = $this->request->getPost('location', FILTER_SANITIZE_NUMBER_INT);
|
||||
$discounted_total = $this->request->getPost('discounted_total') != ''
|
||||
? filter_var($raw_discounted_total, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)
|
||||
? parse_decimals($this->request->getPost('discounted_total') ?? '')
|
||||
: null;
|
||||
|
||||
|
||||
@@ -991,21 +984,21 @@ class Sales extends Secure_Controller
|
||||
if(!empty($sale_data['customer_email']))
|
||||
{
|
||||
$to = $sale_data['customer_email'];
|
||||
$number = $sale_data[$type."_number"];
|
||||
$number = array_key_exists($type."_number", $sale_data) ? $sale_data[$type."_number"] : "";
|
||||
$subject = lang('Sales.' . $type) . ' ' . $number;
|
||||
|
||||
$text = $this->config['invoice_email_message'];
|
||||
$tokens = [
|
||||
new Token_invoice_sequence($sale_data['invoice_number']),
|
||||
new Token_invoice_count('POS ' . $sale_data['sale_id']),
|
||||
new Token_customer((object)$sale_data)
|
||||
new Token_customer((array)$sale_data)
|
||||
];
|
||||
$text = $this->token_lib->render($text, $tokens);
|
||||
$sale_data['mimetype'] = mime_content_type(FCPATH . 'uploads/' . $this->config['company_logo']);
|
||||
|
||||
// generate email attachment: invoice in pdf format
|
||||
$view = Services::renderer();
|
||||
$html = $view->render("sales/$type" . '_email', $sale_data);
|
||||
$html = $view->setData($sale_data)->render("sales/$type" . '_email', $sale_data);
|
||||
|
||||
// load pdf helper
|
||||
helper (['dompdf', 'file']);
|
||||
@@ -1047,7 +1040,7 @@ class Sales extends Secure_Controller
|
||||
$subject = lang('Sales.receipt');
|
||||
|
||||
$view = Services::renderer();
|
||||
$text = $view->render('sales/receipt_email', $sale_data);
|
||||
$text = $view->setData($sale_data)->render('sales/receipt_email');
|
||||
|
||||
$result = $this->email_lib->sendEmail($to, $subject, $text);
|
||||
|
||||
@@ -1553,14 +1546,11 @@ class Sales extends Secure_Controller
|
||||
$number_of_payments = $this->request->getPost('number_of_payments', FILTER_SANITIZE_NUMBER_INT);
|
||||
for($i = 0; $i < $number_of_payments; ++$i)
|
||||
{
|
||||
$raw_payment_amount = prepare_decimal($this->request->getPost("payment_amount_$i"));
|
||||
$raw_refund_amount = prepare_decimal($this->request->getPost("refund_amount_$i"));
|
||||
|
||||
$payment_id = $this->request->getPost("payment_id_$i", FILTER_SANITIZE_NUMBER_INT);
|
||||
$payment_type = $this->request->getPost("payment_type_$i", FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$payment_amount = filter_var($raw_payment_amount , FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$payment_amount = parse_decimals($this->request->getPost("payment_amount_$i"));
|
||||
$refund_type = $this->request->getPost("refund_type_$i", FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$cash_refund = filter_var($raw_refund_amount, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$cash_refund = parse_decimals($this->request->getPost("refund_amount_$i"));
|
||||
|
||||
$cash_adjustment = $payment_type == lang('Sales.cash_adjustment') ? CASH_ADJUSTMENT_TRUE : CASH_ADJUSTMENT_FALSE;
|
||||
|
||||
@@ -1594,7 +1584,7 @@ class Sales extends Secure_Controller
|
||||
|
||||
if($payment_type != PAYMENT_TYPE_UNASSIGNED && !empty($payment_amount_new))
|
||||
{
|
||||
$payment_amount = filter_var(prepare_decimal($payment_amount_new), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
|
||||
$payment_amount = parse_decimals($payment_amount_new);
|
||||
$cash_refund = 0;
|
||||
if($payment_type == lang('Sales.cash_adjustment'))
|
||||
{
|
||||
|
||||
@@ -94,7 +94,7 @@ class Secure_Controller extends BaseController
|
||||
*/
|
||||
public function getCheckNumeric(): void
|
||||
{
|
||||
foreach($this->request->getGet(null, FILTER_SANITIZE_FULL_SPECIAL_CHARS) as $value)
|
||||
foreach($this->request->getGet() as $value)
|
||||
{
|
||||
if (parse_decimals($value) === false)
|
||||
{
|
||||
|
||||
@@ -48,7 +48,7 @@ class Suppliers extends Persons
|
||||
$search = $this->request->getGet('search');
|
||||
$limit = $this->request->getGet('limit', FILTER_SANITIZE_NUMBER_INT);
|
||||
$offset = $this->request->getGet('offset', FILTER_SANITIZE_NUMBER_INT);
|
||||
$sort = $this->sanitizeSortColumn(SUPPLIER_HEADERS, $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'people.person_id');
|
||||
$sort = $this->sanitizeSortColumn(supplier_headers(), $this->request->getGet('sort', FILTER_SANITIZE_FULL_SPECIAL_CHARS), 'people.person_id');
|
||||
$order = $this->request->getGet('order', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
|
||||
$suppliers = $this->supplier->search($search, $limit, $offset, $sort, $order);
|
||||
|
||||
@@ -402,10 +402,8 @@ class Taxes extends Secure_Controller
|
||||
*/
|
||||
public function postSave(int $tax_rate_id = NEW_ENTRY): void
|
||||
{
|
||||
$raw_tax_rate = prepare_decimal($this->request->getPost('tax_rate'));
|
||||
|
||||
$tax_category_id = $this->request->getPost('rate_tax_category_id', FILTER_SANITIZE_NUMBER_INT);
|
||||
$tax_rate = parse_tax(filter_var($raw_tax_rate, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
|
||||
$tax_rate = parse_tax($this->request->getPost('tax_rate'));
|
||||
|
||||
if ($tax_rate == 0) //TODO: Replace 0 with constant?
|
||||
{
|
||||
@@ -414,7 +412,7 @@ class Taxes extends Secure_Controller
|
||||
|
||||
$tax_rate_data = [
|
||||
'rate_tax_code_id' => $this->request->getPost('rate_tax_code_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
'rate_tax_category_id' => $this->request->getPost('rate_tax_category_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
'rate_tax_category_id' => $tax_category_id,
|
||||
'rate_jurisdiction_id' => $this->request->getPost('rate_jurisdiction_id', FILTER_SANITIZE_NUMBER_INT),
|
||||
'tax_rate' => $tax_rate,
|
||||
'tax_rounding_code' => $this->request->getPost('tax_rounding_code', FILTER_SANITIZE_NUMBER_INT)
|
||||
|
||||
@@ -18,7 +18,15 @@ class fix_duplicate_attributes extends Migration
|
||||
|
||||
helper('migration');
|
||||
|
||||
$this->drop_foreign_key_constraints();
|
||||
$foreignKeys = [
|
||||
'ospos_attribute_links_ibfk_1',
|
||||
'ospos_attribute_links_ibfk_2',
|
||||
'ospos_attribute_links_ibfk_3',
|
||||
'ospos_attribute_links_ibfk_4',
|
||||
'ospos_attribute_links_ibfk_5'
|
||||
];
|
||||
|
||||
drop_foreign_key_constraints($foreignKeys, 'ospos_attribute_links');
|
||||
|
||||
execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.4.0_attribute_links_unique_constraint.sql');
|
||||
}
|
||||
@@ -57,44 +65,6 @@ class fix_duplicate_attributes extends Migration
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Drops the foreign key constraints from the attribute_links table.
|
||||
* This is required to successfully create the generated unique constraint.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
private function drop_foreign_key_constraints(): void
|
||||
{
|
||||
$foreignKeys = [
|
||||
'ospos_attribute_links_ibfk_1',
|
||||
'ospos_attribute_links_ibfk_2',
|
||||
'ospos_attribute_links_ibfk_3',
|
||||
'ospos_attribute_links_ibfk_4',
|
||||
'ospos_attribute_links_ibfk_5'
|
||||
];
|
||||
|
||||
$current_prefix = $this->db->getPrefix();
|
||||
$this->db->setPrefix('');
|
||||
$database_name = $this->db->database;
|
||||
|
||||
foreach ($foreignKeys as $fk)
|
||||
{
|
||||
$builder = $this->db->table('INFORMATION_SCHEMA.TABLE_CONSTRAINTS');
|
||||
$builder->select('CONSTRAINT_NAME');
|
||||
$builder->where('TABLE_SCHEMA', $database_name);
|
||||
$builder->where('TABLE_NAME', 'ospos_attribute_links');
|
||||
$builder->where('CONSTRAINT_TYPE', 'FOREIGN KEY');
|
||||
$builder->where('CONSTRAINT_NAME', $fk);
|
||||
$query = $builder->get();
|
||||
|
||||
if($query->getNumRows() > 0)
|
||||
{
|
||||
$this->db->query("ALTER TABLE `ospos_attribute_links` DROP FOREIGN KEY `$fk`");
|
||||
}
|
||||
}
|
||||
|
||||
$this->db->setPrefix($current_prefix);
|
||||
}
|
||||
|
||||
/**
|
||||
* Revert a migration step.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
use App\Models\Attribute;
|
||||
use CodeIgniter\Database\ResultInterface;
|
||||
|
||||
class Migration_Attributes_fix_cascading_delete extends Migration
|
||||
{
|
||||
/**
|
||||
* Perform a migration step.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
helper('migration');
|
||||
drop_foreign_key_constraints(['ospos_attribute_links_ibfk_1', 'ospos_attribute_links_ibfk_2'], 'ospos_attribute_links');
|
||||
$this->db->query("ALTER TABLE `ospos_attribute_links` ADD CONSTRAINT `ospos_attribute_links_ibfk_1` FOREIGN KEY (`definition_id`) REFERENCES `ospos_attribute_definitions` (`definition_id`) ON DELETE CASCADE;");
|
||||
$this->db->query("ALTER TABLE `ospos_attribute_links` ADD CONSTRAINT `ospos_attribute_links_ibfk_2` FOREIGN KEY (`attribute_id`) REFERENCES `ospos_attribute_values` (`attribute_id`) ON DELETE CASCADE;");
|
||||
}
|
||||
|
||||
/**
|
||||
* Revert a migration step.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -485,17 +485,6 @@ function parse_decimals(string $number, int $decimals = null): mixed
|
||||
return $number;
|
||||
}
|
||||
|
||||
$locale_safe_number = prepare_decimal($number);
|
||||
|
||||
if ($locale_safe_number > MAX_PRECISION)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if($locale_safe_number > 1.e14)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$config = config(OSPOS::class)->settings;
|
||||
|
||||
@@ -503,11 +492,10 @@ function parse_decimals(string $number, int $decimals = null): mixed
|
||||
|
||||
if(!$decimals)
|
||||
{
|
||||
$decimals = $config['currency_decimals'];
|
||||
$decimals = intVal($config['currency_decimals']);
|
||||
$fmt->setAttribute(NumberFormatter::FRACTION_DIGITS, $decimals);
|
||||
}
|
||||
|
||||
$fmt->setAttribute(NumberFormatter::FRACTION_DIGITS, $decimals);
|
||||
|
||||
if(empty($config['thousands_separator']))
|
||||
{
|
||||
$fmt->setTextAttribute(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||
@@ -515,7 +503,18 @@ function parse_decimals(string $number, int $decimals = null): mixed
|
||||
|
||||
try
|
||||
{
|
||||
return $fmt->parse($number);
|
||||
$locale_safe_number = $fmt->parse($number);
|
||||
|
||||
if (
|
||||
$locale_safe_number === false
|
||||
|| $locale_safe_number > MAX_PRECISION
|
||||
|| $locale_safe_number > 1.e14
|
||||
)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return (float) $locale_safe_number;
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
@@ -704,23 +703,3 @@ function decode_array(array $data): array
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the current locale uses a comma for decimal separator and reformats the decimal to use a period.
|
||||
*
|
||||
* @param string $decimal The decimal to reformat.
|
||||
* @return string The reformatted decimal.
|
||||
*/
|
||||
function prepare_decimal(string $decimal): string
|
||||
{
|
||||
$config = config(OSPOS::class)->settings;
|
||||
$fmt = new NumberFormatter($config['number_locale'], NumberFormatter::DECIMAL);
|
||||
$decimal_separator = $fmt->getSymbol(NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
|
||||
|
||||
if($decimal_separator === ',' && str_contains($decimal, ','))
|
||||
{
|
||||
$decimal = str_replace('.', '', $decimal); //Remove thousands separator
|
||||
$decimal = str_replace(',', '.', $decimal); //Replace decimal separator
|
||||
}
|
||||
|
||||
return $decimal;
|
||||
}
|
||||
|
||||
@@ -30,4 +30,37 @@ function execute_script(string $path): void
|
||||
}
|
||||
|
||||
error_log("Migrated to $version");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Drops the foreign key constraints from the attribute_links table.
|
||||
* This is required to successfully create the generated unique constraint.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function drop_foreign_key_constraints(array $foreignKeys, string $table): void
|
||||
{
|
||||
$db = Database::connect();
|
||||
|
||||
$current_prefix = $db->getPrefix();
|
||||
$db->setPrefix('');
|
||||
$database_name = $db->database;
|
||||
|
||||
foreach ($foreignKeys as $fk)
|
||||
{
|
||||
$builder = $db->table('INFORMATION_SCHEMA.TABLE_CONSTRAINTS');
|
||||
$builder->select('CONSTRAINT_NAME');
|
||||
$builder->where('TABLE_SCHEMA', $database_name);
|
||||
$builder->where('TABLE_NAME', $table);
|
||||
$builder->where('CONSTRAINT_TYPE', 'FOREIGN KEY');
|
||||
$builder->where('CONSTRAINT_NAME', $fk);
|
||||
$query = $builder->get();
|
||||
|
||||
if($query->getNumRows() > 0)
|
||||
{
|
||||
$db->query("ALTER TABLE `$table` DROP FOREIGN KEY `$fk`");
|
||||
}
|
||||
}
|
||||
|
||||
$db->setPrefix($current_prefix);
|
||||
}
|
||||
|
||||
@@ -63,31 +63,35 @@ function transform_headers(array $headers, bool $readonly = false, bool $editabl
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
define("SALES_HEADERS", [
|
||||
['sale_id' => lang('Common.id')],
|
||||
['sale_time' => lang('Sales.sale_time')],
|
||||
['customer_name' => lang('Customers.customer')],
|
||||
['amount_due' => lang('Sales.amount_due')],
|
||||
['amount_tendered' => lang('Sales.amount_tendered')],
|
||||
['change_due' => lang('Sales.change_due')],
|
||||
['payment_type' => lang('Sales.payment_type')]
|
||||
]);
|
||||
|
||||
function sales_headers(): array
|
||||
{
|
||||
return [
|
||||
['sale_id' => lang('Common.id')],
|
||||
['sale_time' => lang('Sales.sale_time')],
|
||||
['customer_name' => lang('Customers.customer')],
|
||||
['amount_due' => lang('Sales.amount_due')],
|
||||
['amount_tendered' => lang('Sales.amount_tendered')],
|
||||
['change_due' => lang('Sales.change_due')],
|
||||
['payment_type' => lang('Sales.payment_type')]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the sales tabular view
|
||||
*/
|
||||
function get_sales_manage_table_headers(): string
|
||||
{
|
||||
$headers = SALES_HEADERS;
|
||||
$headers = sales_headers();
|
||||
$config = config(OSPOS::class)->settings;
|
||||
|
||||
if($config['invoice_enable'])
|
||||
{
|
||||
$headers[] = ['invoice_number' => lang('Sales.invoice_number')];
|
||||
$headers[] = ['invoice' => ' ', 'sortable' => false, 'escape' => false];
|
||||
$headers[] = ['invoice' => '', 'sortable' => false, 'escape' => false];
|
||||
}
|
||||
|
||||
$headers[] = ['receipt' => ' ', 'sortable' => false, 'escape' => false];
|
||||
$headers[] = ['receipt' => '', 'sortable' => false, 'escape' => false];
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
@@ -116,7 +120,7 @@ function get_sale_data_row(object $sale): array
|
||||
{
|
||||
$row['invoice_number'] = $sale->invoice_number;
|
||||
$row['invoice'] = empty($sale->invoice_number)
|
||||
? ''
|
||||
? '-'
|
||||
: anchor(
|
||||
"$controller/invoice/$sale->sale_id",
|
||||
'<span class="glyphicon glyphicon-list-alt"></span>',
|
||||
@@ -189,20 +193,24 @@ function get_sales_manage_payments_summary(array $payments): string
|
||||
return $table;
|
||||
}
|
||||
|
||||
define('PERSON_HEADERS', [
|
||||
['people.person_id' => lang('Common.id')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['email' => lang('Common.email')],
|
||||
['phone_number' => lang('Common.phone_number')]
|
||||
]);
|
||||
function person_headers(): array
|
||||
{
|
||||
return [
|
||||
['people.person_id' => lang('Common.id')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['email' => lang('Common.email')],
|
||||
['phone_number' => lang('Common.phone_number')]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the header for the people tabular view
|
||||
*/
|
||||
function get_people_manage_table_headers(): string
|
||||
{
|
||||
$headers = PERSON_HEADERS;
|
||||
$headers = person_headers();
|
||||
|
||||
$employee = model(Employee::class);
|
||||
$session = session();
|
||||
@@ -251,21 +259,25 @@ function get_person_data_row(object $person): array
|
||||
];
|
||||
}
|
||||
|
||||
define('CUSTOMER_HEADERS', [
|
||||
['people.person_id' => lang('Common.id')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['email' => lang('Common.email')],
|
||||
['phone_number' => lang('Common.phone_number')],
|
||||
['total' => lang('Common.total_spent'), 'sortable' => false]
|
||||
]);
|
||||
|
||||
function customer_headers(): array
|
||||
{
|
||||
return [
|
||||
['people.person_id' => lang('Common.id')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['email' => lang('Common.email')],
|
||||
['phone_number' => lang('Common.phone_number')],
|
||||
['total' => lang('Common.total_spent'), 'sortable' => false]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the customer tabular view
|
||||
*/
|
||||
function get_customer_manage_table_headers(): string
|
||||
{
|
||||
$headers = CUSTOMER_HEADERS;
|
||||
$headers = customer_headers();
|
||||
|
||||
$employee = model(Employee::class);
|
||||
$session = session();
|
||||
@@ -315,23 +327,26 @@ function get_customer_data_row(object $person, object $stats): array
|
||||
];
|
||||
}
|
||||
|
||||
define('SUPPLIER_HEADERS', [
|
||||
['people.person_id' => lang('Common.id')],
|
||||
['company_name' => lang('Suppliers.company_name')],
|
||||
['agency_name' => lang('Suppliers.agency_name')],
|
||||
['category' => lang('Suppliers.category')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['email' => lang('Common.email')],
|
||||
['phone_number' => lang('Common.phone_number')]
|
||||
]);
|
||||
function supplier_headers(): array
|
||||
{
|
||||
return [
|
||||
['people.person_id' => lang('Common.id')],
|
||||
['company_name' => lang('Suppliers.company_name')],
|
||||
['agency_name' => lang('Suppliers.agency_name')],
|
||||
['category' => lang('Suppliers.category')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['email' => lang('Common.email')],
|
||||
['phone_number' => lang('Common.phone_number')]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the suppliers tabular view
|
||||
*/
|
||||
function get_suppliers_manage_table_headers(): string
|
||||
{
|
||||
$headers = SUPPLIER_HEADERS;
|
||||
$headers = supplier_headers();
|
||||
|
||||
$employee = model(Employee::class);
|
||||
$session = session();
|
||||
@@ -383,16 +398,19 @@ function get_supplier_data_row(object $supplier): array
|
||||
];
|
||||
}
|
||||
|
||||
define('ITEM_HEADERS', [
|
||||
['items.item_id' => lang('Common.id')],
|
||||
['item_number' => lang('Items.item_number')],
|
||||
['name' => lang('Items.name')],
|
||||
['category' => lang('Items.category')],
|
||||
['company_name' => lang('Suppliers.company_name')],
|
||||
['cost_price' => lang('Items.cost_price')],
|
||||
['unit_price' => lang('Items.unit_price')],
|
||||
['quantity' => lang('Items.quantity')]
|
||||
]);
|
||||
function item_headers(): array
|
||||
{
|
||||
return [
|
||||
['items.item_id' => lang('Common.id')],
|
||||
['item_number' => lang('Items.item_number')],
|
||||
['name' => lang('Items.name')],
|
||||
['category' => lang('Items.category')],
|
||||
['company_name' => lang('Suppliers.company_name')],
|
||||
['cost_price' => lang('Items.cost_price')],
|
||||
['unit_price' => lang('Items.unit_price')],
|
||||
['quantity' => lang('Items.quantity')]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the items tabular view
|
||||
@@ -403,7 +421,7 @@ function get_items_manage_table_headers(): string
|
||||
$config = config(OSPOS::class)->settings;
|
||||
$definition_names = $attribute->get_definitions_by_flags($attribute::SHOW_IN_ITEMS); //TODO: this should be made into a constant in constants.php
|
||||
|
||||
$headers = ITEM_HEADERS;
|
||||
$headers = item_headers();
|
||||
|
||||
if($config['use_destination_based_tax'])
|
||||
{
|
||||
@@ -533,20 +551,23 @@ function get_item_data_row(object $item): array
|
||||
return $columns + expand_attribute_values($definition_names, (array) $item) + $icons;
|
||||
}
|
||||
|
||||
define('GIFTCARD_HEADERS', [
|
||||
['giftcard_id' => lang('Common.id')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['giftcard_number' => lang('Giftcards.giftcard_number')],
|
||||
['value' => lang('Giftcards.card_value')]
|
||||
]);
|
||||
function giftcard_headers(): array
|
||||
{
|
||||
return [
|
||||
['giftcard_id' => lang('Common.id')],
|
||||
['last_name' => lang('Common.last_name')],
|
||||
['first_name' => lang('Common.first_name')],
|
||||
['giftcard_number' => lang('Giftcards.giftcard_number')],
|
||||
['value' => lang('Giftcards.card_value')]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the giftcard tabular view
|
||||
*/
|
||||
function get_giftcards_manage_table_headers(): string
|
||||
{
|
||||
return transform_headers(GIFTCARD_HEADERS);
|
||||
return transform_headers(giftcard_headers());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -574,21 +595,24 @@ function get_giftcard_data_row(object $giftcard): array
|
||||
];
|
||||
}
|
||||
|
||||
define('ITEM_KIT_HEADERS', [
|
||||
['item_kit_id' => lang('Item_kits.kit')],
|
||||
['item_kit_number' => lang('Item_kits.item_kit_number')],
|
||||
['name' => lang('Item_kits.name')],
|
||||
['description' => lang('Item_kits.description')],
|
||||
['total_cost_price' => lang('Items.cost_price'), 'sortable' => false],
|
||||
['total_unit_price' => lang('Items.unit_price'), 'sortable' => false]
|
||||
]);
|
||||
function item_kit_headers(): array
|
||||
{
|
||||
return [
|
||||
['item_kit_id' => lang('Item_kits.kit')],
|
||||
['item_kit_number' => lang('Item_kits.item_kit_number')],
|
||||
['name' => lang('Item_kits.name')],
|
||||
['description' => lang('Item_kits.description')],
|
||||
['total_cost_price' => lang('Items.cost_price'), 'sortable' => FALSE],
|
||||
['total_unit_price' => lang('Items.unit_price'), 'sortable' => FALSE]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the item kits tabular view
|
||||
*/
|
||||
function get_item_kits_manage_table_headers(): string
|
||||
{
|
||||
return transform_headers(ITEM_KIT_HEADERS);
|
||||
return transform_headers(item_kit_headers());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -672,20 +696,23 @@ function expand_attribute_values(array $definition_names, array $row): array
|
||||
return $attribute_values;
|
||||
}
|
||||
|
||||
define('ATTRIBUTE_DEFINITION_HEADERS', [
|
||||
['definition_id' => lang('Attributes.definition_id')],
|
||||
['definition_name' => lang('Attributes.definition_name')],
|
||||
['definition_type' => lang('Attributes.definition_type')],
|
||||
['definition_flags' => lang('Attributes.definition_flags')],
|
||||
['definition_group' => lang('Attributes.definition_group')],
|
||||
]);
|
||||
function attribute_definition_headers(): array
|
||||
{
|
||||
return [
|
||||
['definition_id' => lang('Attributes.definition_id')],
|
||||
['definition_name' => lang('Attributes.definition_name')],
|
||||
['definition_type' => lang('Attributes.definition_type')],
|
||||
['definition_flags' => lang('Attributes.definition_flags')],
|
||||
['definition_group' => lang('Attributes.definition_group')],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
function get_attribute_definition_manage_table_headers(): string
|
||||
{
|
||||
return transform_headers(ATTRIBUTE_DEFINITION_HEADERS);
|
||||
return transform_headers(attribute_definition_headers());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -729,18 +756,21 @@ function get_attribute_definition_data_row(object $attribute_row): array
|
||||
];
|
||||
}
|
||||
|
||||
define('EXPENSE_CATEGORY_HEADERS', [
|
||||
['expense_category_id' => lang('Expenses_categories.category_id')],
|
||||
['category_name' => lang('Expenses_categories.name')],
|
||||
['category_description' => lang('Expenses_categories.description')]
|
||||
]);
|
||||
function expense_category_headers(): array
|
||||
{
|
||||
return [
|
||||
['expense_category_id' => lang('Expenses_categories.category_id')],
|
||||
['category_name' => lang('Expenses_categories.name')],
|
||||
['category_description' => lang('Expenses_categories.description')]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the expense categories tabular view
|
||||
*/
|
||||
function get_expense_category_manage_table_headers(): string
|
||||
{
|
||||
return transform_headers(EXPENSE_CATEGORY_HEADERS);
|
||||
return transform_headers(expense_category_headers());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -766,25 +796,28 @@ function get_expense_category_data_row(object $expense_category): array
|
||||
];
|
||||
}
|
||||
|
||||
define('EXPENSE_HEADERS', [
|
||||
['expense_id' => lang('Expenses.expense_id')],
|
||||
['date' => lang('Expenses.date')],
|
||||
['supplier_name' => lang('Expenses.supplier_name')],
|
||||
['supplier_tax_code' => lang('Expenses.supplier_tax_code')],
|
||||
['amount' => lang('Expenses.amount')],
|
||||
['tax_amount' => lang('Expenses.tax_amount')],
|
||||
['payment_type' => lang('Expenses.payment')],
|
||||
['category_name' => lang('Expenses_categories.name')],
|
||||
['description' => lang('Expenses.description')],
|
||||
['created_by' => lang('Expenses.employee')]
|
||||
]);
|
||||
function expense_headers(): array
|
||||
{
|
||||
return [
|
||||
['expense_id' => lang('Expenses.expense_id')],
|
||||
['date' => lang('Expenses.date')],
|
||||
['supplier_name' => lang('Expenses.supplier_name')],
|
||||
['supplier_tax_code' => lang('Expenses.supplier_tax_code')],
|
||||
['amount' => lang('Expenses.amount')],
|
||||
['tax_amount' => lang('Expenses.tax_amount')],
|
||||
['payment_type' => lang('Expenses.payment')],
|
||||
['category_name' => lang('Expenses_categories.name')],
|
||||
['description' => lang('Expenses.description')],
|
||||
['created_by' => lang('Expenses.employee')]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the header for the expenses tabular view
|
||||
*/
|
||||
function get_expenses_manage_table_headers(): string
|
||||
{
|
||||
return transform_headers(EXPENSE_HEADERS);
|
||||
return transform_headers(expense_headers());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -858,7 +891,9 @@ function get_expenses_manage_payments_summary(array $payments, ResultInterface $
|
||||
return $table;
|
||||
}
|
||||
|
||||
define('CASHUPS_HEADERS', [
|
||||
function cashup_headers(): array
|
||||
{
|
||||
return [
|
||||
['cashup_id' => lang('Cashups.id')],
|
||||
['open_date' => lang('Cashups.opened_date')],
|
||||
['open_employee_id' => lang('Cashups.open_employee')],
|
||||
@@ -872,8 +907,8 @@ define('CASHUPS_HEADERS', [
|
||||
['closed_amount_card' => lang('Cashups.closed_amount_card')],
|
||||
['closed_amount_check' => lang('Cashups.closed_amount_check')],
|
||||
['closed_amount_total' => lang('Cashups.closed_amount_total')]
|
||||
]
|
||||
);
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -881,7 +916,7 @@ define('CASHUPS_HEADERS', [
|
||||
*/
|
||||
function get_cashups_manage_table_headers(): string
|
||||
{
|
||||
$headers = CASHUPS_HEADERS;
|
||||
$headers = cashup_headers();
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
@@ -1,148 +1,149 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"all" => "hamısı",
|
||||
"authority" => "Səlahiyyət",
|
||||
"canceled" => "Ləğv Edilmiş",
|
||||
"categories" => "Kateqoriyalar",
|
||||
"categories_summary_report" => "komentariyalar",
|
||||
"category" => "Kategoriya",
|
||||
"code_canceled" => "CNL",
|
||||
"code_invoice" => "INV",
|
||||
"code_pos" => "POS",
|
||||
"code_quote" => "Q",
|
||||
"code_return" => "RET",
|
||||
"code_type" => "Növ",
|
||||
"code_work_order" => "W/O",
|
||||
"comments" => "bütün qiymət",
|
||||
"commission" => "",
|
||||
"complete" => "Tamamlanmış Satış və Geri Qaytarılanlar",
|
||||
"completed_sales" => "Tamamlanmış Satışlar",
|
||||
"confirm_delete" => "Seçdiyiniz giriş (lər) silmək istədiyinizə əminsinizmi?",
|
||||
"confirm_restore" => "Seçilmiş giriş (lər) bərpa etmək istədiyinizə əminsinizmi?",
|
||||
"cost" => "hesab",
|
||||
"cost_price" => "müştəri",
|
||||
"count" => "müştərilər",
|
||||
"customer" => "müştərilərin hesabatı",
|
||||
"customers" => "Müştərilər",
|
||||
"customers_summary_report" => "gün",
|
||||
"date" => "təsvir",
|
||||
"date_range" => "detallı göndərilən hesabatlar",
|
||||
"description" => "detallı hesabatlar",
|
||||
"detailed_receivings_report" => "Ətraflı satınalma hesabatı",
|
||||
"detailed_receivings_report_input" => "",
|
||||
"detailed_reports" => "etraflı məlumat",
|
||||
"detailed_requisition_report" => "endirimler",
|
||||
"detailed_sales_report" => "Ətraflı satış hesabatı",
|
||||
"discount" => "endirimlər",
|
||||
"discount_fixed" => "Sabit endirim",
|
||||
"discount_percent" => "endirim hesabları",
|
||||
"discount_type" => "Endirim növü",
|
||||
"discounts" => "Endirimlər",
|
||||
"discounts_summary_report" => "əməkdaş",
|
||||
"earned" => "əməkdaş",
|
||||
"employee" => "əməkdaşın hesabatı",
|
||||
"employees" => "İşçilər",
|
||||
"employees_summary_report" => "İşçilərin Xülasəsi Hesabatı",
|
||||
"expenses" => "Xərclər",
|
||||
"expenses_amount" => "Məbləğ",
|
||||
"expenses_categories" => "Xərclər",
|
||||
"expenses_categories_summary_report" => "Xərc kateqoriyasında Son Hesabat",
|
||||
"expenses_category" => "Kategoriya",
|
||||
"expenses_payment_amount" => "",
|
||||
"expenses_tax_amount" => "Vergi",
|
||||
"expenses_total_amount" => "Ümumi Məbləğ",
|
||||
"expenses_total_tax_amount" => "Ümumi Vergi",
|
||||
"graphical_reports" => "Qrafik Hesabatlar",
|
||||
"inventory" => "İnvertizasiya",
|
||||
"inventory_low" => "inventor hesabatları",
|
||||
"inventory_low_report" => "mal adı",
|
||||
"inventory_reports" => "malın nomrəsi",
|
||||
"inventory_summary" => "mallar",
|
||||
"inventory_summary_report" => "alınan mallar",
|
||||
"item" => "gondərilən mallar",
|
||||
"item_count" => "mal hesabatı",
|
||||
"item_name" => "aşağı hesabatlar",
|
||||
"item_number" => "aşağı inventor hesabat",
|
||||
"items" => "Mallar",
|
||||
"items_purchased" => "ad",
|
||||
"items_received" => "Qəbul Olunan Mallar",
|
||||
"items_summary_report" => "ödəniş tipi",
|
||||
"jurisdiction" => "Yurisdiksiya",
|
||||
"low_inventory" => "ödənişlər",
|
||||
"low_inventory_report" => "inventor hesabatı",
|
||||
"low_sell_quantity" => "Satış miqdarı",
|
||||
"more_than_zero" => "gəlir",
|
||||
"name" => "Qty On Hand",
|
||||
"no_reports_to_display" => "Göstərmək üçün məhsul yoxdur.",
|
||||
"payment_type" => "Ödəmə Növü",
|
||||
"payments" => "kim tərəfindən",
|
||||
"payments_summary_report" => "Ödəmələr Yekun Hesabatı",
|
||||
"profit" => "Qazanc",
|
||||
"quantity" => "qəbul olunanlar",
|
||||
"quantity_purchased" => "aşağı səviyyə",
|
||||
"quotes" => "hesabat",
|
||||
"received_by" => "çıxış hesabatı",
|
||||
"receiving_id" => "Hesabatlar",
|
||||
"receiving_type" => "Qəbul Növü",
|
||||
"receivings" => "Qəbul olunanlar",
|
||||
"reorder_level" => "Səviyyəni Yenidən Düzəlt",
|
||||
"report" => "Hesabat",
|
||||
"report_input" => "Hesabatı daxil edin",
|
||||
"reports" => "Hesabatlar",
|
||||
"requisition" => "",
|
||||
"requisition_by" => "",
|
||||
"requisition_id" => "",
|
||||
"requisition_item" => "geri qaytarılanlar",
|
||||
"requisition_item_quantity" => "gəlir",
|
||||
"requisition_related_item" => "ID satışı",
|
||||
"requisition_related_item_total_quantity" => "endirim tipi",
|
||||
"requisition_related_item_unit_quantity" => "satışlar",
|
||||
"requisitions" => "Satış qiyməti",
|
||||
"returns" => "endirim hesabatları",
|
||||
"revenue" => "Gəlir",
|
||||
"sale_id" => "satılıb kim tərəfindən",
|
||||
"sale_type" => "satılıb kimə",
|
||||
"sales" => "Əməliyyatlar",
|
||||
"sales_amount" => "Əməliyyatların Məbləği",
|
||||
"sales_summary_report" => "toplam",
|
||||
"sales_taxes" => "Satışdan Vergi",
|
||||
"sales_taxes_summary_report" => "Satışdan vergilərə dair yekun hesabat",
|
||||
"serial_number" => "hesabatlar",
|
||||
"service_charge" => "",
|
||||
"sold_by" => "kim tərəfindən qoyulub",
|
||||
"sold_items" => "",
|
||||
"sold_to" => "təchizatçı",
|
||||
"stock_location" => "təchizatçılar",
|
||||
"sub_total_value" => "təchizatci hesabatı",
|
||||
"subtotal" => "vergi",
|
||||
"summary_reports" => "vergi faizi",
|
||||
"supplied_by" => "vergilər",
|
||||
"supplier" => "vergi hesabatı",
|
||||
"suppliers" => "toplam",
|
||||
"suppliers_summary_report" => "Təchizatçıların Yekun Hesabatı",
|
||||
"tax" => "tip",
|
||||
"tax_category" => "Vergi Bolməsi",
|
||||
"tax_name" => "",
|
||||
"tax_percent" => "Retail Price",
|
||||
"tax_rate" => "Vergi dərəcəsi",
|
||||
"taxes" => "Vergilər",
|
||||
"taxes_summary_report" => "Vergi Yekun Hesabatı",
|
||||
"total" => "Cəm",
|
||||
"total_inventory_value" => "Ümumi İnvanter Qiyməti",
|
||||
"total_low_sell_quantity" => "Ümumi aşağı satışların sayı",
|
||||
"total_quantity" => "Ümumi Miqdarı",
|
||||
"total_retail" => "Toplam inv. Pərakəndə dəyəri",
|
||||
"trans_amount" => "Əməliyyat məbləği",
|
||||
"trans_due" => "Buna görə",
|
||||
"trans_group" => "Əməliyyat Qrupu",
|
||||
"trans_nopay_sales" => "Ödənişsiz satış",
|
||||
"trans_payments" => "Ödəmələr",
|
||||
"trans_refunded" => "Geri qaytarıldı",
|
||||
"trans_sales" => "Satışlar",
|
||||
"trans_type" => "Əməliyyat növü",
|
||||
"type" => "Növ",
|
||||
"unit_price" => "Pərakəndə Qiyməti",
|
||||
"used" => "İstifadə edilən ballar",
|
||||
"work_orders" => "İstifadə Olunan Ballar",
|
||||
"zero_and_less" => "Sıfır və Aşağı",
|
||||
'all' => "hamısı",
|
||||
'authority' => "Səlahiyyət",
|
||||
'canceled' => "Ləğv Edilmiş",
|
||||
'categories' => "Kateqoriyalar",
|
||||
'categories_summary_report' => "komentariyalar",
|
||||
'category' => "Kategoriya",
|
||||
'code_canceled' => "CNL",
|
||||
'code_invoice' => "INV",
|
||||
'code_pos' => "POS",
|
||||
'code_quote' => "Q",
|
||||
'code_return' => "RET",
|
||||
'code_type' => "Növ",
|
||||
'code_work_order' => "W/O",
|
||||
'comments' => "bütün qiymət",
|
||||
'commission' => "",
|
||||
'complete' => "Tamamlanmış Satış və Geri Qaytarılanlar",
|
||||
'completed_sales' => "Tamamlanmış Satışlar",
|
||||
'confirm_delete' => "Seçdiyiniz giriş (lər) silmək istədiyinizə əminsinizmi?",
|
||||
'confirm_restore' => "Seçilmiş giriş (lər) bərpa etmək istədiyinizə əminsinizmi?",
|
||||
'cost' => "hesab",
|
||||
'cost_price' => "müştəri",
|
||||
'count' => "müştərilər",
|
||||
'customer' => "müştərilərin hesabatı",
|
||||
'customers' => "Müştərilər",
|
||||
'customers_summary_report' => "gün",
|
||||
'date' => "təsvir",
|
||||
'date_range' => "detallı göndərilən hesabatlar",
|
||||
'description' => "detallı hesabatlar",
|
||||
'detailed_receivings_report' => "Ətraflı satınalma hesabatı",
|
||||
'detailed_receivings_report_input' => "",
|
||||
'detailed_reports' => "etraflı məlumat",
|
||||
'detailed_requisition_report' => "endirimler",
|
||||
'detailed_sales_report' => "Ətraflı satış hesabatı",
|
||||
'discount' => "endirimlər",
|
||||
'discount_fixed' => "Sabit endirim",
|
||||
'discount_percent' => "endirim hesabları",
|
||||
'discount_type' => "Endirim növü",
|
||||
'discounts' => "Endirimlər",
|
||||
'discounts_summary_report' => "əməkdaş",
|
||||
'earned' => "əməkdaş",
|
||||
'employee' => "əməkdaşın hesabatı",
|
||||
'employees' => "İşçilər",
|
||||
'employees_summary_report' => "İşçilərin Xülasəsi Hesabatı",
|
||||
'expenses' => "Xərclər",
|
||||
'expenses_amount' => "Məbləğ",
|
||||
'expenses_categories' => "Xərclər",
|
||||
'expenses_categories_summary_report' => "Xərc kateqoriyasında Son Hesabat",
|
||||
'expenses_category' => "Kategoriya",
|
||||
'expenses_payment_amount' => "",
|
||||
'expenses_tax_amount' => "Vergi",
|
||||
'expenses_total_amount' => "Ümumi Məbləğ",
|
||||
'expenses_total_tax_amount' => "Ümumi Vergi",
|
||||
'graphical_reports' => "Qrafik Hesabatlar",
|
||||
'inventory' => "İnvertizasiya",
|
||||
'inventory_low' => "inventor hesabatları",
|
||||
'inventory_low_report' => "mal adı",
|
||||
'inventory_reports' => "malın nomrəsi",
|
||||
'inventory_summary' => "mallar",
|
||||
'inventory_summary_report' => "alınan mallar",
|
||||
'item' => "gondərilən mallar",
|
||||
'item_count' => "mal hesabatı",
|
||||
'item_name' => "aşağı hesabatlar",
|
||||
'item_number' => "aşağı inventor hesabat",
|
||||
'items' => "Mallar",
|
||||
'items_purchased' => "ad",
|
||||
'items_received' => "Qəbul Olunan Mallar",
|
||||
'items_summary_report' => "ödəniş tipi",
|
||||
'jurisdiction' => "Yurisdiksiya",
|
||||
'low_inventory' => "ödənişlər",
|
||||
'low_inventory_report' => "inventor hesabatı",
|
||||
'low_sell_quantity' => "Satış miqdarı",
|
||||
'more_than_zero' => "gəlir",
|
||||
'name' => "Qty On Hand",
|
||||
'no_reports_to_display' => "Göstərmək üçün məhsul yoxdur.",
|
||||
'payment_type' => "Ödəmə Növü",
|
||||
'payments' => "kim tərəfindən",
|
||||
'payments_summary_report' => "Ödəmələr Yekun Hesabatı",
|
||||
'profit' => "Qazanc",
|
||||
'quantity' => "qəbul olunanlar",
|
||||
'quantity_purchased' => "aşağı səviyyə",
|
||||
'quotes' => "hesabat",
|
||||
'received_by' => "çıxış hesabatı",
|
||||
'receiving_id' => "Hesabatlar",
|
||||
'receiving_type' => "Qəbul Növü",
|
||||
'receivings' => "Qəbul olunanlar",
|
||||
'reorder_level' => "Səviyyəni Yenidən Düzəlt",
|
||||
'report' => "Hesabat",
|
||||
'report_input' => "Hesabatı daxil edin",
|
||||
'reports' => "Hesabatlar",
|
||||
'requisition' => "",
|
||||
'requisition_by' => "",
|
||||
'requisition_id' => "",
|
||||
'requisition_item' => "geri qaytarılanlar",
|
||||
'requisition_item_quantity' => "gəlir",
|
||||
'requisition_related_item' => "ID satışı",
|
||||
'requisition_related_item_total_quantity' => "endirim tipi",
|
||||
'requisition_related_item_unit_quantity' => "satışlar",
|
||||
'requisitions' => "Satış qiyməti",
|
||||
'returns' => "endirim hesabatları",
|
||||
'revenue' => "Gəlir",
|
||||
'sale_id' => "satılıb kim tərəfindən",
|
||||
'sale_type' => "satılıb kimə",
|
||||
'sales' => "Əməliyyatlar",
|
||||
'sales_amount' => "Əməliyyatların Məbləği",
|
||||
'sales_summary_report' => "toplam",
|
||||
'sales_taxes' => "Satışdan Vergi",
|
||||
'sales_taxes_summary_report' => "Satışdan vergilərə dair yekun hesabat",
|
||||
'serial_number' => "hesabatlar",
|
||||
'service_charge' => "",
|
||||
'sold_by' => "kim tərəfindən qoyulub",
|
||||
'sold_items' => "",
|
||||
'sold_to' => "təchizatçı",
|
||||
'stock_location' => "təchizatçılar",
|
||||
'sub_total_value' => "təchizatci hesabatı",
|
||||
'subtotal' => "vergi",
|
||||
'summary_reports' => "Yekun Hesabatı",
|
||||
'supplied_by' => "vergilər",
|
||||
'supplier' => "vergi hesabatı",
|
||||
'suppliers' => "toplam",
|
||||
'suppliers_summary_report' => "Təchizatçıların Yekun Hesabatı",
|
||||
'tax' => "tip",
|
||||
'tax_category' => "Vergi Bolməsi",
|
||||
'tax_name' => "",
|
||||
'tax_percent' => "Retail Price",
|
||||
'tax_rate' => "Vergi dərəcəsi",
|
||||
'taxes' => "Vergilər",
|
||||
'taxes_summary_report' => "Vergi Yekun Hesabatı",
|
||||
'total' => "Cəm",
|
||||
'total_inventory_value' => "Ümumi İnvanter Qiyməti",
|
||||
'total_low_sell_quantity' => "Ümumi aşağı satışların sayı",
|
||||
'total_quantity' => "Ümumi Miqdarı",
|
||||
'total_retail' => "Toplam inv. Pərakəndə dəyəri",
|
||||
'trans_amount' => "Əməliyyat məbləği",
|
||||
'trans_due' => "Buna görə",
|
||||
'trans_group' => "Əməliyyat Qrupu",
|
||||
'trans_nopay_sales' => "Ödənişsiz satış",
|
||||
'trans_payments' => "Ödəmələr",
|
||||
'trans_refunded' => "Geri qaytarıldı",
|
||||
'trans_sales' => "Satışlar",
|
||||
'trans_type' => "Əməliyyat növü",
|
||||
'type' => "Növ",
|
||||
'unit_price' => "Pərakəndə Qiyməti",
|
||||
'used' => "İstifadə edilən ballar",
|
||||
'work_orders' => "İstifadə Olunan Ballar",
|
||||
'zero_and_less' => "Sıfır və Aşağı",
|
||||
];
|
||||
|
||||
@@ -1,88 +1,89 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"address_1" => "Dirección 1",
|
||||
"address_2" => "Dirección 2",
|
||||
"admin" => "",
|
||||
"city" => "Ciudad",
|
||||
"clerk" => "",
|
||||
"close" => "Cerrar",
|
||||
"color" => "",
|
||||
"comments" => "Comentarios",
|
||||
"common" => "común",
|
||||
"confirm_search" => "Ha seleccionado una o más filas, éstas no estarán seleccionadas después de su búsqueda. ¿Está seguro(a) de enviar su búsqueda?",
|
||||
"copyrights" => "© 2010 - {0}",
|
||||
"correct_errors" => "Por favor verifique que no hay errores antes de guardar",
|
||||
"country" => "País",
|
||||
"dashboard" => "",
|
||||
"date" => "Fecha",
|
||||
"delete" => "Eliminar",
|
||||
"det" => "detalles",
|
||||
"download_import_template" => "Descargar Plantilla para Importar desde CSV (CSV)",
|
||||
"edit" => "editar",
|
||||
"email" => "Correo-e",
|
||||
"email_invalid_format" => "La dirección de correo-e no tiene el formato correcto.",
|
||||
"export_csv" => "Exportar a CSV",
|
||||
"export_csv_no" => "No",
|
||||
"export_csv_yes" => "Si",
|
||||
"fields_required_message" => "Los campos en rojo son requeridos",
|
||||
"fields_required_message_unique" => "",
|
||||
"first_name" => "Nombre",
|
||||
"first_name_required" => "El nombre es un campo requerido.",
|
||||
"first_page" => "Primero",
|
||||
"gender" => "Género",
|
||||
"gender_female" => "M",
|
||||
"gender_male" => "H",
|
||||
"gender_undefined" => "",
|
||||
"icon" => "Ícono",
|
||||
"id" => "Id",
|
||||
"import" => "Importar",
|
||||
"import_change_file" => "Cambiar",
|
||||
"import_csv" => "Importar de CSV",
|
||||
"import_full_path" => "Se requiere la ruta completa del archivo de CSV",
|
||||
"import_remove_file" => "Eliminar",
|
||||
"import_select_file" => "Seleccionar archivo",
|
||||
"inv" => "Inv",
|
||||
"last_name" => "Apellido(s)",
|
||||
"last_name_required" => "El/Los Apellido(s) es un campo requerido.",
|
||||
"last_page" => "Último",
|
||||
"learn_about_project" => "para conocer la última información sobre el proyecto.",
|
||||
"list_of" => "Lista de",
|
||||
"logo" => "Logo",
|
||||
"logo_mark" => "Marca",
|
||||
"logout" => "Cerrar Sesión",
|
||||
"manager" => "",
|
||||
"migration_needed" => "La migración de la base de datos a {0} comenzará luego de acceder.",
|
||||
"new" => "Nuevo(a)",
|
||||
"no" => "",
|
||||
"no_persons_to_display" => "No existen personas para mostrar.",
|
||||
"none_selected_text" => "[Seleccionar]",
|
||||
"or" => "O",
|
||||
"people" => "",
|
||||
"phone_number" => "Número Tel",
|
||||
"phone_number_required" => "",
|
||||
"please_visit_my" => "Por favor visite",
|
||||
"position" => "",
|
||||
"powered_by" => "Ejecutando sobre",
|
||||
"price" => "Precio",
|
||||
"print" => "Imprimir",
|
||||
"remove" => "Elliminar",
|
||||
"required" => "Requerido",
|
||||
"restore" => "Restaurar",
|
||||
"return_policy" => "Política de Devoluciones",
|
||||
"search" => "Buscar",
|
||||
"search_options" => "Opciones de búsqueda",
|
||||
"searched_for" => "Buscado por",
|
||||
"software_short" => "OSPOS",
|
||||
"software_title" => "Punto de Venta de Código Abierto (Open Source Point of Sale)",
|
||||
"state" => "Estado",
|
||||
"submit" => "Enviar",
|
||||
"total_spent" => "Total Gastado",
|
||||
"unknown" => "Desconocido",
|
||||
"view_recent_sales" => "Ver Ventas Recientes",
|
||||
"website" => "sitio web",
|
||||
"welcome" => "Bienvenido(a)",
|
||||
"welcome_message" => "Bienvenido(a) a OSPOS, haga clic en un módulo para comenzar.",
|
||||
"yes" => "",
|
||||
"you_are_using_ospos" => "Está utilizando la versión de Código Abierto de Punto de Venta",
|
||||
"zip" => "CP",
|
||||
'address_1' => "Dirección 1",
|
||||
'address_2' => "Dirección 2",
|
||||
'admin' => "",
|
||||
'city' => "Ciudad",
|
||||
'clerk' => "",
|
||||
'close' => "Cerrar",
|
||||
'color' => "",
|
||||
'comments' => "Comentarios",
|
||||
'common' => "común",
|
||||
'confirm_search' => "Ha seleccionado una o más filas, éstas no estarán seleccionadas después de su búsqueda. ¿Está seguro(a) de enviar su búsqueda?",
|
||||
'copyrights' => "© 2010 - {0}",
|
||||
'correct_errors' => "Por favor verifique que no hay errores antes de guardar",
|
||||
'country' => "País",
|
||||
'dashboard' => "",
|
||||
'date' => "Fecha",
|
||||
'delete' => "Eliminar",
|
||||
'det' => "detalles",
|
||||
'download_import_template' => "Descargar Plantilla para Importar desde CSV (CSV)",
|
||||
'edit' => "editar",
|
||||
'email' => "Correo-e",
|
||||
'email_invalid_format' => "La dirección de correo-e no tiene el formato correcto.",
|
||||
'export_csv' => "Exportar a CSV",
|
||||
'export_csv_no' => "No",
|
||||
'export_csv_yes' => "Si",
|
||||
'fields_required_message' => "Los campos en rojo son requeridos",
|
||||
'fields_required_message_unique' => "",
|
||||
'first_name' => "Nombre",
|
||||
'first_name_required' => "El nombre es un campo requerido.",
|
||||
'first_page' => "Primero",
|
||||
'gender' => "Género",
|
||||
'gender_female' => "M",
|
||||
'gender_male' => "H",
|
||||
'gender_undefined' => "",
|
||||
'icon' => "Ícono",
|
||||
'id' => "Id",
|
||||
'import' => "Importar",
|
||||
'import_change_file' => "Cambiar",
|
||||
'import_csv' => "Importar de CSV",
|
||||
'import_full_path' => "Se requiere la ruta completa del archivo de CSV",
|
||||
'import_remove_file' => "Eliminar",
|
||||
'import_select_file' => "Seleccionar archivo",
|
||||
'inv' => "Inv",
|
||||
'last_name' => "Apellido(s)",
|
||||
'last_name_required' => "El/Los Apellido(s) es un campo requerido.",
|
||||
'last_page' => "Último",
|
||||
'learn_about_project' => "para conocer la última información sobre el proyecto.",
|
||||
'list_of' => "Lista de",
|
||||
'logo' => "Logo",
|
||||
'logo_mark' => "Marca",
|
||||
'logout' => "Cerrar Sesión",
|
||||
'manager' => "",
|
||||
'migration_needed' => "La migración de la base de datos a {0} comenzará luego de acceder.",
|
||||
'new' => "Nuevo(a)",
|
||||
'no' => "",
|
||||
'no_persons_to_display' => "No existen personas para mostrar.",
|
||||
'none_selected_text' => "[Seleccionar]",
|
||||
'or' => "O",
|
||||
'people' => "",
|
||||
'phone_number' => "Número Tel",
|
||||
'phone_number_required' => "",
|
||||
'please_visit_my' => "Por favor visite",
|
||||
'position' => "",
|
||||
'powered_by' => "Ejecutando sobre",
|
||||
'price' => "Precio",
|
||||
'print' => "Imprimir",
|
||||
'remove' => "Elliminar",
|
||||
'required' => "Requerido",
|
||||
'restore' => "Restaurar",
|
||||
'return_policy' => "Política de Devoluciones",
|
||||
'search' => "Buscar",
|
||||
'search_options' => "Opciones de búsqueda",
|
||||
'searched_for' => "Buscado por",
|
||||
'software_short' => "OSPOS",
|
||||
'software_title' => "Punto de Venta de Código Abierto (Open Source Point of Sale)",
|
||||
'state' => "Estado",
|
||||
'submit' => "Enviar",
|
||||
'total_spent' => "Total Gastado",
|
||||
'unknown' => "Desconocido",
|
||||
'view_recent_sales' => "Ver Ventas Recientes",
|
||||
'website' => "sitio web",
|
||||
'welcome' => "Bienvenido(a)",
|
||||
'welcome_message' => "Bienvenido(a) a OSPOS, haga clic en un módulo para comenzar.",
|
||||
'yes' => "Si",
|
||||
'you_are_using_ospos' => "Está utilizando la versión de Código Abierto de Punto de Venta",
|
||||
'zip' => "CP",
|
||||
];
|
||||
|
||||
@@ -1,330 +1,331 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"address" => "Dirección de la Empresa",
|
||||
"address_required" => "La Dirección de la Empresa es un campo requerido.",
|
||||
"all_set" => "Todos los permisos han sido establecidos correctamente!",
|
||||
"allow_duplicate_barcodes" => "Permitir Códigos de Barra Duplicados",
|
||||
"apostrophe" => "apostrofé",
|
||||
"backup_button" => "Respaldar",
|
||||
"backup_database" => "Respaldar Base de Datos",
|
||||
"barcode" => "Código de Barras",
|
||||
"barcode_company" => "Nombre de la Empresa",
|
||||
"barcode_configuration" => "Configuración del Código de Barras",
|
||||
"barcode_content" => "Contenido del Código de Barras",
|
||||
"barcode_first_row" => "Fila 1",
|
||||
"barcode_font" => "Tipo de Letra",
|
||||
"barcode_formats" => "Formatos de Entrada",
|
||||
"barcode_generate_if_empty" => "Generar si está vacío.",
|
||||
"barcode_height" => "Alto (px)",
|
||||
"barcode_id" => "Id Artículo/Nombre",
|
||||
"barcode_info" => "Información de Configuración para Códigos de Barras",
|
||||
"barcode_layout" => "Formato Código de Barras",
|
||||
"barcode_name" => "Nombre",
|
||||
"barcode_number" => "Código de Barras",
|
||||
"barcode_number_in_row" => "Número en renglón",
|
||||
"barcode_page_cellspacing" => "Mostrar espaciado de celda de la página.",
|
||||
"barcode_page_width" => "Ancho de página",
|
||||
"barcode_price" => "Precio",
|
||||
"barcode_second_row" => "Renglón 2",
|
||||
"barcode_third_row" => "Renglón 3",
|
||||
"barcode_tooltip" => "Advertencia: Esta función puede hacer que se importen o creen elementos duplicados. No lo use si no desea códigos de barras duplicados.",
|
||||
"barcode_type" => "Tipo de código de barras",
|
||||
"barcode_width" => "Ancho (px)",
|
||||
"bottom" => "Final",
|
||||
"cash_button" => "",
|
||||
"cash_button_1" => "",
|
||||
"cash_button_2" => "",
|
||||
"cash_button_3" => "",
|
||||
"cash_button_4" => "",
|
||||
"cash_button_5" => "",
|
||||
"cash_button_6" => "",
|
||||
"cash_decimals" => "decimales en efectivo",
|
||||
"cash_decimals_tooltip" => "Si los decimales son iguales entonces no tendrá redondeo.",
|
||||
"cash_rounding" => "Redondeo de efectivo",
|
||||
"category_dropdown" => "Mostrar categoría como un menú desplegable",
|
||||
"center" => "Centro",
|
||||
"change_apperance_tooltip" => "",
|
||||
"comma" => "coma",
|
||||
"company" => "Nombre de la Compañía",
|
||||
"company_avatar" => "",
|
||||
"company_change_image" => "Cambiar Imagen",
|
||||
"company_logo" => "Logo de la Compañía",
|
||||
"company_remove_image" => "Eliminar Imagen",
|
||||
"company_required" => "Nombre de la compañia es un campo requerido",
|
||||
"company_select_image" => "Seleccionar Imagen",
|
||||
"company_website_url" => "Website de la compañía no es una URL valida (http://...).",
|
||||
"country_codes" => "Códigos de Países",
|
||||
"country_codes_tooltip" => "Lista separada por comas de códigos de países para la búsqueda de direcciones nominatim.",
|
||||
"currency_code" => "código de moneda",
|
||||
"currency_decimals" => "Decimales de moneda",
|
||||
"currency_symbol" => "Símbolo de moneda",
|
||||
"current_employee_only" => "",
|
||||
"customer_reward" => "Recompensa",
|
||||
"customer_reward_duplicate" => "Recompensa debe ser única.",
|
||||
"customer_reward_enable" => "Habilita recompensas para los clientes",
|
||||
"customer_reward_invalid_chars" => "Recompensa no debe tener '_'",
|
||||
"customer_reward_required" => "Recompensa es un campo requerido",
|
||||
"customer_sales_tax_support" => "",
|
||||
"date_or_time_format" => "Filtro Fecha y Hora",
|
||||
"datetimeformat" => "Formato de Fecha y Hora",
|
||||
"decimal_point" => "Punto Decimal",
|
||||
"default_barcode_font_size_number" => "El tamaño de fuente del código de barras predeterminado debe ser un número.",
|
||||
"default_barcode_font_size_required" => "El tamaño de fuente predeterminado del código de barras es un campo obligatorio.",
|
||||
"default_barcode_height_number" => "La altura predeterminada del código de barras debe ser un número.",
|
||||
"default_barcode_height_required" => "La altura predeterminada del código de barras es un campo obligatorio.",
|
||||
"default_barcode_num_in_row_number" => "El número de código de barras predeterminado en la fila debe ser un número.",
|
||||
"default_barcode_num_in_row_required" => "El número de código de barras predeterminado en la fila es un campo obligatorio.",
|
||||
"default_barcode_page_cellspacing_number" => "El espacio entre celdas predeterminado de la página de código de barras debe ser un número.",
|
||||
"default_barcode_page_cellspacing_required" => "El espaciado entre celdas de página de código de barras predeterminado es un campo obligatorio.",
|
||||
"default_barcode_page_width_number" => "La anchura del código de barras debe ser un número.",
|
||||
"default_barcode_page_width_required" => "El ancho predeterminado del código de barras es un campo obligatorio.",
|
||||
"default_barcode_width_number" => "El Ancho del código de barra debe ser un número.",
|
||||
"default_barcode_width_required" => "El ancho predeterminado del código de barras es un campo obligatorio.",
|
||||
"default_item_columns" => "Número de artículos por columna predeterminado",
|
||||
"default_origin_tax_code" => "Código de Impuesto predeterminado",
|
||||
"default_receivings_discount" => "Descuentos de recibos predeterminados",
|
||||
"default_receivings_discount_number" => "Descuentos de recibos deben ser números.",
|
||||
"default_receivings_discount_required" => "Descuentos de recibos es un campo requerido.",
|
||||
"default_sales_discount" => "% Descuentos en ventas",
|
||||
"default_sales_discount_number" => "El descuento predeterminado debe ser un número.",
|
||||
"default_sales_discount_required" => "Descuento de Ventas por Defecto es un campo requerido.",
|
||||
"default_tax_category" => "Categoría de Impuesto Predeterminada",
|
||||
"default_tax_code" => "Código de Impuesto Predeterminado",
|
||||
"default_tax_jurisdiction" => "Jurisdicción de Impuesto Predeterminada",
|
||||
"default_tax_name_number" => "Nombre de Impuesto Predeterminado debe ser una cadena de texto.",
|
||||
"default_tax_name_required" => "Nombre de Impuesto Predeterminado es un campo requerido.",
|
||||
"default_tax_rate" => "Tasa impositiva predeterminada %",
|
||||
"default_tax_rate_1" => "Tasa de Impuestos 1",
|
||||
"default_tax_rate_2" => "Tasa de Impuestos 2",
|
||||
"default_tax_rate_3" => "",
|
||||
"default_tax_rate_number" => "La tasa impositiva predeterminada debe ser un número.",
|
||||
"default_tax_rate_required" => "Tasa de impuestos predeterminada es un campo obligatorio.",
|
||||
"derive_sale_quantity" => "Permitir cantidad de venta derivada",
|
||||
"derive_sale_quantity_tooltip" => "Si se marca, se proporcionará un nuevo tipo de artículo para los artículos pedidos por cantidad extendida",
|
||||
"dinner_table" => "Mesa",
|
||||
"dinner_table_duplicate" => "La tabla debe ser única.",
|
||||
"dinner_table_enable" => "Habilitar Mesa de Alimentos",
|
||||
"dinner_table_invalid_chars" => "El nombre de la tabla no puede llevar '_'.",
|
||||
"dinner_table_required" => "Tabla es requerida.",
|
||||
"dot" => "punto(.)",
|
||||
"email" => "Email",
|
||||
"email_configuration" => "Configuración Email",
|
||||
"email_mailpath" => "Ruta a Sendmail",
|
||||
"email_protocol" => "Protocolo",
|
||||
"email_receipt_check_behaviour" => "Email Receipt checkbox",
|
||||
"email_receipt_check_behaviour_always" => "Siempre selecionado",
|
||||
"email_receipt_check_behaviour_last" => "Recuerda la última selección",
|
||||
"email_receipt_check_behaviour_never" => "Núnca seleccionado",
|
||||
"email_smtp_crypto" => "Encriptación SMTP",
|
||||
"email_smtp_host" => "Servidor SMTP",
|
||||
"email_smtp_pass" => "Contraseña del Servidor SMTP",
|
||||
"email_smtp_port" => "Puerto del Servidor SMTP",
|
||||
"email_smtp_timeout" => "Expiró Tiempo de Espera del Servidor SMTP",
|
||||
"email_smtp_user" => "Nombre de Usuario del Servidor SMTP",
|
||||
"enable_avatar" => "",
|
||||
"enable_avatar_tooltip" => "",
|
||||
"enable_dropdown_tooltip" => "",
|
||||
"enable_new_look" => "",
|
||||
"enable_right_bar" => "",
|
||||
"enable_right_bar_tooltip" => "",
|
||||
"enforce_privacy" => "Enforce privacy",
|
||||
"enforce_privacy_tooltip" => "Protect Customers privacy enforcing data scrambling in case of their data being deleted",
|
||||
"fax" => "Fax",
|
||||
"file_perm" => "Hay problemas con los permisos de archivo, por favor corríjalos y recargue esta página.",
|
||||
"financial_year" => "Inicio del Año Fiscal",
|
||||
"financial_year_apr" => "1.º de Abril",
|
||||
"financial_year_aug" => "1.º de Agosto",
|
||||
"financial_year_dec" => "1.º de Diciembre",
|
||||
"financial_year_feb" => "1.º de Febrero",
|
||||
"financial_year_jan" => "1.º de Enero",
|
||||
"financial_year_jul" => "1.º de Julio",
|
||||
"financial_year_jun" => "1.º de Junio",
|
||||
"financial_year_mar" => "1.º de Marzo",
|
||||
"financial_year_may" => "1.º de Mayo",
|
||||
"financial_year_nov" => "1.º de Noviembre",
|
||||
"financial_year_oct" => "1.º de Octubre",
|
||||
"financial_year_sep" => "1º. de Septiembre",
|
||||
"floating_labels" => "Etiquetas Flotantes",
|
||||
"gcaptcha_enable" => "reCAPTCHA de Página de Ingreso",
|
||||
"gcaptcha_secret_key" => "reCAPTCHA Secret Key",
|
||||
"gcaptcha_secret_key_required" => "reCAPTCHA Llave Secreta es un campo requerido",
|
||||
"gcaptcha_site_key" => "reCAPTCHA Site Key",
|
||||
"gcaptcha_site_key_required" => "reCAPTCHA Site Key is a required field",
|
||||
"gcaptcha_tooltip" => "Protect the Login page with Google reCAPTCHA, click the icon for an API key pair.",
|
||||
"general" => "General",
|
||||
"general_configuration" => "General Configuration",
|
||||
"giftcard_number" => "Gift Card Number",
|
||||
"giftcard_random" => "Generate Random",
|
||||
"giftcard_series" => "Generate in Series",
|
||||
"image_allowed_file_types" => "Tipo de archivos permitidos",
|
||||
"image_max_height_tooltip" => "Altura máxima permitida de imágenes en píxeles (px).",
|
||||
"image_max_size_tooltip" => "Tamaño máximo permitido de archivo de imágenes en kilobytes (kb).",
|
||||
"image_max_width_tooltip" => "Ancho máximo permitido para imágenes en píxeles (px).",
|
||||
"image_restrictions" => "Restricciones de carga de imágenes",
|
||||
"include_hsn" => "Include Support for HSN Codes",
|
||||
"info" => "Information",
|
||||
"info_configuration" => "Store Information",
|
||||
"input_groups" => "Grupos de Entrada",
|
||||
"integrations" => "Integraciones",
|
||||
"integrations_configuration" => "Integraciones Externas",
|
||||
"invoice" => "Invoice",
|
||||
"invoice_configuration" => "Invoice Print Settings",
|
||||
"invoice_default_comments" => "Default Invoice Comments",
|
||||
"invoice_email_message" => "Invoice Email Template",
|
||||
"invoice_enable" => "Enable Invoicing",
|
||||
"invoice_printer" => "Invoice Printer",
|
||||
"invoice_type" => "Invoice Type",
|
||||
"is_readable" => "es legible, pero los permisos están configurados incorrectamente. Configúrelo en 640 o 660 y actualice.",
|
||||
"is_writable" => "se puede escribir, pero los permisos están configurados incorrectamente. Configúrelo en 750 y actualice.",
|
||||
"item_markup" => "",
|
||||
"jsprintsetup_required" => "Warning: This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?",
|
||||
"language" => "Language",
|
||||
"last_used_invoice_number" => "Last used Invoice Number",
|
||||
"last_used_quote_number" => "Last used Quote Number",
|
||||
"last_used_work_order_number" => "Last used W/O Number",
|
||||
"left" => "Left",
|
||||
"license" => "License",
|
||||
"license_configuration" => "License Statement",
|
||||
"line_sequence" => "Line Sequence",
|
||||
"lines_per_page" => "Lines per Page",
|
||||
"lines_per_page_number" => "Lines per Page must be a number.",
|
||||
"lines_per_page_required" => "Lines per Page is a required field.",
|
||||
"locale" => "Localization",
|
||||
"locale_configuration" => "Localization Configuration",
|
||||
"locale_info" => "Localization Configuration Information",
|
||||
"location" => "Stock",
|
||||
"location_configuration" => "Stock Locations",
|
||||
"location_info" => "Location Configuration Information",
|
||||
"login_form" => "Estilo de formulario de inicio de sesión",
|
||||
"logout" => "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.",
|
||||
"mailchimp" => "Mailchimp",
|
||||
"mailchimp_api_key" => "Mailchimp Clave API",
|
||||
"mailchimp_configuration" => "Configuración de MailChimp",
|
||||
"mailchimp_key_successfully" => "API Key is valid.",
|
||||
"mailchimp_key_unsuccessfully" => "API Key is invalid.",
|
||||
"mailchimp_lists" => "Lista (s) de MailChimp",
|
||||
"mailchimp_tooltip" => "Click the icon for an API Key.",
|
||||
"message" => "Message",
|
||||
"message_configuration" => "Message Configuration",
|
||||
"msg_msg" => "Saved Text Message",
|
||||
"msg_msg_placeholder" => "If you wish to use a SMS template save your message here, otherwise leave the box blank.",
|
||||
"msg_pwd" => "SMS-API Password",
|
||||
"msg_pwd_required" => "SMS-API Password is a required field",
|
||||
"msg_src" => "SMS-API Sender ID",
|
||||
"msg_src_required" => "SMS-API Sender ID is a required field",
|
||||
"msg_uid" => "SMS-API Username",
|
||||
"msg_uid_required" => "SMS-API Username is a required field",
|
||||
"multi_pack_enabled" => "Multiple Packages per Item",
|
||||
"no_risk" => "No security/vulnerability risks.",
|
||||
"none" => "none",
|
||||
"notify_alignment" => "Notification Popup Position",
|
||||
"number_format" => "Number Format",
|
||||
"number_locale" => "Localization",
|
||||
"number_locale_invalid" => "The entered locale is invalid. Check the link in the tooltip to find a valid locale.",
|
||||
"number_locale_required" => "Number Locale is a required field.",
|
||||
"number_locale_tooltip" => "Find a suitable locale through this link.",
|
||||
"os_timezone" => "Zona horaria OSPOS:",
|
||||
"ospos_info" => "Información de instalación OSPOS",
|
||||
"payment_options_order" => "Payment Options Order",
|
||||
"perm_risk" => "Los permisos incorrectos ponen en riesgo este software.",
|
||||
"phone" => "Company Phone",
|
||||
"phone_required" => "Company Phone is a required field.",
|
||||
"print_bottom_margin" => "Margin Bottom",
|
||||
"print_bottom_margin_number" => "Margin Bottom must be a number.",
|
||||
"print_bottom_margin_required" => "Margin Bottom is a required field.",
|
||||
"print_delay_autoreturn" => "Autoreturn to Sale delay",
|
||||
"print_delay_autoreturn_number" => "Autoreturn to Sale delay is a required field.",
|
||||
"print_delay_autoreturn_required" => "Autoreturn to Sale delay must be a number.",
|
||||
"print_footer" => "Print Browser Footer",
|
||||
"print_header" => "Print Browser Header",
|
||||
"print_left_margin" => "Margin Left",
|
||||
"print_left_margin_number" => "Margin Left must be a number.",
|
||||
"print_left_margin_required" => "Margin Left is a required field.",
|
||||
"print_receipt_check_behaviour" => "Print Receipt checkbox",
|
||||
"print_receipt_check_behaviour_always" => "Always checked",
|
||||
"print_receipt_check_behaviour_last" => "Remember last selection",
|
||||
"print_receipt_check_behaviour_never" => "Always unchecked",
|
||||
"print_right_margin" => "Margin Right",
|
||||
"print_right_margin_number" => "Margin Right must be a number.",
|
||||
"print_right_margin_required" => "Margin Right is a required field.",
|
||||
"print_silently" => "Show Print Dialog",
|
||||
"print_top_margin" => "Margin Top",
|
||||
"print_top_margin_number" => "Margin Top must be a number.",
|
||||
"print_top_margin_required" => "Margin Top is a required field.",
|
||||
"quantity_decimals" => "Quantity Decimals",
|
||||
"quick_cash_enable" => "",
|
||||
"quote_default_comments" => "Default Quote Comments",
|
||||
"receipt" => "Receipt",
|
||||
"receipt_category" => "",
|
||||
"receipt_configuration" => "Receipt Print Settings",
|
||||
"receipt_default" => "Default",
|
||||
"receipt_font_size" => "Font Size",
|
||||
"receipt_font_size_number" => "Font Size must be a number.",
|
||||
"receipt_font_size_required" => "Font Size is a required field.",
|
||||
"receipt_info" => "Receipt Configuration Information",
|
||||
"receipt_printer" => "Ticket Printer",
|
||||
"receipt_short" => "Short",
|
||||
"receipt_show_company_name" => "Show Company Name",
|
||||
"receipt_show_description" => "Show Description",
|
||||
"receipt_show_serialnumber" => "Show Serial Number",
|
||||
"receipt_show_tax_ind" => "Mostrar indicador de impuestos",
|
||||
"receipt_show_taxes" => "Show Taxes",
|
||||
"receipt_show_total_discount" => "Show Total Discount",
|
||||
"receipt_template" => "Receipt Template",
|
||||
"receiving_calculate_average_price" => "Calcular promedio, Precio (Recepción)",
|
||||
"recv_invoice_format" => "Receivings Invoice Format",
|
||||
"register_mode_default" => "Default Register Mode",
|
||||
"report_an_issue" => "Reportar un problema",
|
||||
"return_policy_required" => "Return policy is a required field.",
|
||||
"reward" => "Reward",
|
||||
"reward_configuration" => "Reward Configuration",
|
||||
"right" => "Right",
|
||||
"sales_invoice_format" => "Sales Invoice Format",
|
||||
"sales_quote_format" => "Sales Quote Format",
|
||||
"saved_successfully" => "Configuration save successful.",
|
||||
"saved_unsuccessfully" => "Configuration save failed.",
|
||||
"security_issue" => "Security Vulnerability Warning",
|
||||
"server_notice" => "Please use the below info for issue reporting.",
|
||||
"service_charge" => "",
|
||||
"show_due_enable" => "",
|
||||
"show_office_group" => "Show office icon",
|
||||
"statistics" => "Send Statistics",
|
||||
"statistics_tooltip" => "Send statistics for development and feature improvement purposes.",
|
||||
"stock_location" => "Stock location",
|
||||
"stock_location_duplicate" => "Stock Location must be unique.",
|
||||
"stock_location_invalid_chars" => "Stock Location can not contain '_'.",
|
||||
"stock_location_required" => "Stock location is a required field.",
|
||||
"suggestions_fifth_column" => "",
|
||||
"suggestions_first_column" => "Column 1",
|
||||
"suggestions_fourth_column" => "",
|
||||
"suggestions_layout" => "Search Suggestions Layout",
|
||||
"suggestions_second_column" => "Column 2",
|
||||
"suggestions_third_column" => "Column 3",
|
||||
"system_conf" => "Setup & Conf",
|
||||
"system_info" => "System Info",
|
||||
"table" => "Table",
|
||||
"table_configuration" => "Table Configuration",
|
||||
"takings_printer" => "Receipt Printer",
|
||||
"tax" => "Tax",
|
||||
"tax_category" => "Tax Category",
|
||||
"tax_category_duplicate" => "The entered tax category already exists.",
|
||||
"tax_category_invalid_chars" => "The entered tax category is invalid.",
|
||||
"tax_category_required" => "The tax category is required.",
|
||||
"tax_category_used" => "Tax category cannot be deleted because it is being used.",
|
||||
"tax_configuration" => "Tax Configuration",
|
||||
"tax_decimals" => "Tax Decimals",
|
||||
"tax_id" => "Tax Id",
|
||||
"tax_included" => "Tax Included",
|
||||
"theme" => "Theme",
|
||||
"theme_preview" => "Vista Previa del Tema:",
|
||||
"thousands_separator" => "Thousands Separator",
|
||||
"timezone" => "Timezone",
|
||||
"timezone_error" => "La zona horaria de OSPOS es diferente a su zona horaria local.",
|
||||
"top" => "Top",
|
||||
"use_destination_based_tax" => "Use Destination Based Tax",
|
||||
"user_timezone" => "Zona horaria local:",
|
||||
"website" => "Website",
|
||||
"wholesale_markup" => "",
|
||||
"work_order_enable" => "Work Order Support",
|
||||
"work_order_format" => "Work Order Format",
|
||||
'address' => "Dirección de la Empresa",
|
||||
'address_required' => "La Dirección de la Empresa es un campo requerido.",
|
||||
'all_set' => "Todos los permisos han sido establecidos correctamente!",
|
||||
'allow_duplicate_barcodes' => "Permitir Códigos de Barra Duplicados",
|
||||
'apostrophe' => "apostrofé",
|
||||
'backup_button' => "Respaldar",
|
||||
'backup_database' => "Respaldar Base de Datos",
|
||||
'barcode' => "Código de Barras",
|
||||
'barcode_company' => "Nombre de la Empresa",
|
||||
'barcode_configuration' => "Configuración del Código de Barras",
|
||||
'barcode_content' => "Contenido del Código de Barras",
|
||||
'barcode_first_row' => "Fila 1",
|
||||
'barcode_font' => "Tipo de Letra",
|
||||
'barcode_formats' => "Formatos de Entrada",
|
||||
'barcode_generate_if_empty' => "Generar si está vacío.",
|
||||
'barcode_height' => "Alto (px)",
|
||||
'barcode_id' => "Id Artículo/Nombre",
|
||||
'barcode_info' => "Información de Configuración para Códigos de Barras",
|
||||
'barcode_layout' => "Formato Código de Barras",
|
||||
'barcode_name' => "Nombre",
|
||||
'barcode_number' => "Código de Barras",
|
||||
'barcode_number_in_row' => "Número en renglón",
|
||||
'barcode_page_cellspacing' => "Mostrar espaciado de celda de la página.",
|
||||
'barcode_page_width' => "Ancho de página",
|
||||
'barcode_price' => "Precio",
|
||||
'barcode_second_row' => "Renglón 2",
|
||||
'barcode_third_row' => "Renglón 3",
|
||||
'barcode_tooltip' => "Advertencia: Esta función puede hacer que se importen o creen elementos duplicados. No lo use si no desea códigos de barras duplicados.",
|
||||
'barcode_type' => "Tipo de código de barras",
|
||||
'barcode_width' => "Ancho (px)",
|
||||
'bottom' => "Final",
|
||||
'cash_button' => "",
|
||||
'cash_button_1' => "",
|
||||
'cash_button_2' => "",
|
||||
'cash_button_3' => "",
|
||||
'cash_button_4' => "",
|
||||
'cash_button_5' => "",
|
||||
'cash_button_6' => "",
|
||||
'cash_decimals' => "decimales en efectivo",
|
||||
'cash_decimals_tooltip' => "Si los decimales son iguales entonces no tendrá redondeo.",
|
||||
'cash_rounding' => "Redondeo de efectivo",
|
||||
'category_dropdown' => "Mostrar categoría como un menú desplegable",
|
||||
'center' => "Centro",
|
||||
'change_apperance_tooltip' => "",
|
||||
'comma' => "coma",
|
||||
'company' => "Nombre de la Compañía",
|
||||
'company_avatar' => "",
|
||||
'company_change_image' => "Cambiar Imagen",
|
||||
'company_logo' => "Logo de la Compañía",
|
||||
'company_remove_image' => "Eliminar Imagen",
|
||||
'company_required' => "Nombre de la compañia es un campo requerido",
|
||||
'company_select_image' => "Seleccionar Imagen",
|
||||
'company_website_url' => "Website de la compañía no es una URL valida (http://...).",
|
||||
'country_codes' => "Códigos de Países",
|
||||
'country_codes_tooltip' => "Lista separada por comas de códigos de países para la búsqueda de direcciones nominatim.",
|
||||
'currency_code' => "código de moneda",
|
||||
'currency_decimals' => "Decimales de moneda",
|
||||
'currency_symbol' => "Símbolo de moneda",
|
||||
'current_employee_only' => "",
|
||||
'customer_reward' => "Recompensa",
|
||||
'customer_reward_duplicate' => "Recompensa debe ser única.",
|
||||
'customer_reward_enable' => "Habilita recompensas para los clientes",
|
||||
'customer_reward_invalid_chars' => "Recompensa no debe tener '_'",
|
||||
'customer_reward_required' => "Recompensa es un campo requerido",
|
||||
'customer_sales_tax_support' => "",
|
||||
'date_or_time_format' => "Filtro Fecha y Hora",
|
||||
'datetimeformat' => "Formato de Fecha y Hora",
|
||||
'decimal_point' => "Punto Decimal",
|
||||
'default_barcode_font_size_number' => "El tamaño de fuente del código de barras predeterminado debe ser un número.",
|
||||
'default_barcode_font_size_required' => "El tamaño de fuente predeterminado del código de barras es un campo obligatorio.",
|
||||
'default_barcode_height_number' => "La altura predeterminada del código de barras debe ser un número.",
|
||||
'default_barcode_height_required' => "La altura predeterminada del código de barras es un campo obligatorio.",
|
||||
'default_barcode_num_in_row_number' => "El número de código de barras predeterminado en la fila debe ser un número.",
|
||||
'default_barcode_num_in_row_required' => "El número de código de barras predeterminado en la fila es un campo obligatorio.",
|
||||
'default_barcode_page_cellspacing_number' => "El espacio entre celdas predeterminado de la página de código de barras debe ser un número.",
|
||||
'default_barcode_page_cellspacing_required' => "El espaciado entre celdas de página de código de barras predeterminado es un campo obligatorio.",
|
||||
'default_barcode_page_width_number' => "La anchura del código de barras debe ser un número.",
|
||||
'default_barcode_page_width_required' => "El ancho predeterminado del código de barras es un campo obligatorio.",
|
||||
'default_barcode_width_number' => "El Ancho del código de barra debe ser un número.",
|
||||
'default_barcode_width_required' => "El ancho predeterminado del código de barras es un campo obligatorio.",
|
||||
'default_item_columns' => "Número de artículos por columna predeterminado",
|
||||
'default_origin_tax_code' => "Código de Impuesto predeterminado",
|
||||
'default_receivings_discount' => "Descuentos de recibos predeterminados",
|
||||
'default_receivings_discount_number' => "Descuentos de recibos deben ser números.",
|
||||
'default_receivings_discount_required' => "Descuentos de recibos es un campo requerido.",
|
||||
'default_sales_discount' => "% Descuentos en ventas",
|
||||
'default_sales_discount_number' => "El descuento predeterminado debe ser un número.",
|
||||
'default_sales_discount_required' => "Descuento de Ventas por Defecto es un campo requerido.",
|
||||
'default_tax_category' => "Categoría de Impuesto Predeterminada",
|
||||
'default_tax_code' => "Código de Impuesto Predeterminado",
|
||||
'default_tax_jurisdiction' => "Jurisdicción de Impuesto Predeterminada",
|
||||
'default_tax_name_number' => "Nombre de Impuesto Predeterminado debe ser una cadena de texto.",
|
||||
'default_tax_name_required' => "Nombre de Impuesto Predeterminado es un campo requerido.",
|
||||
'default_tax_rate' => "Tasa impositiva predeterminada %",
|
||||
'default_tax_rate_1' => "Tasa de Impuestos 1",
|
||||
'default_tax_rate_2' => "Tasa de Impuestos 2",
|
||||
'default_tax_rate_3' => "",
|
||||
'default_tax_rate_number' => "La tasa impositiva predeterminada debe ser un número.",
|
||||
'default_tax_rate_required' => "Tasa de impuestos predeterminada es un campo obligatorio.",
|
||||
'derive_sale_quantity' => "Permitir cantidad de venta derivada",
|
||||
'derive_sale_quantity_tooltip' => "Si se marca, se proporcionará un nuevo tipo de artículo para los artículos pedidos por cantidad extendida",
|
||||
'dinner_table' => "Mesa",
|
||||
'dinner_table_duplicate' => "La tabla debe ser única.",
|
||||
'dinner_table_enable' => "Habilitar Mesa de Alimentos",
|
||||
'dinner_table_invalid_chars' => "El nombre de la tabla no puede llevar '_'.",
|
||||
'dinner_table_required' => "Tabla es requerida.",
|
||||
'dot' => "punto(.)",
|
||||
'email' => "Email",
|
||||
'email_configuration' => "Configuración Email",
|
||||
'email_mailpath' => "Ruta a Sendmail",
|
||||
'email_protocol' => "Protocolo",
|
||||
'email_receipt_check_behaviour' => "Email Receipt checkbox",
|
||||
'email_receipt_check_behaviour_always' => "Siempre selecionado",
|
||||
'email_receipt_check_behaviour_last' => "Recuerda la última selección",
|
||||
'email_receipt_check_behaviour_never' => "Núnca seleccionado",
|
||||
'email_smtp_crypto' => "Encriptación SMTP",
|
||||
'email_smtp_host' => "Servidor SMTP",
|
||||
'email_smtp_pass' => "Contraseña del Servidor SMTP",
|
||||
'email_smtp_port' => "Puerto del Servidor SMTP",
|
||||
'email_smtp_timeout' => "Expiró Tiempo de Espera del Servidor SMTP",
|
||||
'email_smtp_user' => "Nombre de Usuario del Servidor SMTP",
|
||||
'enable_avatar' => "",
|
||||
'enable_avatar_tooltip' => "",
|
||||
'enable_dropdown_tooltip' => "",
|
||||
'enable_new_look' => "",
|
||||
'enable_right_bar' => "",
|
||||
'enable_right_bar_tooltip' => "",
|
||||
'enforce_privacy' => "Enforce privacy",
|
||||
'enforce_privacy_tooltip' => "Protect Customers privacy enforcing data scrambling in case of their data being deleted",
|
||||
'fax' => "Fax",
|
||||
'file_perm' => "Hay problemas con los permisos de archivo, por favor corríjalos y recargue esta página.",
|
||||
'financial_year' => "Inicio del Año Fiscal",
|
||||
'financial_year_apr' => "1.º de Abril",
|
||||
'financial_year_aug' => "1.º de Agosto",
|
||||
'financial_year_dec' => "1.º de Diciembre",
|
||||
'financial_year_feb' => "1.º de Febrero",
|
||||
'financial_year_jan' => "1.º de Enero",
|
||||
'financial_year_jul' => "1.º de Julio",
|
||||
'financial_year_jun' => "1.º de Junio",
|
||||
'financial_year_mar' => "1.º de Marzo",
|
||||
'financial_year_may' => "1.º de Mayo",
|
||||
'financial_year_nov' => "1.º de Noviembre",
|
||||
'financial_year_oct' => "1.º de Octubre",
|
||||
'financial_year_sep' => "1º. de Septiembre",
|
||||
'floating_labels' => "Etiquetas Flotantes",
|
||||
'gcaptcha_enable' => "reCAPTCHA de Página de Ingreso",
|
||||
'gcaptcha_secret_key' => "reCAPTCHA Secret Key",
|
||||
'gcaptcha_secret_key_required' => "reCAPTCHA Llave Secreta es un campo requerido",
|
||||
'gcaptcha_site_key' => "reCAPTCHA Site Key",
|
||||
'gcaptcha_site_key_required' => "reCAPTCHA Site Key is a required field",
|
||||
'gcaptcha_tooltip' => "Protect the Login page with Google reCAPTCHA, click the icon for an API key pair.",
|
||||
'general' => "General",
|
||||
'general_configuration' => "General Configuration",
|
||||
'giftcard_number' => "Gift Card Number",
|
||||
'giftcard_random' => "Generate Random",
|
||||
'giftcard_series' => "Generate in Series",
|
||||
'image_allowed_file_types' => "Tipo de archivos permitidos",
|
||||
'image_max_height_tooltip' => "Altura máxima permitida de imágenes en píxeles (px).",
|
||||
'image_max_size_tooltip' => "Tamaño máximo permitido de archivo de imágenes en kilobytes (kb).",
|
||||
'image_max_width_tooltip' => "Ancho máximo permitido para imágenes en píxeles (px).",
|
||||
'image_restrictions' => "Restricciones de carga de imágenes",
|
||||
'include_hsn' => "Include Support for HSN Codes",
|
||||
'info' => "Information",
|
||||
'info_configuration' => "Store Information",
|
||||
'input_groups' => "Grupos de Entrada",
|
||||
'integrations' => "Integraciones",
|
||||
'integrations_configuration' => "Integraciones Externas",
|
||||
'invoice' => "Invoice",
|
||||
'invoice_configuration' => "Invoice Print Settings",
|
||||
'invoice_default_comments' => "Default Invoice Comments",
|
||||
'invoice_email_message' => "Invoice Email Template",
|
||||
'invoice_enable' => "Enable Invoicing",
|
||||
'invoice_printer' => "Invoice Printer",
|
||||
'invoice_type' => "Invoice Type",
|
||||
'is_readable' => "es legible, pero los permisos están configurados incorrectamente. Configúrelo en 640 o 660 y actualice.",
|
||||
'is_writable' => "se puede escribir, pero los permisos están configurados incorrectamente. Configúrelo en 750 y actualice.",
|
||||
'item_markup' => "",
|
||||
'jsprintsetup_required' => "Warning: This functionality will only work if you have the FireFox jsPrintSetup addon installed. Save anyway?",
|
||||
'language' => "Language",
|
||||
'last_used_invoice_number' => "Last used Invoice Number",
|
||||
'last_used_quote_number' => "Last used Quote Number",
|
||||
'last_used_work_order_number' => "Last used W/O Number",
|
||||
'left' => "Left",
|
||||
'license' => "License",
|
||||
'license_configuration' => "License Statement",
|
||||
'line_sequence' => "Line Sequence",
|
||||
'lines_per_page' => "Lines per Page",
|
||||
'lines_per_page_number' => "Lines per Page must be a number.",
|
||||
'lines_per_page_required' => "Lines per Page is a required field.",
|
||||
'locale' => "Localization",
|
||||
'locale_configuration' => "Localization Configuration",
|
||||
'locale_info' => "Localization Configuration Information",
|
||||
'location' => "Stock",
|
||||
'location_configuration' => "Stock Locations",
|
||||
'location_info' => "Location Configuration Information",
|
||||
'login_form' => "Estilo de formulario de inicio de sesión",
|
||||
'logout' => "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.",
|
||||
'mailchimp' => "Mailchimp",
|
||||
'mailchimp_api_key' => "Mailchimp Clave API",
|
||||
'mailchimp_configuration' => "Configuración de MailChimp",
|
||||
'mailchimp_key_successfully' => "API Key is valid.",
|
||||
'mailchimp_key_unsuccessfully' => "API Key is invalid.",
|
||||
'mailchimp_lists' => "Lista (s) de MailChimp",
|
||||
'mailchimp_tooltip' => "Click the icon for an API Key.",
|
||||
'message' => "Message",
|
||||
'message_configuration' => "Message Configuration",
|
||||
'msg_msg' => "Saved Text Message",
|
||||
'msg_msg_placeholder' => "If you wish to use a SMS template save your message here, otherwise leave the box blank.",
|
||||
'msg_pwd' => "SMS-API Password",
|
||||
'msg_pwd_required' => "SMS-API Password is a required field",
|
||||
'msg_src' => "SMS-API Sender ID",
|
||||
'msg_src_required' => "SMS-API Sender ID is a required field",
|
||||
'msg_uid' => "SMS-API Username",
|
||||
'msg_uid_required' => "SMS-API Username is a required field",
|
||||
'multi_pack_enabled' => "Multiple Packages per Item",
|
||||
'no_risk' => "No security/vulnerability risks.",
|
||||
'none' => "none",
|
||||
'notify_alignment' => "Notification Popup Position",
|
||||
'number_format' => "Number Format",
|
||||
'number_locale' => "Localization",
|
||||
'number_locale_invalid' => "The entered locale is invalid. Check the link in the tooltip to find a valid locale.",
|
||||
'number_locale_required' => "Number Locale is a required field.",
|
||||
'number_locale_tooltip' => "Find a suitable locale through this link.",
|
||||
'os_timezone' => "Zona horaria OSPOS:",
|
||||
'ospos_info' => "Información de instalación OSPOS",
|
||||
'payment_options_order' => "Payment Options Order",
|
||||
'perm_risk' => "Los permisos incorrectos ponen en riesgo este software.",
|
||||
'phone' => "Company Phone",
|
||||
'phone_required' => "Company Phone is a required field.",
|
||||
'print_bottom_margin' => "Margin Bottom",
|
||||
'print_bottom_margin_number' => "Margin Bottom must be a number.",
|
||||
'print_bottom_margin_required' => "Margin Bottom is a required field.",
|
||||
'print_delay_autoreturn' => "Autoreturn to Sale delay",
|
||||
'print_delay_autoreturn_number' => "Autoreturn to Sale delay is a required field.",
|
||||
'print_delay_autoreturn_required' => "Autoreturn to Sale delay must be a number.",
|
||||
'print_footer' => "Print Browser Footer",
|
||||
'print_header' => "Print Browser Header",
|
||||
'print_left_margin' => "Margin Left",
|
||||
'print_left_margin_number' => "Margin Left must be a number.",
|
||||
'print_left_margin_required' => "Margin Left is a required field.",
|
||||
'print_receipt_check_behaviour' => "Print Receipt checkbox",
|
||||
'print_receipt_check_behaviour_always' => "Always checked",
|
||||
'print_receipt_check_behaviour_last' => "Remember last selection",
|
||||
'print_receipt_check_behaviour_never' => "Always unchecked",
|
||||
'print_right_margin' => "Margin Right",
|
||||
'print_right_margin_number' => "Margin Right must be a number.",
|
||||
'print_right_margin_required' => "Margin Right is a required field.",
|
||||
'print_silently' => "Show Print Dialog",
|
||||
'print_top_margin' => "Margin Top",
|
||||
'print_top_margin_number' => "Margin Top must be a number.",
|
||||
'print_top_margin_required' => "Margin Top is a required field.",
|
||||
'quantity_decimals' => "Quantity Decimals",
|
||||
'quick_cash_enable' => "",
|
||||
'quote_default_comments' => "Default Quote Comments",
|
||||
'receipt' => "Receipt",
|
||||
'receipt_category' => "",
|
||||
'receipt_configuration' => "Receipt Print Settings",
|
||||
'receipt_default' => "Default",
|
||||
'receipt_font_size' => "Font Size",
|
||||
'receipt_font_size_number' => "Font Size must be a number.",
|
||||
'receipt_font_size_required' => "Font Size is a required field.",
|
||||
'receipt_info' => "Receipt Configuration Information",
|
||||
'receipt_printer' => "Ticket Printer",
|
||||
'receipt_short' => "Short",
|
||||
'receipt_show_company_name' => "Show Company Name",
|
||||
'receipt_show_description' => "Show Description",
|
||||
'receipt_show_serialnumber' => "Show Serial Number",
|
||||
'receipt_show_tax_ind' => "Mostrar indicador de impuestos",
|
||||
'receipt_show_taxes' => "Show Taxes",
|
||||
'receipt_show_total_discount' => "Show Total Discount",
|
||||
'receipt_template' => "Receipt Template",
|
||||
'receiving_calculate_average_price' => "Calcular promedio, Precio (Recepción)",
|
||||
'recv_invoice_format' => "Receivings Invoice Format",
|
||||
'register_mode_default' => "Default Register Mode",
|
||||
'report_an_issue' => "Reportar un problema",
|
||||
'return_policy_required' => "Return policy is a required field.",
|
||||
'reward' => "Reward",
|
||||
'reward_configuration' => "Reward Configuration",
|
||||
'right' => "Right",
|
||||
'sales_invoice_format' => "Sales Invoice Format",
|
||||
'sales_quote_format' => "Sales Quote Format",
|
||||
'saved_successfully' => "Configuration save successful.",
|
||||
'saved_unsuccessfully' => "Configuration save failed.",
|
||||
'security_issue' => "Security Vulnerability Warning",
|
||||
'server_notice' => "Please use the below info for issue reporting.",
|
||||
'service_charge' => "",
|
||||
'show_due_enable' => "",
|
||||
'show_office_group' => "Show office icon",
|
||||
'statistics' => "Send Statistics",
|
||||
'statistics_tooltip' => "Send statistics for development and feature improvement purposes.",
|
||||
'stock_location' => "Ubicación del inventario",
|
||||
'stock_location_duplicate' => "Stock Location must be unique.",
|
||||
'stock_location_invalid_chars' => "Stock Location can not contain '_'.",
|
||||
'stock_location_required' => "Stock location is a required field.",
|
||||
'suggestions_fifth_column' => "",
|
||||
'suggestions_first_column' => "Column 1",
|
||||
'suggestions_fourth_column' => "",
|
||||
'suggestions_layout' => "Search Suggestions Layout",
|
||||
'suggestions_second_column' => "Column 2",
|
||||
'suggestions_third_column' => "Column 3",
|
||||
'system_conf' => "Setup & Conf",
|
||||
'system_info' => "System Info",
|
||||
'table' => "Table",
|
||||
'table_configuration' => "Table Configuration",
|
||||
'takings_printer' => "Receipt Printer",
|
||||
'tax' => "Tax",
|
||||
'tax_category' => "Tax Category",
|
||||
'tax_category_duplicate' => "The entered tax category already exists.",
|
||||
'tax_category_invalid_chars' => "The entered tax category is invalid.",
|
||||
'tax_category_required' => "The tax category is required.",
|
||||
'tax_category_used' => "Tax category cannot be deleted because it is being used.",
|
||||
'tax_configuration' => "Tax Configuration",
|
||||
'tax_decimals' => "Tax Decimals",
|
||||
'tax_id' => "Tax Id",
|
||||
'tax_included' => "Tax Included",
|
||||
'theme' => "Theme",
|
||||
'theme_preview' => "Vista Previa del Tema:",
|
||||
'thousands_separator' => "Thousands Separator",
|
||||
'timezone' => "Timezone",
|
||||
'timezone_error' => "La zona horaria de OSPOS es diferente a su zona horaria local.",
|
||||
'top' => "Top",
|
||||
'use_destination_based_tax' => "Use Destination Based Tax",
|
||||
'user_timezone' => "Zona horaria local:",
|
||||
'website' => "Website",
|
||||
'wholesale_markup' => "",
|
||||
'work_order_enable' => "Work Order Support",
|
||||
'work_order_format' => "Work Order Format",
|
||||
];
|
||||
|
||||
@@ -1,56 +1,57 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"account_number" => "Cuenta #",
|
||||
"account_number_duplicate" => "El Número de Cuenta ya se encuentra en la base de datos.",
|
||||
"available_points" => "Puntos Disponibles",
|
||||
"available_points_value" => "",
|
||||
"average" => "Gasto Promedio",
|
||||
"avg_discount" => "Descuento Promedio",
|
||||
"basic_information" => "Información",
|
||||
"cannot_be_deleted" => "No se pueden borrar los Clientes seleccionados, uno o más tienen ventas.",
|
||||
"company_name" => "Compañia",
|
||||
"confirm_delete" => "¿Está seguro que quiere borrar los Clientes seleccionados?",
|
||||
"confirm_restore" => "¿Está seguro que quiere restaurar los clientes seleccionados?",
|
||||
"consent" => "Consentimiento de registro",
|
||||
"consent_required" => "Consentimiento de registro es un campo requerido.",
|
||||
"csv_import_failed" => "Fallo al importar a CSV",
|
||||
"csv_import_nodata_wrongformat" => "El archivo subido no contiene datos o no está formado correctamente.",
|
||||
"csv_import_partially_failed" => "La importación del Cliente fue exitosa pero con algunos errores:",
|
||||
"csv_import_success" => "Cliente importado exitosamente.",
|
||||
"customer" => "Cliente",
|
||||
"date" => "Fecha",
|
||||
"discount" => "Descuento",
|
||||
"discount_fixed" => "Descuento Fijo",
|
||||
"discount_percent" => "Porcentaje de Descuento",
|
||||
"discount_type" => "Tipo de Descuento",
|
||||
"email_duplicate" => "El correo electrónico ya se encuentra en la base de datos.",
|
||||
"employee" => "Empleado",
|
||||
"error_adding_updating" => "Fallo al agregar o actualizar el Cliente.",
|
||||
"import_items_csv" => "Importar Cliente desde CSV",
|
||||
"mailchimp_activity_click" => "Click Correo Electrónico",
|
||||
"mailchimp_activity_lastopen" => "Último correo electrónico abierto",
|
||||
"mailchimp_activity_open" => "Correo electrónico abierto",
|
||||
"mailchimp_activity_total" => "Correo electrónico enviado",
|
||||
"mailchimp_activity_unopen" => "Correo electrónico sin abrir",
|
||||
"mailchimp_email_client" => "cliente de correo electrónico",
|
||||
"mailchimp_info" => "Mailchimp",
|
||||
"mailchimp_member_rating" => "Puntaje",
|
||||
"mailchimp_status" => "Estado",
|
||||
"mailchimp_vip" => "VIP",
|
||||
"max" => "Gasto Máximo",
|
||||
"min" => "Gasto Mínimo",
|
||||
"new" => "Nuevo Cliente",
|
||||
"none_selected" => "No ha seleccionado un Cliente para borrar.",
|
||||
"one_or_multiple" => "Cliente(s)",
|
||||
"quantity" => "Cantidad",
|
||||
"stats_info" => "Estadísticas",
|
||||
"successful_adding" => "Ha agregado un Cliente con éxito",
|
||||
"successful_deleted" => "Lo ha borrado exitosamente",
|
||||
"successful_updating" => "Ha actualizado un Cliente exitosamente",
|
||||
"tax_code" => "Código de Impuesto",
|
||||
"tax_id" => "Id Impuesto",
|
||||
"taxable" => "Impuestable",
|
||||
"total" => "Gasto total",
|
||||
"update" => "Actualizar Cliente",
|
||||
"rewards_package" => "Paquete de Recompensas",
|
||||
'account_number' => "Cuenta #",
|
||||
'account_number_duplicate' => "El Número de Cuenta ya se encuentra en la base de datos.",
|
||||
'available_points' => "Puntos Disponibles",
|
||||
'available_points_value' => "",
|
||||
'average' => "Gasto Promedio",
|
||||
'avg_discount' => "Descuento Promedio",
|
||||
'basic_information' => "Información",
|
||||
'cannot_be_deleted' => "No se pueden borrar los Clientes seleccionados, uno o más tienen ventas.",
|
||||
'company_name' => "Compañia",
|
||||
'confirm_delete' => "¿Está seguro que quiere borrar los Clientes seleccionados?",
|
||||
'confirm_restore' => "¿Está seguro que quiere restaurar los clientes seleccionados?",
|
||||
'consent' => "Consentimiento de registro",
|
||||
'consent_required' => "Consentimiento de registro es un campo requerido.",
|
||||
'csv_import_failed' => "Fallo al importar a CSV",
|
||||
'csv_import_nodata_wrongformat' => "El archivo subido no contiene datos o no está formado correctamente.",
|
||||
'csv_import_partially_failed' => "La importación del Cliente fue exitosa pero con algunos errores:",
|
||||
'csv_import_success' => "Cliente importado exitosamente.",
|
||||
'customer' => "Cliente",
|
||||
'date' => "Fecha",
|
||||
'discount' => "Descuento",
|
||||
'discount_fixed' => "Descuento Fijo",
|
||||
'discount_percent' => "Porcentaje de Descuento",
|
||||
'discount_type' => "Tipo de Descuento",
|
||||
'email_duplicate' => "El correo electrónico ya se encuentra en la base de datos.",
|
||||
'employee' => "Empleado",
|
||||
'error_adding_updating' => "Fallo al agregar o actualizar el Cliente.",
|
||||
'import_items_csv' => "Importar Cliente desde CSV",
|
||||
'mailchimp_activity_click' => "Click Correo Electrónico",
|
||||
'mailchimp_activity_lastopen' => "Último correo electrónico abierto",
|
||||
'mailchimp_activity_open' => "Correo electrónico abierto",
|
||||
'mailchimp_activity_total' => "Correo electrónico enviado",
|
||||
'mailchimp_activity_unopen' => "Correo electrónico sin abrir",
|
||||
'mailchimp_email_client' => "cliente de correo electrónico",
|
||||
'mailchimp_info' => "Mailchimp",
|
||||
'mailchimp_member_rating' => "Puntaje",
|
||||
'mailchimp_status' => "Estado",
|
||||
'mailchimp_vip' => "VIP",
|
||||
'max' => "Gasto Máximo",
|
||||
'min' => "Gasto Mínimo",
|
||||
'new' => "Nuevo Cliente",
|
||||
'none_selected' => "No ha seleccionado un Cliente para borrar.",
|
||||
'one_or_multiple' => "Cliente(s)",
|
||||
'quantity' => "Cantidad",
|
||||
'stats_info' => "Estadísticas",
|
||||
'successful_adding' => "Ha agregado un Cliente con éxito",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'successful_updating' => "Ha actualizado un Cliente exitosamente",
|
||||
'tax_code' => "Código de Impuesto",
|
||||
'tax_id' => "Id Impuesto",
|
||||
'taxable' => "Impuestable",
|
||||
'total' => "Gasto total",
|
||||
'update' => "Actualizar Cliente",
|
||||
'rewards_package' => "Paquete de Recompensas",
|
||||
];
|
||||
|
||||
@@ -1,44 +1,45 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"administrator" => "",
|
||||
"basic_information" => "Información",
|
||||
"cannot_be_deleted" => "No se puede borrar los empleados seleccionados, uno o más de ellos tienen ventas registradas ó intentas borrar tu propia cuenta.",
|
||||
"change_employee" => "",
|
||||
"change_password" => "Cambiar contraseña",
|
||||
"clerk" => "",
|
||||
"commission" => "",
|
||||
"confirm_delete" => "¿Estás seguro que deseas borrar los empleados seleccionados?",
|
||||
"confirm_restore" => "¿Estás seguro que deseas restaurar los empleados seleccionados?",
|
||||
"current_password" => "Contraseña Actual",
|
||||
"current_password_invalid" => "La contraseña actual es inválida.",
|
||||
"employee" => "Empleado",
|
||||
"error_adding_updating" => "Agregar ó Actualizar empleado ha fallado.",
|
||||
"error_deleting_demo_admin" => "No puede borrar el usuario demo de administrador.",
|
||||
"error_updating_demo_admin" => "No puede cambiar el usuario demo de administrador.",
|
||||
"language" => "Idioma",
|
||||
"login_info" => "Iniciar sesión",
|
||||
"manager" => "",
|
||||
"new" => "Nuevo Empleado",
|
||||
"none_selected" => "No ha seleccionado empleados a borrar.",
|
||||
"one_or_multiple" => "Empleado(s)",
|
||||
"password" => "Contraseña",
|
||||
"password_minlength" => "La contraseña debe tener por lo menos 8 letras.",
|
||||
"password_must_match" => "Las contraseñas no coinciden.",
|
||||
"password_not_must_match" => "La contraseña actual y nueva contraseña deben ser distintas.",
|
||||
"password_required" => "Se requiere contraseña.",
|
||||
"permission_desc" => "Selecciona las casillas para otorgar acceso a los módulos.",
|
||||
"permission_info" => "Permisos",
|
||||
"repeat_password" => "Contraseña otra vez",
|
||||
"subpermission_required" => "Concede por lo menos un permiso para cada módulo.",
|
||||
"successful_adding" => "Empleado agregado exitosamente.",
|
||||
"successful_change_password" => "Cambio de contraseña exitoso.",
|
||||
"successful_deleted" => "Eliminado Satisfactoriamente",
|
||||
"successful_updating" => "Empleado actualizado exitosamente",
|
||||
"system_language" => "Idioma del sistema",
|
||||
"unsuccessful_change_password" => "El cambio de contraseña ha fallado.",
|
||||
"update" => "Actualizar Empleado",
|
||||
"username" => "Nombre de Usuario",
|
||||
"username_duplicate" => "El usuario del empleado ya esta en uso. Favor de escoger otro.",
|
||||
"username_minlength" => "Nombre de usuario debe tener por lo menos 5 letras.",
|
||||
"username_required" => "Es necesario el nombre de usuario.",
|
||||
'administrator' => "",
|
||||
'basic_information' => "Información",
|
||||
'cannot_be_deleted' => "No se puede borrar los empleados seleccionados, uno o más de ellos tienen ventas registradas ó intentas borrar tu propia cuenta.",
|
||||
'change_employee' => "",
|
||||
'change_password' => "Cambiar contraseña",
|
||||
'clerk' => "",
|
||||
'commission' => "",
|
||||
'confirm_delete' => "¿Estás seguro que deseas borrar los empleados seleccionados?",
|
||||
'confirm_restore' => "¿Estás seguro que deseas restaurar los empleados seleccionados?",
|
||||
'current_password' => "Contraseña Actual",
|
||||
'current_password_invalid' => "La contraseña actual es inválida.",
|
||||
'employee' => "Empleado",
|
||||
'error_adding_updating' => "Agregar ó Actualizar empleado ha fallado.",
|
||||
'error_deleting_demo_admin' => "No puede borrar el usuario demo de administrador.",
|
||||
'error_updating_demo_admin' => "No puede cambiar el usuario demo de administrador.",
|
||||
'language' => "Idioma",
|
||||
'login_info' => "Iniciar sesión",
|
||||
'manager' => "",
|
||||
'new' => "Nuevo Empleado",
|
||||
'none_selected' => "No ha seleccionado empleados a borrar.",
|
||||
'one_or_multiple' => "Empleado(s)",
|
||||
'password' => "Contraseña",
|
||||
'password_minlength' => "La contraseña debe tener por lo menos 8 letras.",
|
||||
'password_must_match' => "Las contraseñas no coinciden.",
|
||||
'password_not_must_match' => "La contraseña actual y nueva contraseña deben ser distintas.",
|
||||
'password_required' => "Se requiere contraseña.",
|
||||
'permission_desc' => "Selecciona las casillas para otorgar acceso a los módulos.",
|
||||
'permission_info' => "Permisos",
|
||||
'repeat_password' => "Contraseña otra vez",
|
||||
'subpermission_required' => "Concede por lo menos un permiso para cada módulo.",
|
||||
'successful_adding' => "Empleado agregado exitosamente.",
|
||||
'successful_change_password' => "Cambio de contraseña exitoso.",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'successful_updating' => "Empleado actualizado exitosamente",
|
||||
'system_language' => "Idioma del sistema",
|
||||
'unsuccessful_change_password' => "El cambio de contraseña ha fallado.",
|
||||
'update' => "Actualizar Empleado",
|
||||
'username' => "Nombre de Usuario",
|
||||
'username_duplicate' => "El usuario del empleado ya esta en uso. Favor de escoger otro.",
|
||||
'username_minlength' => "Nombre de usuario debe tener por lo menos 5 letras.",
|
||||
'username_required' => "Es necesario el nombre de usuario.",
|
||||
];
|
||||
|
||||
@@ -1,71 +1,72 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_minus" => "Inventario para agregar o restar.",
|
||||
"allow_alt_description" => "Permitir Descripción Alterna",
|
||||
"bulk_edit" => "Editor Masivo",
|
||||
"cannot_be_deleted" => "No se puede borrar la tarjeta (s) de regalo seleccionada(s), una o mas de las Tarjetas de Regalo ya tuvo ventas.",
|
||||
"cannot_find_giftcard" => "Tarjeta de Regalo no encontrada.",
|
||||
"cannot_use" => "Tarjeta de Regalo {0} no puede ser usada para esta venta: Cliente incorrecto.",
|
||||
"card_value" => "Valor",
|
||||
"category" => "Categoría",
|
||||
"change_all_to_allow_alt_desc" => "Permitir descripción alternativa para todos.",
|
||||
"change_all_to_not_allow_allow_desc" => "No permitir descripción alternativa para todos.",
|
||||
"change_all_to_serialized" => "Cambiar Todos a Serializados",
|
||||
"change_all_to_unserialized" => "Cambiar Todos a Sin Serializar",
|
||||
"confirm_bulk_edit" => "¿Estas seguro que deseas editar las Tarjeta(s) de regalo seleccionadas?",
|
||||
"confirm_delete" => "¿Estas seguro que deseas borrar las Tarjetas(s) de regalo seleccionadas?",
|
||||
"confirm_restore" => "¿Estas seguro que deseas restaurar las Tarjeta(s) de regalo seleccionadas?",
|
||||
"cost_price" => "Precio de Mayoreo",
|
||||
"count" => "Actualizar Inventario",
|
||||
"csv_import_failed" => "Fallo en la importación de CSV.",
|
||||
"current_quantity" => "Cantidad Actual",
|
||||
"description" => "Descripción",
|
||||
"details_count" => "Detalles del Inventario",
|
||||
"do_nothing" => "No hacer Nada",
|
||||
"edit_fields_you_want_to_update" => "Editar campos para las Tarjeta(s) de regalo seleccionadas.",
|
||||
"edit_multiple_giftcards" => "Editar Multiples Tarjetas de regalo.",
|
||||
"error_adding_updating" => "Error al agregar o actualizar la Tarjeta de Regalo.",
|
||||
"error_updating_multiple" => "Fallo en la actualización de la(s) Tarjeta(s) de regalo.",
|
||||
"generate_barcodes" => "Generar Códigos de Barra",
|
||||
"giftcard" => "Tarjeta de Regalo",
|
||||
"giftcard_number" => "Numero de la Tarjeta de Regalo",
|
||||
"info_provided_by" => "Información provista por",
|
||||
"inventory_comments" => "Comentarios",
|
||||
"is_serialized" => "La Tarjeta de Regalo tiene Numero de Serie",
|
||||
"low_inventory_giftcards" => "Tarjetas de Regalo con Inventario Bajo",
|
||||
"manually_editing_of_quantity" => "Editor Manual de Cantidad",
|
||||
"must_select_giftcard_for_barcode" => "Debes seleccionar al menos (1) Tarjeta de Regalo para generar Códigos de Barra.",
|
||||
"new" => "Nueva Tarjeta de Regalo",
|
||||
"no_description_giftcards" => "Gif Cards sin Descripción",
|
||||
"no_giftcards_to_display" => "No hay Gift Cards para mostrar.",
|
||||
"none" => "Ninguno",
|
||||
"none_selected" => "",
|
||||
"number" => "",
|
||||
"number_information" => "",
|
||||
"number_required" => "",
|
||||
"one_or_multiple" => "",
|
||||
"person_id" => "",
|
||||
"quantity" => "",
|
||||
"quantity_required" => "",
|
||||
"remaining_balance" => "",
|
||||
"reorder_level" => "",
|
||||
"retrive_giftcard_info" => "",
|
||||
"sales_tax_1" => "",
|
||||
"sales_tax_2" => "",
|
||||
"serialized_giftcards" => "",
|
||||
"successful_adding" => "",
|
||||
"successful_bulk_edit" => "",
|
||||
"successful_deleted" => "",
|
||||
"successful_updating" => "",
|
||||
"supplier" => "",
|
||||
"tax_1" => "",
|
||||
"tax_2" => "",
|
||||
"tax_percent" => "",
|
||||
"tax_percents" => "",
|
||||
"unit_price" => "",
|
||||
"upc_database" => "",
|
||||
"update" => "",
|
||||
"use_inventory_menu" => "",
|
||||
"value" => "",
|
||||
"value_required" => "",
|
||||
'add_minus' => "Inventario para agregar o restar.",
|
||||
'allow_alt_description' => "Permitir Descripción Alterna",
|
||||
'bulk_edit' => "Editor Masivo",
|
||||
'cannot_be_deleted' => "No se puede borrar la tarjeta (s) de regalo seleccionada(s), una o mas de las Tarjetas de Regalo ya tuvo ventas.",
|
||||
'cannot_find_giftcard' => "Tarjeta de Regalo no encontrada.",
|
||||
'cannot_use' => "Tarjeta de Regalo {0} no puede ser usada para esta venta: Cliente incorrecto.",
|
||||
'card_value' => "Valor",
|
||||
'category' => "Categoría",
|
||||
'change_all_to_allow_alt_desc' => "Permitir descripción alternativa para todos.",
|
||||
'change_all_to_not_allow_allow_desc' => "No permitir descripción alternativa para todos.",
|
||||
'change_all_to_serialized' => "Cambiar Todos a Serializados",
|
||||
'change_all_to_unserialized' => "Cambiar Todos a Sin Serializar",
|
||||
'confirm_bulk_edit' => "¿Estas seguro que deseas editar las Tarjeta(s) de regalo seleccionadas?",
|
||||
'confirm_delete' => "¿Estas seguro que deseas borrar las Tarjetas(s) de regalo seleccionadas?",
|
||||
'confirm_restore' => "¿Estas seguro que deseas restaurar las Tarjeta(s) de regalo seleccionadas?",
|
||||
'cost_price' => "Precio mayoreo.",
|
||||
'count' => "Actualizar inventario",
|
||||
'csv_import_failed' => "Fallo en la importación de CSV.",
|
||||
'current_quantity' => "Cantidad actual",
|
||||
'description' => "Descripción",
|
||||
'details_count' => "Detalles del Inventario",
|
||||
'do_nothing' => "No hacer Nada",
|
||||
'edit_fields_you_want_to_update' => "Editar campos para las Tarjeta(s) de regalo seleccionadas.",
|
||||
'edit_multiple_giftcards' => "Editar Multiples Tarjetas de regalo.",
|
||||
'error_adding_updating' => "Error al agregar o actualizar la Tarjeta de Regalo.",
|
||||
'error_updating_multiple' => "Fallo en la actualización de la(s) Tarjeta(s) de regalo.",
|
||||
'generate_barcodes' => "Generar Códigos de Barra",
|
||||
'giftcard' => "Tarjeta de Regalo",
|
||||
'giftcard_number' => "Numero de la Tarjeta de Regalo",
|
||||
'info_provided_by' => "Información provista por",
|
||||
'inventory_comments' => "Comentarios",
|
||||
'is_serialized' => "La Tarjeta de Regalo tiene Numero de Serie",
|
||||
'low_inventory_giftcards' => "Tarjetas de Regalo con Inventario Bajo",
|
||||
'manually_editing_of_quantity' => "Editor Manual de Cantidad",
|
||||
'must_select_giftcard_for_barcode' => "Debes seleccionar al menos (1) Tarjeta de Regalo para generar Códigos de Barra.",
|
||||
'new' => "Nueva Tarjeta de Regalo",
|
||||
'no_description_giftcards' => "Gif Cards sin Descripción",
|
||||
'no_giftcards_to_display' => "No hay Gift Cards para mostrar.",
|
||||
'none' => "Ninguno",
|
||||
'none_selected' => "",
|
||||
'number' => "",
|
||||
'number_information' => "Numero de tarjeta de regalo",
|
||||
'number_required' => "",
|
||||
'one_or_multiple' => "Tarjeta de regalo",
|
||||
'person_id' => "",
|
||||
'quantity' => "Cantidad",
|
||||
'quantity_required' => "",
|
||||
'remaining_balance' => "",
|
||||
'reorder_level' => "Cantidad minima",
|
||||
'retrive_giftcard_info' => "",
|
||||
'sales_tax_1' => "Impuesto de Ventas 1",
|
||||
'sales_tax_2' => "Impuesto de Ventas 2",
|
||||
'serialized_giftcards' => "",
|
||||
'successful_adding' => "",
|
||||
'successful_bulk_edit' => "La tarjeta de regalo seleccionada ha sido actualizada",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'successful_updating' => "",
|
||||
'supplier' => "",
|
||||
'tax_1' => "",
|
||||
'tax_2' => "",
|
||||
'tax_percent' => "",
|
||||
'tax_percents' => "",
|
||||
'unit_price' => "",
|
||||
'upc_database' => "",
|
||||
'update' => "",
|
||||
'use_inventory_menu' => "",
|
||||
'value' => "",
|
||||
'value_required' => "",
|
||||
];
|
||||
|
||||
@@ -1,41 +1,42 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_item" => "Agregar Artículo",
|
||||
"all" => "Todo",
|
||||
"cannot_be_deleted" => "Borrado de Kit(s) de Artículos fallido.",
|
||||
"confirm_delete" => "¿Estás seguro(a) de querer borrar los kits seleccionados?",
|
||||
"confirm_restore" => "¿Está seguro de querer restaurar lo(s) kit(s) seleccionado(s)?",
|
||||
"description" => "Descripción del Kit de Artículos",
|
||||
"discount" => "Descuento",
|
||||
"discount_fixed" => "Descuento Fijo",
|
||||
"discount_percent" => "Porcentaje de descuento",
|
||||
"discount_type" => "Tipo de Descuento",
|
||||
"error_adding_updating" => "Error agregando/actualizando Kit de Artículos.",
|
||||
"find_kit_item" => "Kit de Artículos",
|
||||
"info" => "Información del kit de artículos",
|
||||
"item" => "Artículo",
|
||||
"item_kit_number" => "Código de barras",
|
||||
"item_kit_number_duplicate" => "El Número del Kit de Artículo ya está presente en la base de datos.",
|
||||
"item_number" => "",
|
||||
"item_number_duplicate" => "",
|
||||
"items" => "Artículos",
|
||||
"kit" => "ID del Kit",
|
||||
"kit_and_components" => "Kits y Componentes",
|
||||
"kit_and_stock" => "Kit y Stock",
|
||||
"kit_only" => "Sólo kit",
|
||||
"name" => "Nombre del Kit de Artículos",
|
||||
"new" => "Nuevo Kit de Artículos",
|
||||
"no_item_kits_to_display" => "Sin kit de artículos para mostrar.",
|
||||
"none_selected" => "No ha seleccionado ningún kit de artículos.",
|
||||
"one_or_multiple" => "Kit(s) de Artículos",
|
||||
"price_option" => "Opciones de precio",
|
||||
"priced_only" => "Sólo precio",
|
||||
"print_option" => "Opciones de impresión",
|
||||
"quantity" => "Cantidad",
|
||||
"sequence" => "Secuencia",
|
||||
"successful_adding" => "Has agregado un kit de artículos",
|
||||
"successful_deleted" => "Borrado completo",
|
||||
"successful_updating" => "Kit de Artículos actualizado",
|
||||
"unit_price" => "",
|
||||
"update" => "Actualizar Kit de Artículos",
|
||||
'add_item' => "Agregar Artículo",
|
||||
'all' => "Todo",
|
||||
'cannot_be_deleted' => "Borrado de Kit(s) de Artículos fallido.",
|
||||
'confirm_delete' => "¿Estás seguro(a) de querer borrar los kits seleccionados?",
|
||||
'confirm_restore' => "¿Está seguro de querer restaurar lo(s) kit(s) seleccionado(s)?",
|
||||
'description' => "Descripción del Kit de Artículos",
|
||||
'discount' => "Descuento",
|
||||
'discount_fixed' => "Descuento Fijo",
|
||||
'discount_percent' => "Porcentaje de descuento",
|
||||
'discount_type' => "Tipo de Descuento",
|
||||
'error_adding_updating' => "Error agregando/actualizando Kit de Artículos.",
|
||||
'find_kit_item' => "Kit de Artículos",
|
||||
'info' => "Información del kit de artículos",
|
||||
'item' => "Articulo",
|
||||
'item_kit_number' => "Código de barras",
|
||||
'item_kit_number_duplicate' => "El Número del Kit de Artículo ya está presente en la base de datos.",
|
||||
'item_number' => "",
|
||||
'item_number_duplicate' => "",
|
||||
'items' => "Artículos",
|
||||
'kit' => "ID del Kit",
|
||||
'kit_and_components' => "Kits y Componentes",
|
||||
'kit_and_stock' => "Kit y Stock",
|
||||
'kit_only' => "Sólo kit",
|
||||
'name' => "Nombre del Kit de Artículos",
|
||||
'new' => "Nuevo Kit de Artículos",
|
||||
'no_item_kits_to_display' => "Sin kit de artículos para mostrar.",
|
||||
'none_selected' => "No ha seleccionado ningún kit de artículos.",
|
||||
'one_or_multiple' => "Kit(s) de Artículos",
|
||||
'price_option' => "Opciones de precio",
|
||||
'priced_only' => "Sólo precio",
|
||||
'print_option' => "Opciones de impresión",
|
||||
'quantity' => "Cantidad",
|
||||
'sequence' => "Secuencia",
|
||||
'successful_adding' => "Has agregado un kit de artículos",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'successful_updating' => "Kit de Artículos actualizado",
|
||||
'unit_price' => "",
|
||||
'update' => "Actualizar Kit de Artículos",
|
||||
];
|
||||
|
||||
@@ -1,120 +1,121 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_minus" => "Inventario a agregar o disminuir.",
|
||||
"allow_alt_description" => "Permitir Descripción Alternativa",
|
||||
"amount_entry" => "Ingrese Cantidad",
|
||||
"bulk_edit" => "Edición Masiva",
|
||||
"buy_price_required" => "Precio de Compra es un campo requerido.",
|
||||
"cannot_be_deleted" => "No se puede borrar el item(s) seleccionado, uno a mas de los items seleccionados tienen ventas.",
|
||||
"cannot_find_item" => "Articulo no encontrado.",
|
||||
"categories" => "",
|
||||
"category" => "Categoría",
|
||||
"category_new" => "",
|
||||
"category_required" => "Categoría es un campo requerido.",
|
||||
"change_all_to_allow_alt_desc" => "Permitir Descripción Alternativa para todo.",
|
||||
"change_all_to_not_allow_allow_desc" => "No permitir Descripción Alternativa para todo.",
|
||||
"change_all_to_serialized" => "Cambiar todo a Serializado",
|
||||
"change_all_to_unserialized" => "Cambiar todo a No-Serializado",
|
||||
"change_image" => "Cambiar Imagen",
|
||||
"confirm_bulk_edit" => "¿Esta seguro que quiere editar los artículos seleccionados?",
|
||||
"confirm_bulk_edit_wipe_taxes" => "Toda la información de Impuestos de los Artículos será reemplazada.",
|
||||
"confirm_delete" => "¿Esta seguro que quiere eliminar los artículos seleccionados?",
|
||||
"confirm_restore" => "¿Esta seguro de restaurar los articulos seleccionado?",
|
||||
"cost_price" => "",
|
||||
"cost_price_number" => "",
|
||||
"cost_price_required" => "",
|
||||
"count" => "",
|
||||
"csv_import_failed" => "",
|
||||
"csv_import_nodata_wrongformat" => "",
|
||||
"csv_import_partially_failed" => "",
|
||||
"csv_import_success" => "",
|
||||
"current_quantity" => "",
|
||||
"default_pack_name" => "",
|
||||
"description" => "",
|
||||
"details_count" => "",
|
||||
"do_nothing" => "",
|
||||
"edit" => "",
|
||||
"edit_fields_you_want_to_update" => "",
|
||||
"edit_multiple_items" => "",
|
||||
"empty_upc_items" => "",
|
||||
"error_adding_updating" => "",
|
||||
"error_updating_multiple" => "",
|
||||
"generate_barcodes" => "",
|
||||
"hsn_code" => "",
|
||||
"image" => "",
|
||||
"import_items_csv" => "",
|
||||
"info_provided_by" => "",
|
||||
"inventory" => "",
|
||||
"inventory_CSV_import_quantity" => "",
|
||||
"inventory_comments" => "",
|
||||
"inventory_data_tracking" => "",
|
||||
"inventory_date" => "",
|
||||
"inventory_employee" => "",
|
||||
"inventory_in_out_quantity" => "",
|
||||
"inventory_remarks" => "",
|
||||
"is_deleted" => "",
|
||||
"is_printed" => "",
|
||||
"is_serialized" => "",
|
||||
"item" => "",
|
||||
"item_id" => "",
|
||||
"item_number" => "",
|
||||
"item_number_duplicate" => "",
|
||||
"kit" => "",
|
||||
"location" => "",
|
||||
"low_inventory_items" => "",
|
||||
"low_sell_item" => "",
|
||||
"manually_editing_of_quantity" => "",
|
||||
"markup" => "",
|
||||
"name" => "",
|
||||
"name_required" => "",
|
||||
"new" => "",
|
||||
"no_description_items" => "",
|
||||
"no_items_to_display" => "",
|
||||
"none" => "",
|
||||
"none_selected" => "",
|
||||
"nonstock" => "",
|
||||
"number_information" => "",
|
||||
"number_required" => "",
|
||||
"one_or_multiple" => "",
|
||||
"pack_name" => "",
|
||||
"qty_per_pack" => "",
|
||||
"quantity" => "",
|
||||
"quantity_number" => "",
|
||||
"quantity_required" => "",
|
||||
"receiving_quantity" => "",
|
||||
"remove_image" => "",
|
||||
"reorder_level" => "",
|
||||
"reorder_level_number" => "",
|
||||
"reorder_level_required" => "",
|
||||
"retrive_item_info" => "",
|
||||
"sales_tax_1" => "",
|
||||
"sales_tax_2" => "",
|
||||
"search_attributes" => "",
|
||||
"select_image" => "",
|
||||
"serialized_items" => "",
|
||||
"standard" => "",
|
||||
"stock" => "",
|
||||
"stock_location" => "",
|
||||
"stock_type" => "",
|
||||
"successful_adding" => "",
|
||||
"successful_bulk_edit" => "",
|
||||
"successful_deleted" => "",
|
||||
"successful_updating" => "",
|
||||
"supplier" => "",
|
||||
"tax_1" => "",
|
||||
"tax_2" => "",
|
||||
"tax_3" => "",
|
||||
"tax_category" => "",
|
||||
"tax_percent" => "",
|
||||
"tax_percent_number" => "",
|
||||
"tax_percent_required" => "",
|
||||
"tax_percents" => "",
|
||||
"temp" => "",
|
||||
"type" => "",
|
||||
"unit_price" => "",
|
||||
"unit_price_number" => "",
|
||||
"unit_price_required" => "",
|
||||
"upc_database" => "",
|
||||
"update" => "",
|
||||
"use_inventory_menu" => "",
|
||||
'add_minus' => "Inventario a agregar o disminuir.",
|
||||
'allow_alt_description' => "Permitir Descripción Alternativa",
|
||||
'amount_entry' => "Ingrese Cantidad",
|
||||
'bulk_edit' => "Edición Masiva",
|
||||
'buy_price_required' => "Precio de Compra es un campo requerido.",
|
||||
'cannot_be_deleted' => "No se puede borrar el item(s) seleccionado, uno a mas de los items seleccionados tienen ventas.",
|
||||
'cannot_find_item' => "Articulo no encontrado.",
|
||||
'categories' => "",
|
||||
'category' => "Categoría",
|
||||
'category_new' => "",
|
||||
'category_required' => "Categoría es un campo requerido.",
|
||||
'change_all_to_allow_alt_desc' => "Permitir Descripción Alternativa para todo.",
|
||||
'change_all_to_not_allow_allow_desc' => "No permitir Descripción Alternativa para todo.",
|
||||
'change_all_to_serialized' => "Cambiar todo a Serializado",
|
||||
'change_all_to_unserialized' => "Cambiar todo a No-Serializado",
|
||||
'change_image' => "Cambiar Imagen",
|
||||
'confirm_bulk_edit' => "¿Esta seguro que quiere editar los artículos seleccionados?",
|
||||
'confirm_bulk_edit_wipe_taxes' => "Toda la información de Impuestos de los Artículos será reemplazada.",
|
||||
'confirm_delete' => "¿Esta seguro que quiere eliminar los artículos seleccionados?",
|
||||
'confirm_restore' => "¿Esta seguro de restaurar los articulos seleccionado?",
|
||||
'cost_price' => "Precio mayoreo.",
|
||||
'cost_price_number' => "El precio de mayoreo debe ser números.",
|
||||
'cost_price_required' => "El precio de mayoreo es requerido.",
|
||||
'count' => "Actualizar inventario",
|
||||
'csv_import_failed' => "",
|
||||
'csv_import_nodata_wrongformat' => "",
|
||||
'csv_import_partially_failed' => "",
|
||||
'csv_import_success' => "",
|
||||
'current_quantity' => "Cantidad actual",
|
||||
'default_pack_name' => "",
|
||||
'description' => "Descripción",
|
||||
'details_count' => "",
|
||||
'do_nothing' => "",
|
||||
'edit' => "",
|
||||
'edit_fields_you_want_to_update' => "",
|
||||
'edit_multiple_items' => "Edición de varios elementos",
|
||||
'empty_upc_items' => "",
|
||||
'error_adding_updating' => "",
|
||||
'error_updating_multiple' => "",
|
||||
'generate_barcodes' => "",
|
||||
'hsn_code' => "",
|
||||
'image' => "",
|
||||
'import_items_csv' => "",
|
||||
'info_provided_by' => "",
|
||||
'inventory' => "Inventario",
|
||||
'inventory_CSV_import_quantity' => "",
|
||||
'inventory_comments' => "Comentarios",
|
||||
'inventory_data_tracking' => "",
|
||||
'inventory_date' => "Fecha",
|
||||
'inventory_employee' => "Empleado",
|
||||
'inventory_in_out_quantity' => "",
|
||||
'inventory_remarks' => "",
|
||||
'is_deleted' => "",
|
||||
'is_printed' => "",
|
||||
'is_serialized' => "el articulo tiene número de serie",
|
||||
'item' => "Articulo",
|
||||
'item_id' => "",
|
||||
'item_number' => "Código de barras",
|
||||
'item_number_duplicate' => "El código del artículo ya está presente en la base de datos.",
|
||||
'kit' => "Kit",
|
||||
'location' => "Ubicación",
|
||||
'low_inventory_items' => "",
|
||||
'low_sell_item' => "",
|
||||
'manually_editing_of_quantity' => "",
|
||||
'markup' => "",
|
||||
'name' => "",
|
||||
'name_required' => "",
|
||||
'new' => "Nuevo articulo",
|
||||
'no_description_items' => "",
|
||||
'no_items_to_display' => "Sin artículos.",
|
||||
'none' => "",
|
||||
'none_selected' => "Debe elegir algún articulo para poder modificarlo",
|
||||
'nonstock' => "",
|
||||
'number_information' => "",
|
||||
'number_required' => "",
|
||||
'one_or_multiple' => "Articulos",
|
||||
'pack_name' => "",
|
||||
'qty_per_pack' => "Cantidad por paquete",
|
||||
'quantity' => "Cantidad",
|
||||
'quantity_number' => "Cantidad debe ser número.",
|
||||
'quantity_required' => "Especifique la cantidad.",
|
||||
'receiving_quantity' => "Cantidad recibida",
|
||||
'remove_image' => "Quitar imagen",
|
||||
'reorder_level' => "Cantidad minima",
|
||||
'reorder_level_number' => "Cantidad minima deber ser numero.",
|
||||
'reorder_level_required' => "Cantidad minima no puede estar vacío.",
|
||||
'retrive_item_info' => "Obtener información del articulo",
|
||||
'sales_tax_1' => "Impuesto de Ventas 1",
|
||||
'sales_tax_2' => "Impuesto de Ventas 2",
|
||||
'search_attributes' => "Atributos de Búsqueda",
|
||||
'select_image' => "Seleccionar imagen",
|
||||
'serialized_items' => "Artículos con número de serie",
|
||||
'standard' => "Estándar",
|
||||
'stock' => "Existencia",
|
||||
'stock_location' => "Ubicación del inventario",
|
||||
'stock_type' => "",
|
||||
'successful_adding' => "",
|
||||
'successful_bulk_edit' => "",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'successful_updating' => "",
|
||||
'supplier' => "",
|
||||
'tax_1' => "",
|
||||
'tax_2' => "",
|
||||
'tax_3' => "",
|
||||
'tax_category' => "",
|
||||
'tax_percent' => "",
|
||||
'tax_percent_number' => "",
|
||||
'tax_percent_required' => "",
|
||||
'tax_percents' => "",
|
||||
'temp' => "",
|
||||
'type' => "",
|
||||
'unit_price' => "",
|
||||
'unit_price_number' => "",
|
||||
'unit_price_required' => "",
|
||||
'upc_database' => "",
|
||||
'update' => "",
|
||||
'use_inventory_menu' => "",
|
||||
];
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"gcaptcha" => "No soy un robot.",
|
||||
"go" => "Entrar",
|
||||
"invalid_gcaptcha" => "Por favor compruebe que usted no es un robot.",
|
||||
"invalid_installation" => "La instalacion no es correcta, revise el archivo php.ini.",
|
||||
"invalid_username_and_password" => "Usuario y/o Password Invalido.",
|
||||
"login" => "Login",
|
||||
"logout" => "Salir",
|
||||
"migration_needed" => "Una migración de base de datos a {0} empezara después de entrar.",
|
||||
"password" => "Contraseña",
|
||||
"required_username" => "",
|
||||
"username" => "Usuario",
|
||||
"welcome" => "Bienvenido a {0}!",
|
||||
'gcaptcha' => "No soy un robot.",
|
||||
'go' => "Entrar",
|
||||
'invalid_gcaptcha' => "Por favor compruebe que usted no es un robot.",
|
||||
'invalid_installation' => "La instalacion no es correcta, revise el archivo php.ini.",
|
||||
'invalid_username_and_password' => "Usuario y/o Password Invalido.",
|
||||
'login' => "Login",
|
||||
'logout' => "Salir",
|
||||
'migration_needed' => "Una migración de base de datos a {0} empezara después de entrar.",
|
||||
'password' => "Contraseña",
|
||||
'required_username' => "El nombre de usuario es obligatorio.",
|
||||
'username' => "Usuario",
|
||||
'welcome' => "Bienvenido a {0}!",
|
||||
];
|
||||
|
||||
@@ -1,58 +1,59 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"amount_due" => "",
|
||||
"cancel_receiving" => "Cancelar",
|
||||
"cannot_be_deleted" => "Falló al borrar Entrada(s).",
|
||||
"comments" => "Comentarios",
|
||||
"complete_receiving" => "Completado",
|
||||
"confirm_cancel_receiving" => "Esta seguro que quiere eliminar esta recepción? Todos los items se borraran.",
|
||||
"confirm_delete" => "Esta seguro que quiere borrar esta recepción? Esta acción no se puede deshacer.",
|
||||
"confirm_finish_receiving" => "Esta seguro que quiere enviar esta recepción? Esto no se puede deshacer.",
|
||||
"confirm_restore" => "",
|
||||
"cost" => "Costo",
|
||||
"daily" => "",
|
||||
"date" => "Fecha de Recibido",
|
||||
"date_required" => "Se debe de agregar la fecha correcta.",
|
||||
"date_type" => "Fecha es un campo obligatorio.",
|
||||
"delete_entire_sale" => "Borrar Venta Completa",
|
||||
"discount" => "Descuento",
|
||||
"edit" => "Editar",
|
||||
"edit_sale" => "Editar Recepción",
|
||||
"employee" => "Empleado",
|
||||
"error_editing_item" => "Fallo la edición del item.",
|
||||
"error_requisition" => "No se puede mover el inventario desde o hacia la misma Ubicación.",
|
||||
"find_or_scan_item" => "Encontrar o Escanear Articulo",
|
||||
"find_or_scan_item_or_receipt" => "Encontrar o Escanear Articulo o Recibo",
|
||||
"id" => "ID de Recepción",
|
||||
"item_name" => "Nombre del Articulo",
|
||||
"mode" => "Modo de Recepción",
|
||||
"new_supplier" => "Nuevo Proveedor",
|
||||
"one_or_multiple" => "recepción(es)",
|
||||
"print_after_sale" => "Imprimir después de la Venta",
|
||||
"quantity" => "Cant.",
|
||||
"receipt" => "Recibo de Recepcion",
|
||||
"receipt_number" => "Recepción #",
|
||||
"receiving" => "Recibir",
|
||||
"reference" => "Referencia",
|
||||
"register" => "Recepción de Artículos",
|
||||
"requisition" => "Requisición",
|
||||
"return" => "Devolución",
|
||||
"select_supplier" => "Seleccionar Proveedor (Opcional)",
|
||||
"ship_pack" => "Empaque de Envio",
|
||||
"start_typing_supplier_name" => "Empiece a escribir el nombre del Proveedor...",
|
||||
"stock" => "Inventario",
|
||||
"stock_destination" => "Destino del Inventario",
|
||||
"stock_locaiton" => "Ubicación del Inventario",
|
||||
"stock_source" => "Origen del Inventario",
|
||||
"successfully_deleted" => "Se ha borrado exitosamente",
|
||||
"successfully_updated" => "Recepción actualizada exitosamente",
|
||||
"supplier" => "Proveedor",
|
||||
"supplier_address" => "Dirección",
|
||||
"supplier_email" => "Email",
|
||||
"supplier_location" => "Ubicación",
|
||||
"total" => "Total",
|
||||
"transaction_failed" => "Transacción de Recepción falló.",
|
||||
"unable_to_add_item" => "Agregar Articulo a Recepción falló.",
|
||||
"unsuccessfully_updated" => "Actualización de Recepción falló.",
|
||||
"update" => "Actualizar",
|
||||
'amount_due' => "",
|
||||
'cancel_receiving' => "Cancelar",
|
||||
'cannot_be_deleted' => "Falló al borrar Entrada(s).",
|
||||
'comments' => "Comentarios",
|
||||
'complete_receiving' => "Completado",
|
||||
'confirm_cancel_receiving' => "Esta seguro que quiere eliminar esta recepción? Todos los items se borraran.",
|
||||
'confirm_delete' => "Esta seguro que quiere borrar esta recepción? Esta acción no se puede deshacer.",
|
||||
'confirm_finish_receiving' => "Esta seguro que quiere enviar esta recepción? Esto no se puede deshacer.",
|
||||
'confirm_restore' => "",
|
||||
'cost' => "Costo",
|
||||
'daily' => "",
|
||||
'date' => "Fecha de Recibido",
|
||||
'date_required' => "Se debe de agregar la fecha correcta.",
|
||||
'date_type' => "Fecha es un campo obligatorio.",
|
||||
'delete_entire_sale' => "Borrar Venta Completa",
|
||||
'discount' => "Descuento",
|
||||
'edit' => "Editar",
|
||||
'edit_sale' => "Editar Recepción",
|
||||
'employee' => "Empleado",
|
||||
'error_editing_item' => "Fallo la edición del item.",
|
||||
'error_requisition' => "No se puede mover el inventario desde o hacia la misma Ubicación.",
|
||||
'find_or_scan_item' => "Encontrar o Escanear Articulo",
|
||||
'find_or_scan_item_or_receipt' => "Encontrar o Escanear Articulo o Recibo",
|
||||
'id' => "ID de Recepción",
|
||||
'item_name' => "Nombre del Articulo",
|
||||
'mode' => "Modo de Recepción",
|
||||
'new_supplier' => "Nuevo Proveedor",
|
||||
'one_or_multiple' => "recepción(es)",
|
||||
'print_after_sale' => "Imprimir después de la Venta",
|
||||
'quantity' => "Cant.",
|
||||
'receipt' => "Recibo de Recepcion",
|
||||
'receipt_number' => "Recepción #",
|
||||
'receiving' => "Recibir",
|
||||
'reference' => "Referencia",
|
||||
'register' => "Recepción de Artículos",
|
||||
'requisition' => "Requisición",
|
||||
'return' => "Devolución",
|
||||
'select_supplier' => "Seleccionar Proveedor (Opcional)",
|
||||
'ship_pack' => "Empaque de Envio",
|
||||
'start_typing_supplier_name' => "Empiece a escribir el nombre del Proveedor...",
|
||||
'stock' => "Existencia",
|
||||
'stock_destination' => "Destino del Inventario",
|
||||
'stock_locaiton' => "Ubicación del Inventario",
|
||||
'stock_source' => "Origen del Inventario",
|
||||
'successfully_deleted' => "Se ha borrado exitosamente",
|
||||
'successfully_updated' => "Recepción actualizada exitosamente",
|
||||
'supplier' => "Proveedor",
|
||||
'supplier_address' => "Dirección",
|
||||
'supplier_email' => "Email",
|
||||
'supplier_location' => "Ubicación",
|
||||
'total' => "Total",
|
||||
'transaction_failed' => "Transacción de Recepción falló.",
|
||||
'unable_to_add_item' => "Agregar Articulo a Recepción falló.",
|
||||
'unsuccessfully_updated' => "Actualización de Recepción falló.",
|
||||
'update' => "Actualizar",
|
||||
];
|
||||
|
||||
@@ -1,148 +1,149 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"all" => "Todas",
|
||||
"authority" => "Autoridad",
|
||||
"canceled" => "Cancelado",
|
||||
"categories" => "Categorías",
|
||||
"categories_summary_report" => "Informe resumido de categorías",
|
||||
"category" => "Categoría",
|
||||
"code_canceled" => "CNL",
|
||||
"code_invoice" => "INV",
|
||||
"code_pos" => "POS",
|
||||
"code_quote" => "Q",
|
||||
"code_return" => "RET",
|
||||
"code_type" => "Tipo",
|
||||
"code_work_order" => "OT",
|
||||
"comments" => "Comentarios",
|
||||
"commission" => "",
|
||||
"complete" => "Ventas y Devoluciones Completadas",
|
||||
"completed_sales" => "Ventas Completadas",
|
||||
"confirm_delete" => "Está seguro que quiere borrar la(s) entrada(s) seleccionada(s)?",
|
||||
"confirm_restore" => "Está seguro que quiere restaurar la(s) entrada(s) seleccionada(s)?",
|
||||
"cost" => "Al por mayor",
|
||||
"cost_price" => "Precio al por mayor",
|
||||
"count" => "Contar",
|
||||
"customer" => "Cliente",
|
||||
"customers" => "Clientes",
|
||||
"customers_summary_report" => "Reporte Resumido de Clientes",
|
||||
"date" => "Fecha",
|
||||
"date_range" => "Rango de Fecha",
|
||||
"description" => "Descripción",
|
||||
"detailed_receivings_report" => "Reporte Detallado de Recepciones",
|
||||
"detailed_receivings_report_input" => "",
|
||||
"detailed_reports" => "Reportes detallados",
|
||||
"detailed_requisition_report" => "",
|
||||
"detailed_sales_report" => "Reporte Detallado de Transacciones",
|
||||
"discount" => "Descuento",
|
||||
"discount_fixed" => "Descuento Fijo",
|
||||
"discount_percent" => "Porcentaje de Descuento",
|
||||
"discount_type" => "Tipo de Descuento",
|
||||
"discounts" => "Descuentos",
|
||||
"discounts_summary_report" => "Reporte Resumido de Descuentos",
|
||||
"earned" => "Puntos ganados",
|
||||
"employee" => "Empleado",
|
||||
"employees" => "Empleados",
|
||||
"employees_summary_report" => "Reporte Resumido de Empleados",
|
||||
"expenses" => "Gastos",
|
||||
"expenses_amount" => "Cantidad",
|
||||
"expenses_categories" => "Gastos",
|
||||
"expenses_categories_summary_report" => "Reporte Resumido de Gastos por Categoría",
|
||||
"expenses_category" => "Categoría",
|
||||
"expenses_payment_amount" => "",
|
||||
"expenses_tax_amount" => "Impuesto",
|
||||
"expenses_total_amount" => "Monto Total",
|
||||
"expenses_total_tax_amount" => "Impuesto Total",
|
||||
"graphical_reports" => "Reportes Gráficos",
|
||||
"inventory" => "Inventario",
|
||||
"inventory_low" => "Inventario Bajo",
|
||||
"inventory_low_report" => "Reporte de Inventario Bajo",
|
||||
"inventory_reports" => "Reportes de Inventario",
|
||||
"inventory_summary" => "Resumen de Inventario",
|
||||
"inventory_summary_report" => "Reporte Resumido de Inventario",
|
||||
"item" => "Artículo",
|
||||
"item_count" => "Filtrar Recuento de Artículos",
|
||||
"item_name" => "Nombre del Artículo",
|
||||
"item_number" => "Código de barras",
|
||||
"items" => "Artículos",
|
||||
"items_purchased" => "Artículos Comprados",
|
||||
"items_received" => "Artículos Recibidos",
|
||||
"items_summary_report" => "Reporte Resumido de Artículos",
|
||||
"jurisdiction" => "Jurisdicción",
|
||||
"low_inventory" => "",
|
||||
"low_inventory_report" => "",
|
||||
"low_sell_quantity" => "Cantidad Venta Baja",
|
||||
"more_than_zero" => "Más que cero",
|
||||
"name" => "Nombre",
|
||||
"no_reports_to_display" => "No hay Artículos para mostrar.",
|
||||
"payment_type" => "Tipo de Pago",
|
||||
"payments" => "Pagos",
|
||||
"payments_summary_report" => "Reporte Resumido de Pagos",
|
||||
"profit" => "Ganancias",
|
||||
"quantity" => "Cantidad",
|
||||
"quantity_purchased" => "Cantidad Comprada",
|
||||
"quotes" => "Presupuesto",
|
||||
"received_by" => "Recepcionado por",
|
||||
"receiving_id" => "Id de Recepción",
|
||||
"receiving_type" => "Tipo de Recepción",
|
||||
"receivings" => "Recepciones",
|
||||
"reorder_level" => "Cantidad Mínima",
|
||||
"report" => "Reporte",
|
||||
"report_input" => "Entrada de Reporte",
|
||||
"reports" => "Reportes",
|
||||
"requisition" => "",
|
||||
"requisition_by" => "",
|
||||
"requisition_id" => "",
|
||||
"requisition_item" => "",
|
||||
"requisition_item_quantity" => "",
|
||||
"requisition_related_item" => "",
|
||||
"requisition_related_item_total_quantity" => "",
|
||||
"requisition_related_item_unit_quantity" => "",
|
||||
"requisitions" => "Requisiciones",
|
||||
"returns" => "Devoluciones",
|
||||
"revenue" => "Ingresos",
|
||||
"sale_id" => "Id de Transacciones",
|
||||
"sale_type" => "Tipo de Transacción",
|
||||
"sales" => "Transacciones",
|
||||
"sales_amount" => "Monto de Transacciones",
|
||||
"sales_summary_report" => "Reporte Resumido de Transacciones",
|
||||
"sales_taxes" => "Impuesto sobre las Ventas",
|
||||
"sales_taxes_summary_report" => "Reporte Resumido de Impuestos sobre las Ventas",
|
||||
"serial_number" => "Número de Serie",
|
||||
"service_charge" => "",
|
||||
"sold_by" => "Vendido por",
|
||||
"sold_items" => "",
|
||||
"sold_to" => "Vendido a",
|
||||
"stock_location" => "Ubicación de Stock",
|
||||
"sub_total_value" => "el Subtotal",
|
||||
"subtotal" => "el Subtotal",
|
||||
"summary_reports" => "Reportes Resumidos",
|
||||
"supplied_by" => "Suministrado por",
|
||||
"supplier" => "Proveedor",
|
||||
"suppliers" => "Proveedores",
|
||||
"suppliers_summary_report" => "Reporte Resumido de Proveedores",
|
||||
"tax" => "Impuesto",
|
||||
"tax_category" => "Categoría de Impuesto",
|
||||
"tax_name" => "Nombre de Impuesto",
|
||||
"tax_percent" => "Porcentaje de Impuesto",
|
||||
"tax_rate" => "Tarifa de Impuesto",
|
||||
"taxes" => "Impuestos",
|
||||
"taxes_summary_report" => "Reporte Resumido de Impuestos",
|
||||
"total" => "Total",
|
||||
"total_inventory_value" => "Valor Total del Inventario",
|
||||
"total_low_sell_quantity" => "Cantidad Total de Venta Baja",
|
||||
"total_quantity" => "Cantidad Total",
|
||||
"total_retail" => "Valor Menor Total del Inventario",
|
||||
"trans_amount" => "Monto de Transacción",
|
||||
"trans_due" => "Debido",
|
||||
"trans_group" => "Grupo de Transacción",
|
||||
"trans_nopay_sales" => "Ventas sin pago",
|
||||
"trans_payments" => "Pagos",
|
||||
"trans_refunded" => "Reembolsado",
|
||||
"trans_sales" => "Ventas",
|
||||
"trans_type" => "Tipo de Transacción",
|
||||
"type" => "Tipo",
|
||||
"unit_price" => "Precio de Venta",
|
||||
"used" => "Puntos Usados",
|
||||
"work_orders" => "Órdenes de Trabajo",
|
||||
"zero_and_less" => "Cero y menos",
|
||||
'all' => "Todas",
|
||||
'authority' => "Autoridad",
|
||||
'canceled' => "Cancelado",
|
||||
'categories' => "Categorías",
|
||||
'categories_summary_report' => "Informe resumido de categorías",
|
||||
'category' => "Categoría",
|
||||
'code_canceled' => "CNL",
|
||||
'code_invoice' => "INV",
|
||||
'code_pos' => "POS",
|
||||
'code_quote' => "Q",
|
||||
'code_return' => "RET",
|
||||
'code_type' => "Tipo",
|
||||
'code_work_order' => "OT",
|
||||
'comments' => "Comentarios",
|
||||
'commission' => "",
|
||||
'complete' => "Ventas y Devoluciones Completadas",
|
||||
'completed_sales' => "Ventas Completadas",
|
||||
'confirm_delete' => "Está seguro que quiere borrar la(s) entrada(s) seleccionada(s)?",
|
||||
'confirm_restore' => "Está seguro que quiere restaurar la(s) entrada(s) seleccionada(s)?",
|
||||
'cost' => "Al por mayor",
|
||||
'cost_price' => "Precio mayoreo.",
|
||||
'count' => "Contar",
|
||||
'customer' => "Cliente",
|
||||
'customers' => "Clientes",
|
||||
'customers_summary_report' => "Reporte Resumido de Clientes",
|
||||
'date' => "Fecha",
|
||||
'date_range' => "Rango de Fecha",
|
||||
'description' => "Descripción",
|
||||
'detailed_receivings_report' => "Reporte Detallado de Recepciones",
|
||||
'detailed_receivings_report_input' => "",
|
||||
'detailed_reports' => "Reportes detallados",
|
||||
'detailed_requisition_report' => "",
|
||||
'detailed_sales_report' => "Reporte Detallado de Transacciones",
|
||||
'discount' => "Descuento",
|
||||
'discount_fixed' => "Descuento Fijo",
|
||||
'discount_percent' => "Porcentaje de Descuento",
|
||||
'discount_type' => "Tipo de Descuento",
|
||||
'discounts' => "Descuentos",
|
||||
'discounts_summary_report' => "Reporte Resumido de Descuentos",
|
||||
'earned' => "Puntos ganados",
|
||||
'employee' => "Empleado",
|
||||
'employees' => "Empleados",
|
||||
'employees_summary_report' => "Reporte Resumido de Empleados",
|
||||
'expenses' => "Gastos",
|
||||
'expenses_amount' => "Cantidad",
|
||||
'expenses_categories' => "Gastos",
|
||||
'expenses_categories_summary_report' => "Reporte Resumido de Gastos por Categoría",
|
||||
'expenses_category' => "Categoría",
|
||||
'expenses_payment_amount' => "",
|
||||
'expenses_tax_amount' => "Impuesto",
|
||||
'expenses_total_amount' => "Monto Total",
|
||||
'expenses_total_tax_amount' => "Impuesto Total",
|
||||
'graphical_reports' => "Reportes Gráficos",
|
||||
'inventory' => "Inventario",
|
||||
'inventory_low' => "Inventario Bajo",
|
||||
'inventory_low_report' => "Reporte de Inventario Bajo",
|
||||
'inventory_reports' => "Reportes de Inventario",
|
||||
'inventory_summary' => "Resumen de Inventario",
|
||||
'inventory_summary_report' => "Reporte Resumido de Inventario",
|
||||
'item' => "Articulo",
|
||||
'item_count' => "Filtrar Recuento de Artículos",
|
||||
'item_name' => "Nombre del Artículo",
|
||||
'item_number' => "Código de barras",
|
||||
'items' => "Artículos",
|
||||
'items_purchased' => "Artículos Comprados",
|
||||
'items_received' => "Artículos Recibidos",
|
||||
'items_summary_report' => "Reporte Resumido de Artículos",
|
||||
'jurisdiction' => "Jurisdicción",
|
||||
'low_inventory' => "",
|
||||
'low_inventory_report' => "",
|
||||
'low_sell_quantity' => "Cantidad Venta Baja",
|
||||
'more_than_zero' => "Más que cero",
|
||||
'name' => "Nombre",
|
||||
'no_reports_to_display' => "No hay Artículos para mostrar.",
|
||||
'payment_type' => "Tipo de Pago",
|
||||
'payments' => "Pagos",
|
||||
'payments_summary_report' => "Reporte Resumido de Pagos",
|
||||
'profit' => "Ganancias",
|
||||
'quantity' => "Cantidad",
|
||||
'quantity_purchased' => "Cantidad Comprada",
|
||||
'quotes' => "Presupuesto",
|
||||
'received_by' => "Recepcionado por",
|
||||
'receiving_id' => "Id de Recepción",
|
||||
'receiving_type' => "Tipo de Recepción",
|
||||
'receivings' => "Recepciones",
|
||||
'reorder_level' => "Cantidad minima",
|
||||
'report' => "Reporte",
|
||||
'report_input' => "Entrada de Reporte",
|
||||
'reports' => "Reportes",
|
||||
'requisition' => "",
|
||||
'requisition_by' => "",
|
||||
'requisition_id' => "",
|
||||
'requisition_item' => "",
|
||||
'requisition_item_quantity' => "",
|
||||
'requisition_related_item' => "",
|
||||
'requisition_related_item_total_quantity' => "",
|
||||
'requisition_related_item_unit_quantity' => "",
|
||||
'requisitions' => "Requisiciones",
|
||||
'returns' => "Devoluciones",
|
||||
'revenue' => "Ingresos",
|
||||
'sale_id' => "Id de Transacciones",
|
||||
'sale_type' => "Tipo de Transacción",
|
||||
'sales' => "Transacciones",
|
||||
'sales_amount' => "Monto de Transacciones",
|
||||
'sales_summary_report' => "Reporte Resumido de Transacciones",
|
||||
'sales_taxes' => "Impuesto sobre las Ventas",
|
||||
'sales_taxes_summary_report' => "Reporte Resumido de Impuestos sobre las Ventas",
|
||||
'serial_number' => "Número de Serie",
|
||||
'service_charge' => "",
|
||||
'sold_by' => "Vendido por",
|
||||
'sold_items' => "",
|
||||
'sold_to' => "Vendido a",
|
||||
'stock_location' => "Ubicación de Stock",
|
||||
'sub_total_value' => "el Subtotal",
|
||||
'subtotal' => "el Subtotal",
|
||||
'summary_reports' => "Reportes Resumidos",
|
||||
'supplied_by' => "Suministrado por",
|
||||
'supplier' => "Proveedor",
|
||||
'suppliers' => "Proveedores",
|
||||
'suppliers_summary_report' => "Reporte Resumido de Proveedores",
|
||||
'tax' => "Impuesto",
|
||||
'tax_category' => "Categoría de Impuesto",
|
||||
'tax_name' => "Nombre de Impuesto",
|
||||
'tax_percent' => "Porcentaje de Impuesto",
|
||||
'tax_rate' => "Tarifa de Impuesto",
|
||||
'taxes' => "Impuestos",
|
||||
'taxes_summary_report' => "Reporte Resumido de Impuestos",
|
||||
'total' => "Total",
|
||||
'total_inventory_value' => "Valor Total del Inventario",
|
||||
'total_low_sell_quantity' => "Cantidad Total de Venta Baja",
|
||||
'total_quantity' => "Cantidad Total",
|
||||
'total_retail' => "Valor Menor Total del Inventario",
|
||||
'trans_amount' => "Monto de Transacción",
|
||||
'trans_due' => "Debido",
|
||||
'trans_group' => "Grupo de Transacción",
|
||||
'trans_nopay_sales' => "Ventas sin pago",
|
||||
'trans_payments' => "Pagos",
|
||||
'trans_refunded' => "Reembolsado",
|
||||
'trans_sales' => "Ventas",
|
||||
'trans_type' => "Tipo de Transacción",
|
||||
'type' => "Tipo",
|
||||
'unit_price' => "Precio de Venta",
|
||||
'used' => "Puntos Usados",
|
||||
'work_orders' => "Órdenes de Trabajo",
|
||||
'zero_and_less' => "Cero y menos",
|
||||
];
|
||||
|
||||
@@ -1,224 +1,225 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"customers_available_points" => "Puntos Disponibles",
|
||||
"rewards_package" => "Premios",
|
||||
"rewards_remaining_balance" => "Puntos de recompensa sobrante son: ",
|
||||
"account_number" => "Cuenta #",
|
||||
"add_payment" => "Agregar Pago",
|
||||
"amount_due" => "Monto de adeudo",
|
||||
"amount_tendered" => "Cantidad Recibida",
|
||||
"authorized_signature" => "Firma Autorizada",
|
||||
"cancel_sale" => "Cancelar",
|
||||
"cash" => "Efectivo",
|
||||
"cash_1" => "",
|
||||
"cash_2" => "",
|
||||
"cash_3" => "",
|
||||
"cash_4" => "",
|
||||
"cash_adjustment" => "Ajuste de efectivo",
|
||||
"cash_deposit" => "Deposito en Efectivo",
|
||||
"cash_filter" => "Efectivo",
|
||||
"change_due" => "Cambio",
|
||||
"change_price" => "Cambiar precio de venta",
|
||||
"check" => "Cheque",
|
||||
"check_balance" => "Balance de Cheque",
|
||||
"check_filter" => "Comprobar",
|
||||
"close" => "",
|
||||
"comment" => "Comentario",
|
||||
"comments" => "Comentarios",
|
||||
"company_name" => "",
|
||||
"complete" => "",
|
||||
"complete_sale" => "Completar",
|
||||
"confirm_cancel_sale" => "¿Está seguro que desea limpiar la venta? Todos los artículos serán borrados.",
|
||||
"confirm_delete" => "¿Está seguro que desea borrar todas las ventas seleccionadas?",
|
||||
"confirm_restore" => "¿Está seguro de desear restaurar las ventas seleccionadas?",
|
||||
"credit" => "Tarjeta de Crédito",
|
||||
"credit_deposit" => "Deposito de crédito",
|
||||
"credit_filter" => "Tarjeta de crédito",
|
||||
"current_table" => "",
|
||||
"customer" => "Cliente",
|
||||
"customer_address" => "Dirección",
|
||||
"customer_discount" => "Descuento",
|
||||
"customer_email" => "Correo electrónico",
|
||||
"customer_location" => "Ubicación",
|
||||
"customer_mailchimp_status" => "Estado de MailChimp",
|
||||
"customer_optional" => "(Obligatorio para pagos vencidos)",
|
||||
"customer_required" => "(Obligatorio)",
|
||||
"customer_total" => "Total",
|
||||
"customer_total_spent" => "",
|
||||
"daily_sales" => "",
|
||||
"date" => "Fecha de venta",
|
||||
"date_range" => "Rango de fechas",
|
||||
"date_required" => "Ingresar una fecha correcta.",
|
||||
"date_type" => "La fecha es un campo requerido.",
|
||||
"debit" => "Tarjeta de débito",
|
||||
"debit_filter" => "",
|
||||
"delete" => "Permitir borrar",
|
||||
"delete_confirmation" => "¿Seguro(a) de querer borrar esta venta? Esta acción no se puede deshacer.",
|
||||
"delete_entire_sale" => "Eliminar la venta completa",
|
||||
"delete_successful" => "Venta borrada correctamente.",
|
||||
"delete_unsuccessful" => "Fallo al borrar la venta.",
|
||||
"description_abbrv" => "Descrip.",
|
||||
"discard" => "Descartar",
|
||||
"discard_quote" => "",
|
||||
"discount" => "Desc.",
|
||||
"discount_included" => "% Descuento",
|
||||
"discount_short" => "%",
|
||||
"due" => "Adeudo",
|
||||
"due_filter" => "Adeudo",
|
||||
"edit" => "Editar",
|
||||
"edit_item" => "Editar artículo",
|
||||
"edit_sale" => "Editar venta",
|
||||
"email_receipt" => "Enviar ticket",
|
||||
"employee" => "Empleado",
|
||||
"entry" => "Entrada",
|
||||
"error_editing_item" => "Error editando el artículo",
|
||||
"find_or_scan_item" => "Buscar o escanear artículo",
|
||||
"find_or_scan_item_or_receipt" => "Buscar o escanear artículo o recibo",
|
||||
"giftcard" => "Tarjeta de regalo",
|
||||
"giftcard_balance" => "Balance de Tarjeta de Regalo",
|
||||
"giftcard_filter" => "",
|
||||
"giftcard_number" => "Número de Tarjeta de Regalo",
|
||||
"group_by_category" => "Grupo por Categoría",
|
||||
"group_by_type" => "Grupo por Tipo",
|
||||
"hsn" => "HSN",
|
||||
"id" => "ID de Venta",
|
||||
"include_prices" => "¿Incluir precios?",
|
||||
"invoice" => "Factura de venta",
|
||||
"invoice_confirm" => "Esta factura sera enviada a",
|
||||
"invoice_enable" => "Crear factura",
|
||||
"invoice_filter" => "Facturas",
|
||||
"invoice_no_email" => "Este cliente no tiene un correo electrónico válido.",
|
||||
"invoice_number" => "Factura #",
|
||||
"invoice_number_duplicate" => "Por favor ingrese un número de factura único.",
|
||||
"invoice_sent" => "Factura enviada a",
|
||||
"invoice_total" => "Total Facturado",
|
||||
"invoice_type_custom_invoice" => "Factura Personalizada (custom_invoice.php)",
|
||||
"invoice_type_custom_tax_invoice" => "Factura de Impuesto personalizada (custom_tax_invoice.php)",
|
||||
"invoice_type_invoice" => "Factura",
|
||||
"invoice_type_tax_invoice" => "Factura de Impuestos",
|
||||
"invoice_unsent" => "Fallo el envio de la factura a",
|
||||
"invoice_update" => "Recuento",
|
||||
"item_insufficient_of_stock" => "Cantidad insuficiente en inventario.",
|
||||
"item_name" => "Nombre del Artículo",
|
||||
"item_number" => "Artículo #",
|
||||
"item_out_of_stock" => "El artículo está agotado.",
|
||||
"key_browser" => "Atajos Útiles",
|
||||
"key_cancel" => "Cancelar actual Cotización/Factura/Venta",
|
||||
"key_customer_search" => "Buscar Cliente",
|
||||
"key_finish_quote" => "Finalizar Cotización/Factura sin pago",
|
||||
"key_finish_sale" => "Agregar pago y Completar la Factura/Venta",
|
||||
"key_full" => "Abrir en modo Pantalla Completa",
|
||||
"key_function" => "Function",
|
||||
"key_help" => "Atajos",
|
||||
"key_help_modal" => "Abrir Ventana de Atajos",
|
||||
"key_in" => "Acercar",
|
||||
"key_item_search" => "Buscar Artículo",
|
||||
"key_out" => "Alejar",
|
||||
"key_payment" => "Agregar Pago",
|
||||
"key_print" => "Imprimir Página Actual",
|
||||
"key_restore" => "Restaurar Vista",
|
||||
"key_search" => "Buscar Tablas de Reporte",
|
||||
"key_suspend" => "Suspender Venta Actual",
|
||||
"key_suspended" => "Mostrar Ventas Suspendidas",
|
||||
"key_system" => "Atajos del Sistema",
|
||||
"key_tendered" => "Editar Importe Licitado",
|
||||
"key_title" => "Atajos de Teclado para Ventas",
|
||||
"mc" => "",
|
||||
"mode" => "Registrar Modo",
|
||||
"must_enter_numeric" => "Cantidad recibida debe ser un número.",
|
||||
"must_enter_numeric_giftcard" => "Número de Tarjeta de Regalo debe ser un número.",
|
||||
"new_customer" => "Cliente Nuevo",
|
||||
"new_item" => "Artículo Nuevo",
|
||||
"no_description" => "Sin descripción",
|
||||
"no_filter" => "Todos",
|
||||
"no_items_in_cart" => "No hay artículos en el carrito.",
|
||||
"no_sales_to_display" => "No hay ventas que mostrar.",
|
||||
"none_selected" => "No has seleccionado alguna venta para borrar.",
|
||||
"nontaxed_ind" => " ' ",
|
||||
"not_authorized" => "Esta acción no esta autorizada.",
|
||||
"one_or_multiple" => "Venta(s)",
|
||||
"payment" => "Tipo de pago",
|
||||
"payment_amount" => "Cantidad",
|
||||
"payment_not_cover_total" => "La cantidad pagada debe ser mayor o igual al Total.",
|
||||
"payment_type" => "Tipo",
|
||||
"payments" => "",
|
||||
"payments_total" => "Total de pagado",
|
||||
"price" => "Precio",
|
||||
"print_after_sale" => "Imprimir recibo después de una venta",
|
||||
"quantity" => "Cantidad",
|
||||
"quantity_less_than_reorder_level" => "Advertencia. La cantidad deseada es insuficiente.",
|
||||
"quantity_less_than_zero" => "Advertencia. La cantidad deseada es insuficiente. Puedes procesar la venta, pero verifica tu inventario.",
|
||||
"quantity_of_items" => "Cantidad de {0} artículos",
|
||||
"quote" => "Cotizar",
|
||||
"quote_number" => "Número de presupuesto",
|
||||
"quote_number_duplicate" => "El número de cotización debe ser único.",
|
||||
"quote_sent" => "Cotización enviada a",
|
||||
"quote_unsent" => "La cotización no se pudo enviar a",
|
||||
"receipt" => "Recibo de venta",
|
||||
"receipt_no_email" => "Este cliente no tiene una dirección de correo válida.",
|
||||
"receipt_number" => "Venta #",
|
||||
"receipt_sent" => "Recibo enviado a",
|
||||
"receipt_unsent" => "Falló el envío del recibo a",
|
||||
"refund" => "Modo de Reembolso",
|
||||
"register" => "Registro de ventas",
|
||||
"remove_customer" => "Borrar cliente",
|
||||
"remove_discount" => "",
|
||||
"return" => "Devolución",
|
||||
"rewards" => "Puntos de recompensa",
|
||||
"rewards_balance" => "Balance de puntos de recompensa",
|
||||
"sale" => "Venta",
|
||||
"sale_by_invoice" => "Venta por factura",
|
||||
"sale_for_customer" => "Cliente:",
|
||||
"sale_time" => "Hora",
|
||||
"sales_tax" => "Impuestos",
|
||||
"sales_total" => "",
|
||||
"select_customer" => "Seleccionar cliente",
|
||||
"send_invoice" => "Enviar factura",
|
||||
"send_quote" => "Enviar cotización",
|
||||
"send_receipt" => "Enviar recibo",
|
||||
"send_work_order" => "Enviar orden de trabajo",
|
||||
"serial" => "Serie",
|
||||
"service_charge" => "",
|
||||
"show_due" => "",
|
||||
"show_invoice" => "Mostrar factura",
|
||||
"show_receipt" => "Mostrar recibo",
|
||||
"start_typing_customer_name" => "Empiece a escribir los detalles del cliente...",
|
||||
"start_typing_item_name" => "Escriba el nombre del artículo o escanea el código de barras...",
|
||||
"stock" => "Inventario",
|
||||
"stock_location" => "Localización del inventario",
|
||||
"sub_total" => "el subtotal",
|
||||
"successfully_deleted" => "Se ha eliminado",
|
||||
"successfully_restored" => "Se ha restuarado satisfactoriamente",
|
||||
"successfully_suspended_sale" => "La venta se ha suspendido.",
|
||||
"successfully_updated" => "Venta actualizada.",
|
||||
"suspend_sale" => "Suspender",
|
||||
"suspended_doc_id" => "Documento",
|
||||
"suspended_sale_id" => "ID",
|
||||
"suspended_sales" => "Suspendidas",
|
||||
"table" => "Datos",
|
||||
"takings" => "Ventas diarias",
|
||||
"tax" => "Impuestos",
|
||||
"tax_id" => "ID Impuesto",
|
||||
"tax_invoice" => "Impuesto de la factura",
|
||||
"tax_percent" => "Impuesto %",
|
||||
"taxed_ind" => "T",
|
||||
"total" => "Total",
|
||||
"total_tax_exclusive" => "Sin impuesto",
|
||||
"transaction_failed" => "Ha fallado la venta.",
|
||||
"unable_to_add_item" => "Falló al agregar artículos para venta",
|
||||
"unsuccessfully_deleted" => "La eliminación de venta falló.",
|
||||
"unsuccessfully_restored" => "La restauración de la venta falló.",
|
||||
"unsuccessfully_suspended_sale" => "La suspensión de venta falló.",
|
||||
"unsuccessfully_updated" => "Ha fallado la actualización de la venta.",
|
||||
"unsuspend" => "Retomar",
|
||||
"unsuspend_and_delete" => "Acción",
|
||||
"update" => "Actualizar",
|
||||
"upi" => "UPI",
|
||||
"visa" => "",
|
||||
"wholesale" => "",
|
||||
"work_order" => "Orden de trabajo",
|
||||
"work_order_number" => "Número de orden de trabajo",
|
||||
"work_order_number_duplicate" => "El número de orden de trabajo debe ser único.",
|
||||
"work_order_sent" => "Orden de trabajo enviada a",
|
||||
"work_order_unsent" => "Falló la Orden de Trabajo al enviar a",
|
||||
'customers_available_points' => "Puntos Disponibles",
|
||||
'rewards_package' => "Premios",
|
||||
'rewards_remaining_balance' => "Puntos de recompensa sobrante son: ",
|
||||
'account_number' => "Cuenta #",
|
||||
'add_payment' => "Agregar Pago",
|
||||
'amount_due' => "Monto de adeudo",
|
||||
'amount_tendered' => "Cantidad Recibida",
|
||||
'authorized_signature' => "Firma Autorizada",
|
||||
'cancel_sale' => "Cancelar",
|
||||
'cash' => "Efectivo",
|
||||
'cash_1' => "",
|
||||
'cash_2' => "",
|
||||
'cash_3' => "",
|
||||
'cash_4' => "",
|
||||
'cash_adjustment' => "Ajuste de efectivo",
|
||||
'cash_deposit' => "Deposito en Efectivo",
|
||||
'cash_filter' => "Efectivo",
|
||||
'change_due' => "Cambio",
|
||||
'change_price' => "Cambiar precio de venta",
|
||||
'check' => "Cheque",
|
||||
'check_balance' => "Balance de Cheque",
|
||||
'check_filter' => "Comprobar",
|
||||
'close' => "",
|
||||
'comment' => "Comentario",
|
||||
'comments' => "Comentarios",
|
||||
'company_name' => "",
|
||||
'complete' => "",
|
||||
'complete_sale' => "Completar",
|
||||
'confirm_cancel_sale' => "¿Está seguro que desea limpiar la venta? Todos los artículos serán borrados.",
|
||||
'confirm_delete' => "¿Está seguro que desea borrar todas las ventas seleccionadas?",
|
||||
'confirm_restore' => "¿Está seguro de desear restaurar las ventas seleccionadas?",
|
||||
'credit' => "Tarjeta de Crédito",
|
||||
'credit_deposit' => "Deposito de crédito",
|
||||
'credit_filter' => "Tarjeta de crédito",
|
||||
'current_table' => "",
|
||||
'customer' => "Cliente",
|
||||
'customer_address' => "Dirección",
|
||||
'customer_discount' => "Descuento",
|
||||
'customer_email' => "Correo electrónico",
|
||||
'customer_location' => "Ubicación",
|
||||
'customer_mailchimp_status' => "Estado de MailChimp",
|
||||
'customer_optional' => "(Obligatorio para pagos vencidos)",
|
||||
'customer_required' => "(Obligatorio)",
|
||||
'customer_total' => "Total",
|
||||
'customer_total_spent' => "",
|
||||
'daily_sales' => "",
|
||||
'date' => "Fecha de venta",
|
||||
'date_range' => "Rango de fechas",
|
||||
'date_required' => "Ingresar una fecha correcta.",
|
||||
'date_type' => "La fecha es un campo requerido.",
|
||||
'debit' => "Tarjeta de débito",
|
||||
'debit_filter' => "",
|
||||
'delete' => "Permitir borrar",
|
||||
'delete_confirmation' => "¿Seguro(a) de querer borrar esta venta? Esta acción no se puede deshacer.",
|
||||
'delete_entire_sale' => "Eliminar la venta completa",
|
||||
'delete_successful' => "Venta borrada correctamente.",
|
||||
'delete_unsuccessful' => "Fallo al borrar la venta.",
|
||||
'description_abbrv' => "Descrip.",
|
||||
'discard' => "Descartar",
|
||||
'discard_quote' => "",
|
||||
'discount' => "Desc.",
|
||||
'discount_included' => "% Descuento",
|
||||
'discount_short' => "%",
|
||||
'due' => "Adeudo",
|
||||
'due_filter' => "Adeudo",
|
||||
'edit' => "Editar",
|
||||
'edit_item' => "Editar artículo",
|
||||
'edit_sale' => "Editar venta",
|
||||
'email_receipt' => "Enviar ticket",
|
||||
'employee' => "Empleado",
|
||||
'entry' => "Entrada",
|
||||
'error_editing_item' => "Error editando el artículo",
|
||||
'find_or_scan_item' => "Buscar o escanear artículo",
|
||||
'find_or_scan_item_or_receipt' => "Buscar o escanear artículo o recibo",
|
||||
'giftcard' => "Tarjeta de regalo",
|
||||
'giftcard_balance' => "Balance de Tarjeta de Regalo",
|
||||
'giftcard_filter' => "",
|
||||
'giftcard_number' => "Número de Tarjeta de Regalo",
|
||||
'group_by_category' => "Grupo por Categoría",
|
||||
'group_by_type' => "Grupo por Tipo",
|
||||
'hsn' => "HSN",
|
||||
'id' => "ID de Venta",
|
||||
'include_prices' => "¿Incluir precios?",
|
||||
'invoice' => "Factura de venta",
|
||||
'invoice_confirm' => "Esta factura sera enviada a",
|
||||
'invoice_enable' => "Crear factura",
|
||||
'invoice_filter' => "Facturas",
|
||||
'invoice_no_email' => "Este cliente no tiene un correo electrónico válido.",
|
||||
'invoice_number' => "Factura #",
|
||||
'invoice_number_duplicate' => "Por favor ingrese un número de factura único.",
|
||||
'invoice_sent' => "Factura enviada a",
|
||||
'invoice_total' => "Total Facturado",
|
||||
'invoice_type_custom_invoice' => "Factura Personalizada (custom_invoice.php)",
|
||||
'invoice_type_custom_tax_invoice' => "Factura de Impuesto personalizada (custom_tax_invoice.php)",
|
||||
'invoice_type_invoice' => "Factura",
|
||||
'invoice_type_tax_invoice' => "Factura de Impuestos",
|
||||
'invoice_unsent' => "Fallo el envio de la factura a",
|
||||
'invoice_update' => "Recuento",
|
||||
'item_insufficient_of_stock' => "Cantidad insuficiente en inventario.",
|
||||
'item_name' => "Nombre del Artículo",
|
||||
'item_number' => "Artículo #",
|
||||
'item_out_of_stock' => "El artículo está agotado.",
|
||||
'key_browser' => "Atajos Útiles",
|
||||
'key_cancel' => "Cancelar actual Cotización/Factura/Venta",
|
||||
'key_customer_search' => "Buscar Cliente",
|
||||
'key_finish_quote' => "Finalizar Cotización/Factura sin pago",
|
||||
'key_finish_sale' => "Agregar pago y Completar la Factura/Venta",
|
||||
'key_full' => "Abrir en modo Pantalla Completa",
|
||||
'key_function' => "Function",
|
||||
'key_help' => "Atajos",
|
||||
'key_help_modal' => "Abrir Ventana de Atajos",
|
||||
'key_in' => "Acercar",
|
||||
'key_item_search' => "Buscar Artículo",
|
||||
'key_out' => "Alejar",
|
||||
'key_payment' => "Agregar Pago",
|
||||
'key_print' => "Imprimir Página Actual",
|
||||
'key_restore' => "Restaurar Vista",
|
||||
'key_search' => "Buscar Tablas de Reporte",
|
||||
'key_suspend' => "Suspender Venta Actual",
|
||||
'key_suspended' => "Mostrar Ventas Suspendidas",
|
||||
'key_system' => "Atajos del Sistema",
|
||||
'key_tendered' => "Editar Importe Licitado",
|
||||
'key_title' => "Atajos de Teclado para Ventas",
|
||||
'mc' => "",
|
||||
'mode' => "Registrar Modo",
|
||||
'must_enter_numeric' => "Cantidad recibida debe ser un número.",
|
||||
'must_enter_numeric_giftcard' => "Número de Tarjeta de Regalo debe ser un número.",
|
||||
'new_customer' => "Cliente Nuevo",
|
||||
'new_item' => "Artículo Nuevo",
|
||||
'no_description' => "Sin descripción",
|
||||
'no_filter' => "Todos",
|
||||
'no_items_in_cart' => "No hay artículos en el carrito.",
|
||||
'no_sales_to_display' => "No hay ventas que mostrar.",
|
||||
'none_selected' => "No has seleccionado alguna venta para borrar.",
|
||||
'nontaxed_ind' => " ' ",
|
||||
'not_authorized' => "Esta acción no esta autorizada.",
|
||||
'one_or_multiple' => "Venta(s)",
|
||||
'payment' => "Tipo de pago",
|
||||
'payment_amount' => "Cantidad",
|
||||
'payment_not_cover_total' => "La cantidad pagada debe ser mayor o igual al Total.",
|
||||
'payment_type' => "Tipo",
|
||||
'payments' => "",
|
||||
'payments_total' => "Total de pagado",
|
||||
'price' => "Precio",
|
||||
'print_after_sale' => "Imprimir recibo después de una venta",
|
||||
'quantity' => "Cantidad",
|
||||
'quantity_less_than_reorder_level' => "Advertencia. La cantidad deseada es insuficiente.",
|
||||
'quantity_less_than_zero' => "Advertencia. La cantidad deseada es insuficiente. Puedes procesar la venta, pero verifica tu inventario.",
|
||||
'quantity_of_items' => "Cantidad de {0} artículos",
|
||||
'quote' => "Cotizar",
|
||||
'quote_number' => "Número de presupuesto",
|
||||
'quote_number_duplicate' => "El número de cotización debe ser único.",
|
||||
'quote_sent' => "Cotización enviada a",
|
||||
'quote_unsent' => "La cotización no se pudo enviar a",
|
||||
'receipt' => "Recibo de venta",
|
||||
'receipt_no_email' => "Este cliente no tiene una dirección de correo válida.",
|
||||
'receipt_number' => "Venta #",
|
||||
'receipt_sent' => "Recibo enviado a",
|
||||
'receipt_unsent' => "Falló el envío del recibo a",
|
||||
'refund' => "Modo de Reembolso",
|
||||
'register' => "Registro de ventas",
|
||||
'remove_customer' => "Borrar cliente",
|
||||
'remove_discount' => "",
|
||||
'return' => "Devolución",
|
||||
'rewards' => "Puntos de recompensa",
|
||||
'rewards_balance' => "Balance de puntos de recompensa",
|
||||
'sale' => "Venta",
|
||||
'sale_by_invoice' => "Venta por factura",
|
||||
'sale_for_customer' => "Cliente:",
|
||||
'sale_time' => "Hora",
|
||||
'sales_tax' => "Impuestos",
|
||||
'sales_total' => "",
|
||||
'select_customer' => "Seleccionar cliente",
|
||||
'send_invoice' => "Enviar factura",
|
||||
'send_quote' => "Enviar cotización",
|
||||
'send_receipt' => "Enviar recibo",
|
||||
'send_work_order' => "Enviar orden de trabajo",
|
||||
'serial' => "Serie",
|
||||
'service_charge' => "",
|
||||
'show_due' => "",
|
||||
'show_invoice' => "Mostrar factura",
|
||||
'show_receipt' => "Mostrar recibo",
|
||||
'start_typing_customer_name' => "Empiece a escribir los detalles del cliente...",
|
||||
'start_typing_item_name' => "Escriba el nombre del artículo o escanea el código de barras...",
|
||||
'stock' => "Existencia",
|
||||
'stock_location' => "Localización del inventario",
|
||||
'sub_total' => "el subtotal",
|
||||
'successfully_deleted' => "Se ha eliminado",
|
||||
'successfully_restored' => "Se ha restuarado satisfactoriamente",
|
||||
'successfully_suspended_sale' => "La venta se ha suspendido.",
|
||||
'successfully_updated' => "Venta actualizada.",
|
||||
'suspend_sale' => "Suspender",
|
||||
'suspended_doc_id' => "Documento",
|
||||
'suspended_sale_id' => "ID",
|
||||
'suspended_sales' => "Suspendidas",
|
||||
'table' => "Datos",
|
||||
'takings' => "Ventas diarias",
|
||||
'tax' => "Impuestos",
|
||||
'tax_id' => "ID Impuesto",
|
||||
'tax_invoice' => "Impuesto de la factura",
|
||||
'tax_percent' => "Impuesto %",
|
||||
'taxed_ind' => "T",
|
||||
'total' => "Total",
|
||||
'total_tax_exclusive' => "Sin impuesto",
|
||||
'transaction_failed' => "Ha fallado la venta.",
|
||||
'unable_to_add_item' => "Falló al agregar artículos para venta",
|
||||
'unsuccessfully_deleted' => "La eliminación de venta falló.",
|
||||
'unsuccessfully_restored' => "La restauración de la venta falló.",
|
||||
'unsuccessfully_suspended_sale' => "La suspensión de venta falló.",
|
||||
'unsuccessfully_updated' => "Ha fallado la actualización de la venta.",
|
||||
'unsuspend' => "Retomar",
|
||||
'unsuspend_and_delete' => "Acción",
|
||||
'update' => "Actualizar",
|
||||
'upi' => "UPI",
|
||||
'visa' => "",
|
||||
'wholesale' => "",
|
||||
'work_order' => "Orden de trabajo",
|
||||
'work_order_number' => "Número de orden de trabajo",
|
||||
'work_order_number_duplicate' => "El número de orden de trabajo debe ser único.",
|
||||
'work_order_sent' => "Orden de trabajo enviada a",
|
||||
'work_order_unsent' => "Falló la Orden de Trabajo al enviar a",
|
||||
];
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"account_number" => "Número de Cuenta",
|
||||
"agency_name" => "Nombre de Agencia",
|
||||
"cannot_be_deleted" => "No se puede borrar el/los Proveedor(es) seleccionado(s). Uno o más tienen Ventas.",
|
||||
"category" => "Categoría",
|
||||
"company_name" => "Nombre de la Compañía",
|
||||
"company_name_required" => "Nombre de la Compañía es un campo requerido.",
|
||||
"confirm_delete" => "¿Está seguro que quiere borrar al/los Proveedor(es) seleccionados?",
|
||||
"confirm_restore" => "¿Esá seguro que quiere restaurar al o los Proveedores seleccionados?",
|
||||
"cost" => "Costo del Proveedor",
|
||||
"error_adding_updating" => "Fallo al actualizar o agregar un Proveedor.",
|
||||
"goods" => "Proveedor de Materiales",
|
||||
"new" => "Nuevo Proveedor",
|
||||
"none_selected" => "No ha seleccionado Proveedor(es) para borrar.",
|
||||
"one_or_multiple" => "Proveedor(es)",
|
||||
"successful_adding" => "Usted ha agregado un Proveedor exitosamente",
|
||||
"successful_deleted" => "Ha borrado con éxito",
|
||||
"successful_updating" => "Ha actualizado un Proveedor con éxito",
|
||||
"supplier" => "Proveedor",
|
||||
"supplier_id" => "Id",
|
||||
"tax_id" => "Id Impuesto",
|
||||
"update" => "Actualizar Proveedor",
|
||||
'account_number' => "Número de Cuenta",
|
||||
'agency_name' => "Nombre de Agencia",
|
||||
'cannot_be_deleted' => "No se puede borrar el/los Proveedor(es) seleccionado(s). Uno o más tienen Ventas.",
|
||||
'category' => "Categoría",
|
||||
'company_name' => "Nombre de la Compañía",
|
||||
'company_name_required' => "Nombre de la Compañía es un campo requerido.",
|
||||
'confirm_delete' => "¿Está seguro que quiere borrar al/los Proveedor(es) seleccionados?",
|
||||
'confirm_restore' => "¿Esá seguro que quiere restaurar al o los Proveedores seleccionados?",
|
||||
'cost' => "Costo del Proveedor",
|
||||
'error_adding_updating' => "Fallo al actualizar o agregar un Proveedor.",
|
||||
'goods' => "Proveedor de Materiales",
|
||||
'new' => "Nuevo Proveedor",
|
||||
'none_selected' => "No ha seleccionado Proveedor(es) para borrar.",
|
||||
'one_or_multiple' => "Proveedor(es)",
|
||||
'successful_adding' => "Usted ha agregado un Proveedor exitosamente",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'successful_updating' => "Ha actualizado un Proveedor con éxito",
|
||||
'supplier' => "Proveedor",
|
||||
'supplier_id' => "Id",
|
||||
'tax_id' => "Id Impuesto",
|
||||
'update' => "Actualizar Proveedor",
|
||||
];
|
||||
|
||||
@@ -1,82 +1,83 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_exception" => "Agregar Excepcion",
|
||||
"cascade" => "Cascada",
|
||||
"cascade_sequence" => "Secuencia de Cascada",
|
||||
"city" => "Ciudad",
|
||||
"code" => "Codigo",
|
||||
"confirm_delete" => "Estas seguro que deseas eliminar este código de impuesto? Esta acción es irreversible",
|
||||
"confirm_restore" => "Estas seguro que deseas restaurar los códigos de impuestos?",
|
||||
"default_tax_category" => "Impuesto por Default",
|
||||
"default_tax_rate" => "Tarifa de impuesto por default",
|
||||
"error_adding_updating" => "Código de impuesto agregado o error en actualización",
|
||||
"group_seq" => "Secuencia de Grupo",
|
||||
"jurisdiction_name" => "Nombre de la Jurisdicción",
|
||||
"name" => "Nombre",
|
||||
"new" => "Impuesto Nuevo",
|
||||
"no_taxes" => "",
|
||||
"no_taxes_to_display" => "Códigos de impuestos no disponible",
|
||||
"reporting_authority" => "Imformacion de Autoridad",
|
||||
"round_half_down" => "a número entero inferior",
|
||||
"round_half_even" => "a numero par entero más próximo",
|
||||
"round_half_odd" => "a numero entero impar mas próximo",
|
||||
"round_half_up" => "a numero entero superior",
|
||||
"rounding_code" => "código de redondeo",
|
||||
"sales_tax" => "Impuesto de Venta",
|
||||
"sales_tax_by_invoice" => "Impuesto de Ventas por factura",
|
||||
"sequence" => "Secuencia",
|
||||
"state" => "Estado",
|
||||
"successful_deleted" => "Eliminado Satisfactoriamente",
|
||||
"tax_categories" => "Categorias de Impuestos",
|
||||
"tax_categories_configuration" => "Configuración de Categorías de Impuestos",
|
||||
"tax_categories_saved_successfully" => "Las categorías de impuestos han sido guardados",
|
||||
"tax_categories_saved_unsuccessfully" => "Categorías de impuestos no han sido guardados",
|
||||
"tax_category" => "Categoria de Impuesto",
|
||||
"tax_category_code" => "codigo de categoria de impuesto",
|
||||
"tax_category_duplicate" => "duplicar categoria de impuesto",
|
||||
"tax_category_invalid_chars" => "caracteres invalidos en el nombre de la categoria de impuesto",
|
||||
"tax_category_name" => "nombre de la categoria de impuesto",
|
||||
"tax_category_new" => "nueva categoria de impuesto",
|
||||
"tax_category_required" => "Categoría de impuesto es requerida",
|
||||
"tax_code" => "codigo de impuesto",
|
||||
"tax_code_cannot_be_deleted" => "error al eliminar codigo de impuesto",
|
||||
"tax_code_duplicate" => "Código de impuesto duplicado",
|
||||
"tax_code_invalid_chars" => "Caracteres inválidos en el código de impuesto",
|
||||
"tax_code_name" => "nombre del codigo de impuesto",
|
||||
"tax_code_required" => "codigo de impuesto es un campo requerido",
|
||||
"tax_code_successful_deleted" => "has eliminado satisfactoriamente el codigo de impuesto",
|
||||
"tax_code_successful_updated" => "has actualizado satisfactoriamente",
|
||||
"tax_code_successful_updating" => "has actualizado satisfactoriamente el codigo de impuesto",
|
||||
"tax_code_successfully_added" => "has agregado satisfactoriamente",
|
||||
"tax_code_type" => "tipo de codigo de impuesto",
|
||||
"tax_codes" => "codigos de impuesto",
|
||||
"tax_codes_configuration" => "configuracion de codigos de impuesto",
|
||||
"tax_codes_saved_successfully" => "cambios guardados en codigo de impuesto",
|
||||
"tax_codes_saved_unsuccessfully" => "no se guardaron los cambios en el codigo de impuesto",
|
||||
"tax_excluded" => "impuesto excluido",
|
||||
"tax_group" => "grupo de impuesto",
|
||||
"tax_group_not_unique" => "Grupo de impuestos {0} no es el unico",
|
||||
"tax_group_sequence" => "secuencia de grupo de impuesto",
|
||||
"tax_included" => "impuesto incluido",
|
||||
"tax_jurisdiction" => "impuesto por ley",
|
||||
"tax_jurisdiction_duplicate" => "Impuesto por ley duplicado",
|
||||
"tax_jurisdiction_invalid_chars" => "Caracteres inválidos en el nombre por ley",
|
||||
"tax_jurisdiction_required" => "impuesto por ley es requerido",
|
||||
"tax_jurisdictions" => "impuestos por leyes",
|
||||
"tax_jurisdictions_configuration" => "configuracion de impuestos por leyes",
|
||||
"tax_jurisdictions_saved_successfully" => "cambios guardados en los impuestos por leyes",
|
||||
"tax_jurisdictions_saved_unsuccessfully" => "no se guardaron los cambios en los impuestos por leyes",
|
||||
"tax_rate" => "tarifa de impuesto",
|
||||
"tax_rate_configuration" => "configuracion de tarifa de impuesto",
|
||||
"tax_rate_error_adding_updating" => "tarifa de impuesto agregado o actualizacion fallida",
|
||||
"tax_rate_numeric" => "tarifa de impuesto debe ser numero",
|
||||
"tax_rate_required" => "tarifa de impuesto es requerida",
|
||||
"tax_rate_successful_updated" => "has actualizado satisfactoriamente",
|
||||
"tax_rate_successfully_added" => "has agregado satisfactoriamente",
|
||||
"tax_rates" => "tarifas de impuestos",
|
||||
"tax_rates_configuration" => "configuracion de tarifas de impuestos",
|
||||
"tax_rounding" => "impuesto redondeado",
|
||||
"tax_type" => "tipo de impuesto",
|
||||
"update" => "Actualizar tarifa de impuesto",
|
||||
"vat_tax" => "Impuesto IVA",
|
||||
'add_exception' => "Agregar Excepcion",
|
||||
'cascade' => "Cascada",
|
||||
'cascade_sequence' => "Secuencia de Cascada",
|
||||
'city' => "Ciudad",
|
||||
'code' => "Codigo",
|
||||
'confirm_delete' => "Estas seguro que deseas eliminar este código de impuesto? Esta acción es irreversible",
|
||||
'confirm_restore' => "Estas seguro que deseas restaurar los códigos de impuestos?",
|
||||
'default_tax_category' => "Impuesto por Default",
|
||||
'default_tax_rate' => "Tarifa de impuesto por default",
|
||||
'error_adding_updating' => "Código de impuesto agregado o error en actualización",
|
||||
'group_seq' => "Secuencia de Grupo",
|
||||
'jurisdiction_name' => "Nombre de la Jurisdicción",
|
||||
'name' => "Nombre",
|
||||
'new' => "Impuesto Nuevo",
|
||||
'no_taxes' => "",
|
||||
'no_taxes_to_display' => "Códigos de impuestos no disponible",
|
||||
'reporting_authority' => "Imformacion de Autoridad",
|
||||
'round_half_down' => "a número entero inferior",
|
||||
'round_half_even' => "a numero par entero más próximo",
|
||||
'round_half_odd' => "a numero entero impar mas próximo",
|
||||
'round_half_up' => "a numero entero superior",
|
||||
'rounding_code' => "código de redondeo",
|
||||
'sales_tax' => "Impuesto de Venta",
|
||||
'sales_tax_by_invoice' => "Impuesto de Ventas por factura",
|
||||
'sequence' => "Secuencia",
|
||||
'state' => "Estado",
|
||||
'successful_deleted' => "Se ha borrado correctamente",
|
||||
'tax_categories' => "Categorias de Impuestos",
|
||||
'tax_categories_configuration' => "Configuración de Categorías de Impuestos",
|
||||
'tax_categories_saved_successfully' => "Las categorías de impuestos han sido guardados",
|
||||
'tax_categories_saved_unsuccessfully' => "Categorías de impuestos no han sido guardados",
|
||||
'tax_category' => "Categoria de Impuesto",
|
||||
'tax_category_code' => "codigo de categoria de impuesto",
|
||||
'tax_category_duplicate' => "duplicar categoria de impuesto",
|
||||
'tax_category_invalid_chars' => "caracteres invalidos en el nombre de la categoria de impuesto",
|
||||
'tax_category_name' => "nombre de la categoria de impuesto",
|
||||
'tax_category_new' => "nueva categoria de impuesto",
|
||||
'tax_category_required' => "Categoría de impuesto es requerida",
|
||||
'tax_code' => "codigo de impuesto",
|
||||
'tax_code_cannot_be_deleted' => "error al eliminar codigo de impuesto",
|
||||
'tax_code_duplicate' => "Código de impuesto duplicado",
|
||||
'tax_code_invalid_chars' => "Caracteres inválidos en el código de impuesto",
|
||||
'tax_code_name' => "nombre del codigo de impuesto",
|
||||
'tax_code_required' => "codigo de impuesto es un campo requerido",
|
||||
'tax_code_successful_deleted' => "has eliminado satisfactoriamente el codigo de impuesto",
|
||||
'tax_code_successful_updated' => "has actualizado satisfactoriamente",
|
||||
'tax_code_successful_updating' => "has actualizado satisfactoriamente el codigo de impuesto",
|
||||
'tax_code_successfully_added' => "has agregado satisfactoriamente",
|
||||
'tax_code_type' => "tipo de codigo de impuesto",
|
||||
'tax_codes' => "codigos de impuesto",
|
||||
'tax_codes_configuration' => "configuracion de codigos de impuesto",
|
||||
'tax_codes_saved_successfully' => "cambios guardados en codigo de impuesto",
|
||||
'tax_codes_saved_unsuccessfully' => "no se guardaron los cambios en el codigo de impuesto",
|
||||
'tax_excluded' => "impuesto excluido",
|
||||
'tax_group' => "grupo de impuesto",
|
||||
'tax_group_not_unique' => "Grupo de impuestos {0} no es el unico",
|
||||
'tax_group_sequence' => "secuencia de grupo de impuesto",
|
||||
'tax_included' => "impuesto incluido",
|
||||
'tax_jurisdiction' => "impuesto por ley",
|
||||
'tax_jurisdiction_duplicate' => "Impuesto por ley duplicado",
|
||||
'tax_jurisdiction_invalid_chars' => "Caracteres inválidos en el nombre por ley",
|
||||
'tax_jurisdiction_required' => "impuesto por ley es requerido",
|
||||
'tax_jurisdictions' => "impuestos por leyes",
|
||||
'tax_jurisdictions_configuration' => "configuracion de impuestos por leyes",
|
||||
'tax_jurisdictions_saved_successfully' => "cambios guardados en los impuestos por leyes",
|
||||
'tax_jurisdictions_saved_unsuccessfully' => "no se guardaron los cambios en los impuestos por leyes",
|
||||
'tax_rate' => "tarifa de impuesto",
|
||||
'tax_rate_configuration' => "configuracion de tarifa de impuesto",
|
||||
'tax_rate_error_adding_updating' => "tarifa de impuesto agregado o actualizacion fallida",
|
||||
'tax_rate_numeric' => "tarifa de impuesto debe ser numero",
|
||||
'tax_rate_required' => "tarifa de impuesto es requerida",
|
||||
'tax_rate_successful_updated' => "has actualizado satisfactoriamente",
|
||||
'tax_rate_successfully_added' => "has agregado satisfactoriamente",
|
||||
'tax_rates' => "tarifas de impuestos",
|
||||
'tax_rates_configuration' => "configuracion de tarifas de impuestos",
|
||||
'tax_rounding' => "impuesto redondeado",
|
||||
'tax_type' => "tipo de impuesto",
|
||||
'update' => "Actualizar tarifa de impuesto",
|
||||
'vat_tax' => "Impuesto IVA",
|
||||
];
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"gcaptcha" => "Je ne suis pas un robot.",
|
||||
"go" => "Lancer",
|
||||
"invalid_gcaptcha" => "Veuillez vérifier que vous n'êtes pas un robot.",
|
||||
"invalid_installation" => "Cette installation est incorrecte, veuillez vérifier votre fichier php.ini.",
|
||||
"invalid_username_and_password" => "Nom d'utilisateur et/ou mot de passe invalide.",
|
||||
"login" => "Login",
|
||||
"logout" => "Déconnexion",
|
||||
"migration_needed" => "Une migration de base de données vers {0} débutera après l'ouverture de session.",
|
||||
"password" => "Mot de passe",
|
||||
"required_username" => "",
|
||||
"username" => "Nom d'utilisateur",
|
||||
"welcome" => "Bienvenue à {0} !",
|
||||
'gcaptcha' => "Je ne suis pas un robot.",
|
||||
'go' => "Lancer",
|
||||
'invalid_gcaptcha' => "Veuillez vérifier que vous n'êtes pas un robot.",
|
||||
'invalid_installation' => "Cette installation est incorrecte, veuillez vérifier votre fichier php.ini.",
|
||||
'invalid_username_and_password' => "Nom d'utilisateur et/ou mot de passe invalide.",
|
||||
'login' => "Login",
|
||||
'logout' => "Déconnexion",
|
||||
'migration_needed' => "Une migration de base de données vers {0} débutera après l'ouverture de session.",
|
||||
'password' => "Mot de passe",
|
||||
'required_username' => "Le champ nom utilisateur est obligatoire.",
|
||||
'username' => "Nom d'utilisateur",
|
||||
'welcome' => "Bienvenue à {0} !",
|
||||
];
|
||||
|
||||
@@ -1,330 +1,331 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"address" => "Alamat Perusahaan",
|
||||
"address_required" => "Alamat Perusahaan wajib diisi.",
|
||||
"all_set" => "Semua perizinan file diatur dengan benar!",
|
||||
"allow_duplicate_barcodes" => "Ijinkan kode batang ganda",
|
||||
"apostrophe" => "Tanda petik (')",
|
||||
"backup_button" => "Cadangkan",
|
||||
"backup_database" => "Cadangkan basis data",
|
||||
"barcode" => "Kode batang",
|
||||
"barcode_company" => "Nama Perusahaan",
|
||||
"barcode_configuration" => "Pengaturan kode batang",
|
||||
"barcode_content" => "Isi kode batang",
|
||||
"barcode_first_row" => "Baris 1",
|
||||
"barcode_font" => "Jenis huruf",
|
||||
"barcode_formats" => "Format masukan",
|
||||
"barcode_generate_if_empty" => "Buatkan kode batang otomatis jika kosong.",
|
||||
"barcode_height" => "Tinggi (px)",
|
||||
"barcode_id" => "Item Id/Nama",
|
||||
"barcode_info" => "Informasi pengaturan kode batang",
|
||||
"barcode_layout" => "Tata letak kode batang",
|
||||
"barcode_name" => "Nama",
|
||||
"barcode_number" => "Kode batang",
|
||||
"barcode_number_in_row" => "Jumlah baris",
|
||||
"barcode_page_cellspacing" => "Tampilkan jarak antar sel pada halaman.",
|
||||
"barcode_page_width" => "Lebar halaman",
|
||||
"barcode_price" => "Harga",
|
||||
"barcode_second_row" => "Baris 2",
|
||||
"barcode_third_row" => "Baris 3",
|
||||
"barcode_tooltip" => "Peringatan: Fitur ini dapat meyebabkan duplikasi item yang diimpor atau dibuat. Jangan digunakan jika Anda tidak ingin menggandakan kode batang.",
|
||||
"barcode_type" => "Jenis kode batang",
|
||||
"barcode_width" => "Lebar (px)",
|
||||
"bottom" => "Bawah",
|
||||
"cash_button" => "",
|
||||
"cash_button_1" => "",
|
||||
"cash_button_2" => "",
|
||||
"cash_button_3" => "",
|
||||
"cash_button_4" => "",
|
||||
"cash_button_5" => "",
|
||||
"cash_button_6" => "",
|
||||
"cash_decimals" => "Desimal Tunai",
|
||||
"cash_decimals_tooltip" => "Jika Desimal Tunai dan Desimal Mata Uang sama, maka pembulatan uang tidak akan dilakukan.",
|
||||
"cash_rounding" => "Pembulatan tunai",
|
||||
"category_dropdown" => "Tampilkan menu tarik turun untuk Kategori",
|
||||
"center" => "Tengah",
|
||||
"change_apperance_tooltip" => "",
|
||||
"comma" => "koma",
|
||||
"company" => "Nama Perusahaan",
|
||||
"company_avatar" => "",
|
||||
"company_change_image" => "Ubah gambar",
|
||||
"company_logo" => "Logo perusahaan",
|
||||
"company_remove_image" => "Hapus gambar",
|
||||
"company_required" => "Nama Perusahaan wajib diisi",
|
||||
"company_select_image" => "Pilih gambar",
|
||||
"company_website_url" => "Situs Perusahaan bukan URL yang benar(http://...).",
|
||||
"country_codes" => "Kode negara",
|
||||
"country_codes_tooltip" => "Daftar kode negara format CSV untuk lookup alamat.",
|
||||
"currency_code" => "Kode Mata uang",
|
||||
"currency_decimals" => "Angka desimal",
|
||||
"currency_symbol" => "Simbol Mata Uang",
|
||||
"current_employee_only" => "",
|
||||
"customer_reward" => "Hadiah",
|
||||
"customer_reward_duplicate" => "Masukkan nama unik untuk hadiah.",
|
||||
"customer_reward_enable" => "Aktifkan Hadiah Konsumen",
|
||||
"customer_reward_invalid_chars" => "Nama hadiah tidak boleh berisi '_'",
|
||||
"customer_reward_required" => "Kolom hadiah tidak boleh kosong",
|
||||
"customer_sales_tax_support" => "Dukungan Pajak Penjualan Pelanggan",
|
||||
"date_or_time_format" => "Penyaring tanggal dan waktu",
|
||||
"datetimeformat" => "Format tanggal dan waktu",
|
||||
"decimal_point" => "Titik Desimal",
|
||||
"default_barcode_font_size_number" => "Pengaturan ukuran kode batang default harus berupa angka.",
|
||||
"default_barcode_font_size_required" => "Pengaturan ukuran kode batang default harus diisi.",
|
||||
"default_barcode_height_number" => "Pengaturan tinggi kode batang harus berupa angka.",
|
||||
"default_barcode_height_required" => "Pengaturan tinggi kode batang harus diisi.",
|
||||
"default_barcode_num_in_row_number" => "Kode batang harus berupa angka.",
|
||||
"default_barcode_num_in_row_required" => "Kode batang harus diisi.",
|
||||
"default_barcode_page_cellspacing_number" => "Pengaturan spasi sel kode batang harus berupa angka.",
|
||||
"default_barcode_page_cellspacing_required" => "Pengaturan spasi sel kode batang harus diisi.",
|
||||
"default_barcode_page_width_number" => "Lebar halaman kode batang harus berupa angka.",
|
||||
"default_barcode_page_width_required" => "Lebar halaman kode batang harus diisi.",
|
||||
"default_barcode_width_number" => "Lebar kode batang harus berupa angka.",
|
||||
"default_barcode_width_required" => "Lebar kode batang harus diisi.",
|
||||
"default_item_columns" => "Kolom item terlihat bawaan",
|
||||
"default_origin_tax_code" => "Kode Pajak Asal Default",
|
||||
"default_receivings_discount" => "Diskon pembelian bawaan",
|
||||
"default_receivings_discount_number" => "Diskon pembelian bawaaan harus berupa angka.",
|
||||
"default_receivings_discount_required" => "Diskon oembelian harus diisi.",
|
||||
"default_sales_discount" => "Diskon penjualan bawaan",
|
||||
"default_sales_discount_number" => "Diskon penjualan harus berupa angka.",
|
||||
"default_sales_discount_required" => "Diskon penjualan harus diisi.",
|
||||
"default_tax_category" => "Kategori pajak bawaan",
|
||||
"default_tax_code" => "Kode pajak bawaan",
|
||||
"default_tax_jurisdiction" => "Yuridiksi Pajak bawaan",
|
||||
"default_tax_name_number" => "Nama Pajak Default harus berupa string.",
|
||||
"default_tax_name_required" => "Jenis pajak harus diisi.",
|
||||
"default_tax_rate" => "Tarif Pajak %",
|
||||
"default_tax_rate_1" => "Tarif Pajak 1",
|
||||
"default_tax_rate_2" => "Tarif Pajak 2",
|
||||
"default_tax_rate_3" => "",
|
||||
"default_tax_rate_number" => "Tarif Pajak harus berupa angkat.",
|
||||
"default_tax_rate_required" => "Tarif Pajak Biasa harus diisi.",
|
||||
"derive_sale_quantity" => "Ijinkan Kuantitas Penjulan Diturunkan",
|
||||
"derive_sale_quantity_tooltip" => "Jika dicentang maka jenis barang baru akan disediakan untuk barang yang dipesan dengan jumlah yang diperpanjang",
|
||||
"dinner_table" => "Meja",
|
||||
"dinner_table_duplicate" => "Masukkan nama meja (harus unik).",
|
||||
"dinner_table_enable" => "Aktifkan meja",
|
||||
"dinner_table_invalid_chars" => "Nama meja tidak dapat berisi karater '_'.",
|
||||
"dinner_table_required" => "Meja adalah kolom yang harus diisi.",
|
||||
"dot" => "titik",
|
||||
"email" => "Email",
|
||||
"email_configuration" => "Konfigurasi Email",
|
||||
"email_mailpath" => "Direktori untuk Sendmail",
|
||||
"email_protocol" => "Protocol",
|
||||
"email_receipt_check_behaviour" => "Kotak centang Penerimaan Email",
|
||||
"email_receipt_check_behaviour_always" => "Selalu dicentang",
|
||||
"email_receipt_check_behaviour_last" => "Ingat pilihan terakhir",
|
||||
"email_receipt_check_behaviour_never" => "Selalu tidak tercentang",
|
||||
"email_smtp_crypto" => "Enkripsi SMTP",
|
||||
"email_smtp_host" => "Server SMTP",
|
||||
"email_smtp_pass" => "Kata Sandi SMTP",
|
||||
"email_smtp_port" => "Port SMTP",
|
||||
"email_smtp_timeout" => "Masa Aktif SMTP",
|
||||
"email_smtp_user" => "Nama Pengguna SMTP",
|
||||
"enable_avatar" => "",
|
||||
"enable_avatar_tooltip" => "",
|
||||
"enable_dropdown_tooltip" => "",
|
||||
"enable_new_look" => "",
|
||||
"enable_right_bar" => "",
|
||||
"enable_right_bar_tooltip" => "",
|
||||
"enforce_privacy" => "Berlakukan privasi",
|
||||
"enforce_privacy_tooltip" => "Lindungi privasi Pelanggan yang menegakkan data dalam hal data mereka dihapus",
|
||||
"fax" => "Fax",
|
||||
"file_perm" => "Perizinan berkas bermasalah, Silakan perbaiki dan muat ulang halaman ini.",
|
||||
"financial_year" => "Tahun Awal Fiskal",
|
||||
"financial_year_apr" => "1 April",
|
||||
"financial_year_aug" => "1 Agustus",
|
||||
"financial_year_dec" => "1 Desember",
|
||||
"financial_year_feb" => "1 Februari",
|
||||
"financial_year_jan" => "1 Januari",
|
||||
"financial_year_jul" => "1 Juli",
|
||||
"financial_year_jun" => "1 Juni",
|
||||
"financial_year_mar" => "1 Maret",
|
||||
"financial_year_may" => "1 Mei",
|
||||
"financial_year_nov" => "1 November",
|
||||
"financial_year_oct" => "1 Oktober",
|
||||
"financial_year_sep" => "1 September",
|
||||
"floating_labels" => "Label mengambang",
|
||||
"gcaptcha_enable" => "Halaman login reCHAPTCHA",
|
||||
"gcaptcha_secret_key" => "Kunci Rahasia reCHAPTCHA",
|
||||
"gcaptcha_secret_key_required" => "Kunci Rahasia reCHAPTCHA adalah bidang yang harus diisi",
|
||||
"gcaptcha_site_key" => "Kunci Situs reCHAPTCHA",
|
||||
"gcaptcha_site_key_required" => "Kunci Situs reCHAPTCHA adalah bidang yang dibutuhkan",
|
||||
"gcaptcha_tooltip" => "Lindungi Halaman Login dengan reCAPTCHA Google, klik pada ikon untuk pasangan kunci API.",
|
||||
"general" => "Umum",
|
||||
"general_configuration" => "Pengaturan Umum",
|
||||
"giftcard_number" => "Nomor Gift Card",
|
||||
"giftcard_random" => "Hasilkan acak",
|
||||
"giftcard_series" => "Hasilkan dalam seri",
|
||||
"image_allowed_file_types" => "Jenis berkas yang diizinkan",
|
||||
"image_max_height_tooltip" => "Tinggi maksimum unggahan gambar yang diizinkan dalam piksel (px).",
|
||||
"image_max_size_tooltip" => "ukuran berkas maksimum yang diijinkan untuk mengunggah gambar dalam kilobyte (kb).",
|
||||
"image_max_width_tooltip" => "Lebar maksimum yang diunggah dari pengunggahan gambar dalam piksel (px).",
|
||||
"image_restrictions" => "Pembatasan Pengunggahan Gambar",
|
||||
"include_hsn" => "Termasuk dukungan kode HSN",
|
||||
"info" => "Informasi",
|
||||
"info_configuration" => "Informasi Toko",
|
||||
"input_groups" => "Grup masukan",
|
||||
"integrations" => "Integrasi",
|
||||
"integrations_configuration" => "Integrasi pihak ketiga",
|
||||
"invoice" => "Faktur",
|
||||
"invoice_configuration" => "Pengaturan cetak faktur",
|
||||
"invoice_default_comments" => "Komentar faktur",
|
||||
"invoice_email_message" => "Templat email faktur",
|
||||
"invoice_enable" => "Mengaktifkan faktur",
|
||||
"invoice_printer" => "Pencetak Faktur",
|
||||
"invoice_type" => "Tipe Faktur",
|
||||
"is_readable" => "dapat dibaca, tetapi izin tidak disetel dengan benar. Setel ke 640 atau 660, kemudian segarkan.",
|
||||
"is_writable" => "bisa ditulis, tetapi izin tidak disetel dengan benar. Setel ke 750 dan segarkan.",
|
||||
"item_markup" => "",
|
||||
"jsprintsetup_required" => "Perhatian! Fungsi ini hanya berjalan jika anda menggunakan Firefox yang memiliki tambahan jsPrintSetup. Tetap simpan?",
|
||||
"language" => "Bahasa",
|
||||
"last_used_invoice_number" => "Nomor terakhir faktur",
|
||||
"last_used_quote_number" => "Nomor Penawaran yang terakhir digunakan",
|
||||
"last_used_work_order_number" => "Nomor W/O yang terakhir dipakai",
|
||||
"left" => "Kiri",
|
||||
"license" => "Lisensi",
|
||||
"license_configuration" => "Pernyataan Lisensi",
|
||||
"line_sequence" => "Urutan baris",
|
||||
"lines_per_page" => "Baris per halaman",
|
||||
"lines_per_page_number" => "Baris per halaman harus berupa angka.",
|
||||
"lines_per_page_required" => "Baris per halaman tidak boleh kosong.",
|
||||
"locale" => "Terjemahan",
|
||||
"locale_configuration" => "Konfigurasi Terjemahan",
|
||||
"locale_info" => "Informasi Konfigurasi Terjemahan",
|
||||
"location" => "Lokasi Stock",
|
||||
"location_configuration" => "Lokasi Stock",
|
||||
"location_info" => "Informasi konfigurasi lokasi stock",
|
||||
"login_form" => "Gaya Formulir Log Masuk",
|
||||
"logout" => "Apakah Anda akan membuat cadangan sebelum anda keluar? Klik [OK] untuk pencadangan, [Batal] untuk keluar.",
|
||||
"mailchimp" => "MailChimp",
|
||||
"mailchimp_api_key" => "Kunci API MailChimp",
|
||||
"mailchimp_configuration" => "Pengaturan MailChimp",
|
||||
"mailchimp_key_successfully" => "Kunci API benar.",
|
||||
"mailchimp_key_unsuccessfully" => "Kunci API tidak valid.",
|
||||
"mailchimp_lists" => "Daftar MailChimp",
|
||||
"mailchimp_tooltip" => "Klik pada ikon untuk KUnci API.",
|
||||
"message" => "Pesan",
|
||||
"message_configuration" => "Pengaturan Pesan",
|
||||
"msg_msg" => "Pesan teks tersimpan",
|
||||
"msg_msg_placeholder" => "Apakah Anda ingin menggunakan template SMS menyimpan pesan Anda disini? Jika tidak, biarkan kosong.",
|
||||
"msg_pwd" => "SMS-API Password",
|
||||
"msg_pwd_required" => "SMS-API Password harus diisi",
|
||||
"msg_src" => "ID pengirim SMS-API",
|
||||
"msg_src_required" => "SMS-API Sender ID harus diisi",
|
||||
"msg_uid" => "SMS-API User Name",
|
||||
"msg_uid_required" => "SMS-API Username harus diisi",
|
||||
"multi_pack_enabled" => "Multi paket per item",
|
||||
"no_risk" => "Tidak ada risiko keamanan / kerentanan.",
|
||||
"none" => "none",
|
||||
"notify_alignment" => "Posisi notifikasi Popup",
|
||||
"number_format" => "Format Nomor",
|
||||
"number_locale" => "Terjemahan",
|
||||
"number_locale_invalid" => "Kode bahasa salah. Cek tautan pada tooltip untuk mendapatkan kode bahasa yang benar.",
|
||||
"number_locale_required" => "Kode Lokal wajib diisi.",
|
||||
"number_locale_tooltip" => "Menemukan kode lokal melalui link ini.",
|
||||
"os_timezone" => "Zona waktu OSPOS:",
|
||||
"ospos_info" => "Info pemasangan OSPOS",
|
||||
"payment_options_order" => "Urutan pilihan pembayaran",
|
||||
"perm_risk" => "Setelan izin yang salah berbahaya bagi keamanan perangkat lunak.",
|
||||
"phone" => "Telepon Perusahaan",
|
||||
"phone_required" => "Telepon Perusahaan wajib diisi.",
|
||||
"print_bottom_margin" => "Margin Bawah",
|
||||
"print_bottom_margin_number" => "Default margin bawah harus angka.",
|
||||
"print_bottom_margin_required" => "Default margin Bawah harus di isi.",
|
||||
"print_delay_autoreturn" => "Otomatis Retur pada penundaan Penjualan",
|
||||
"print_delay_autoreturn_number" => "Kolom Otomatis Retur pada Penundaan Penjualan harus diisi.",
|
||||
"print_delay_autoreturn_required" => "Pengembalian otomatis untuk Penjualan tertunda harus berupa angka.",
|
||||
"print_footer" => "Mencetak Footer Browser",
|
||||
"print_header" => "Mencetak Browser Header",
|
||||
"print_left_margin" => "Margin Kiri",
|
||||
"print_left_margin_number" => "Margin kiri harus berupa angka.",
|
||||
"print_left_margin_required" => "Margin kiri wajib di isi.",
|
||||
"print_receipt_check_behaviour" => "Centang Cetak Struk",
|
||||
"print_receipt_check_behaviour_always" => "Selalu dicentang",
|
||||
"print_receipt_check_behaviour_last" => "Ingat pilihan terakhir",
|
||||
"print_receipt_check_behaviour_never" => "Selalu tidak dicentang",
|
||||
"print_right_margin" => "Margin kanan",
|
||||
"print_right_margin_number" => "Margin kiri harus berupa angka.",
|
||||
"print_right_margin_required" => "Margin kanan wajib di isi.",
|
||||
"print_silently" => "Tampilkan Print Dialog",
|
||||
"print_top_margin" => "Margin atas",
|
||||
"print_top_margin_number" => "Nilai margin atas harus di isi angka.",
|
||||
"print_top_margin_required" => "Margin atas wajib di isi.",
|
||||
"quantity_decimals" => "Desimal untuk Jumlah",
|
||||
"quick_cash_enable" => "",
|
||||
"quote_default_comments" => "Komentar faktur",
|
||||
"receipt" => "Struk Penerimaan",
|
||||
"receipt_category" => "",
|
||||
"receipt_configuration" => "Struk Print Settings",
|
||||
"receipt_default" => "Default",
|
||||
"receipt_font_size" => "Ukuran Font",
|
||||
"receipt_font_size_number" => "Ukuran font harus berupa angka.",
|
||||
"receipt_font_size_required" => "Ukuran font harus diisi.",
|
||||
"receipt_info" => "Struk Konfigurasi Informasi",
|
||||
"receipt_printer" => "Tiket Printer",
|
||||
"receipt_short" => "Ringkas",
|
||||
"receipt_show_company_name" => "Tampilkan nama perusahaan",
|
||||
"receipt_show_description" => "Tampilkan deskripsi",
|
||||
"receipt_show_serialnumber" => "Tampilkan nomor seri",
|
||||
"receipt_show_tax_ind" => "Tampilkan Indikator Pajak",
|
||||
"receipt_show_taxes" => "Tampilkan pajak",
|
||||
"receipt_show_total_discount" => "Tampilkan total diskon",
|
||||
"receipt_template" => "Template struk",
|
||||
"receiving_calculate_average_price" => "Menghitung harga rata-rata (Penerimaan)",
|
||||
"recv_invoice_format" => "Format Faktur",
|
||||
"register_mode_default" => "Default register mode",
|
||||
"report_an_issue" => "Laporkan masalah",
|
||||
"return_policy_required" => "Kebijakan retur wajib diisi.",
|
||||
"reward" => "Hadiah",
|
||||
"reward_configuration" => "Konfigurasi Hadiah",
|
||||
"right" => "Kanan",
|
||||
"sales_invoice_format" => "Format Faktur Penjualan",
|
||||
"sales_quote_format" => "Format Penawaran Penjualan",
|
||||
"saved_successfully" => "Konfigurasi berhasil disimpan.",
|
||||
"saved_unsuccessfully" => "Konfigurasi tidak berhasil disimpan.",
|
||||
"security_issue" => "Peringatan Kerentanan Keamanan",
|
||||
"server_notice" => "Silakan gunakan info di bawah ini untuk pelaporan masalah.",
|
||||
"service_charge" => "",
|
||||
"show_due_enable" => "",
|
||||
"show_office_group" => "Tampilkan ikon kantor",
|
||||
"statistics" => "Kirim statistik",
|
||||
"statistics_tooltip" => "Kirim statistik untuk pengembangan dan peningkatan fitur.",
|
||||
"stock_location" => "Lokasi Stock",
|
||||
"stock_location_duplicate" => "Gunakan nama yang unik untuk lokasi stock.",
|
||||
"stock_location_invalid_chars" => "Nama lokasi tidak boleh berisi karakter '_'.",
|
||||
"stock_location_required" => "Nomor lokasi stock harus diisi.",
|
||||
"suggestions_fifth_column" => "",
|
||||
"suggestions_first_column" => "Kolom 1",
|
||||
"suggestions_fourth_column" => "",
|
||||
"suggestions_layout" => "Tampilan Saran Pencarian",
|
||||
"suggestions_second_column" => "Kolom 2",
|
||||
"suggestions_third_column" => "Kolom 3",
|
||||
"system_conf" => "Setting & Conf",
|
||||
"system_info" => "System Info",
|
||||
"table" => "Meja",
|
||||
"table_configuration" => "Konfigurasi Meja",
|
||||
"takings_printer" => "Struk Printer",
|
||||
"tax" => "Pajak",
|
||||
"tax_category" => "Kategori Pajak",
|
||||
"tax_category_duplicate" => "Kategori pajak yang dimasukkan sudah ada.",
|
||||
"tax_category_invalid_chars" => "Kategori pajak yang dimasukkan tidak valid.",
|
||||
"tax_category_required" => "Kategori pajak dibutuhkan.",
|
||||
"tax_category_used" => "Kategori pajak tidak bisa dihapus karena sedang digunakan.",
|
||||
"tax_configuration" => "Konfigurasi Pajak",
|
||||
"tax_decimals" => "Pajak Decimals",
|
||||
"tax_id" => "Id Pajak",
|
||||
"tax_included" => "Dikenakan Pajak",
|
||||
"theme" => "Tema",
|
||||
"theme_preview" => "Pratinjau Tema:",
|
||||
"thousands_separator" => "Pemisah Ribuan",
|
||||
"timezone" => "Zona Waktu",
|
||||
"timezone_error" => "Zona Waktu OSPOS berbeda dari Zona Waktu Anda.",
|
||||
"top" => "Atas",
|
||||
"use_destination_based_tax" => "Gunakan Pajak Berdasarkan Tujuan",
|
||||
"user_timezone" => "Zona waktu lokal:",
|
||||
"website" => "Situs Perusahaan",
|
||||
"wholesale_markup" => "",
|
||||
"work_order_enable" => "Dukungan Work Order",
|
||||
"work_order_format" => "Format Work Order",
|
||||
'address' => "Alamat Perusahaan",
|
||||
'address_required' => "Alamat Perusahaan wajib diisi.",
|
||||
'all_set' => "Semua perizinan file diatur dengan benar!",
|
||||
'allow_duplicate_barcodes' => "Ijinkan kode batang ganda",
|
||||
'apostrophe' => "Tanda petik (')",
|
||||
'backup_button' => "Cadangkan",
|
||||
'backup_database' => "Cadangkan basis data",
|
||||
'barcode' => "Kode batang",
|
||||
'barcode_company' => "Nama Perusahaan",
|
||||
'barcode_configuration' => "Pengaturan kode batang",
|
||||
'barcode_content' => "Isi kode batang",
|
||||
'barcode_first_row' => "Baris 1",
|
||||
'barcode_font' => "Jenis huruf",
|
||||
'barcode_formats' => "Format masukan",
|
||||
'barcode_generate_if_empty' => "Buatkan kode batang otomatis jika kosong.",
|
||||
'barcode_height' => "Tinggi (px)",
|
||||
'barcode_id' => "Item Id/Nama",
|
||||
'barcode_info' => "Informasi pengaturan kode batang",
|
||||
'barcode_layout' => "Tata letak kode batang",
|
||||
'barcode_name' => "Nama",
|
||||
'barcode_number' => "Kode batang",
|
||||
'barcode_number_in_row' => "Jumlah baris",
|
||||
'barcode_page_cellspacing' => "Tampilkan jarak antar sel pada halaman.",
|
||||
'barcode_page_width' => "Lebar halaman",
|
||||
'barcode_price' => "Harga",
|
||||
'barcode_second_row' => "Baris 2",
|
||||
'barcode_third_row' => "Baris 3",
|
||||
'barcode_tooltip' => "Peringatan: Fitur ini dapat meyebabkan duplikasi item yang diimpor atau dibuat. Jangan digunakan jika Anda tidak ingin menggandakan kode batang.",
|
||||
'barcode_type' => "Jenis kode batang",
|
||||
'barcode_width' => "Lebar (px)",
|
||||
'bottom' => "Bawah",
|
||||
'cash_button' => "",
|
||||
'cash_button_1' => "",
|
||||
'cash_button_2' => "",
|
||||
'cash_button_3' => "",
|
||||
'cash_button_4' => "",
|
||||
'cash_button_5' => "",
|
||||
'cash_button_6' => "",
|
||||
'cash_decimals' => "Desimal Tunai",
|
||||
'cash_decimals_tooltip' => "Jika Desimal Tunai dan Desimal Mata Uang sama, maka pembulatan uang tidak akan dilakukan.",
|
||||
'cash_rounding' => "Pembulatan tunai",
|
||||
'category_dropdown' => "Tampilkan menu tarik turun untuk Kategori",
|
||||
'center' => "Tengah",
|
||||
'change_apperance_tooltip' => "",
|
||||
'comma' => "koma",
|
||||
'company' => "Nama Perusahaan",
|
||||
'company_avatar' => "",
|
||||
'company_change_image' => "Ubah gambar",
|
||||
'company_logo' => "Logo perusahaan",
|
||||
'company_remove_image' => "Hapus gambar",
|
||||
'company_required' => "Nama Perusahaan wajib diisi",
|
||||
'company_select_image' => "Pilih gambar",
|
||||
'company_website_url' => "Situs Perusahaan bukan URL yang benar(http://...).",
|
||||
'country_codes' => "Kode negara",
|
||||
'country_codes_tooltip' => "Daftar kode negara format CSV untuk lookup alamat.",
|
||||
'currency_code' => "Kode Mata uang",
|
||||
'currency_decimals' => "Angka desimal",
|
||||
'currency_symbol' => "Simbol Mata Uang",
|
||||
'current_employee_only' => "",
|
||||
'customer_reward' => "Hadiah",
|
||||
'customer_reward_duplicate' => "Masukkan nama unik untuk hadiah.",
|
||||
'customer_reward_enable' => "Aktifkan Hadiah Konsumen",
|
||||
'customer_reward_invalid_chars' => "Nama hadiah tidak boleh berisi '_'",
|
||||
'customer_reward_required' => "Kolom hadiah tidak boleh kosong",
|
||||
'customer_sales_tax_support' => "Dukungan Pajak Penjualan Pelanggan",
|
||||
'date_or_time_format' => "Penyaring tanggal dan waktu",
|
||||
'datetimeformat' => "Format tanggal dan waktu",
|
||||
'decimal_point' => "Titik Desimal",
|
||||
'default_barcode_font_size_number' => "Pengaturan ukuran kode batang default harus berupa angka.",
|
||||
'default_barcode_font_size_required' => "Pengaturan ukuran kode batang default harus diisi.",
|
||||
'default_barcode_height_number' => "Pengaturan tinggi kode batang harus berupa angka.",
|
||||
'default_barcode_height_required' => "Pengaturan tinggi kode batang harus diisi.",
|
||||
'default_barcode_num_in_row_number' => "Kode batang harus berupa angka.",
|
||||
'default_barcode_num_in_row_required' => "Kode batang harus diisi.",
|
||||
'default_barcode_page_cellspacing_number' => "Pengaturan spasi sel kode batang harus berupa angka.",
|
||||
'default_barcode_page_cellspacing_required' => "Pengaturan spasi sel kode batang harus diisi.",
|
||||
'default_barcode_page_width_number' => "Lebar halaman kode batang harus berupa angka.",
|
||||
'default_barcode_page_width_required' => "Lebar halaman kode batang harus diisi.",
|
||||
'default_barcode_width_number' => "Lebar kode batang harus berupa angka.",
|
||||
'default_barcode_width_required' => "Lebar kode batang harus diisi.",
|
||||
'default_item_columns' => "Kolom item terlihat bawaan",
|
||||
'default_origin_tax_code' => "Kode Pajak Asal Default",
|
||||
'default_receivings_discount' => "Diskon pembelian bawaan",
|
||||
'default_receivings_discount_number' => "Diskon pembelian bawaaan harus berupa angka.",
|
||||
'default_receivings_discount_required' => "Diskon oembelian harus diisi.",
|
||||
'default_sales_discount' => "Diskon penjualan bawaan",
|
||||
'default_sales_discount_number' => "Diskon penjualan harus berupa angka.",
|
||||
'default_sales_discount_required' => "Diskon penjualan harus diisi.",
|
||||
'default_tax_category' => "Kategori pajak bawaan",
|
||||
'default_tax_code' => "Kode pajak bawaan",
|
||||
'default_tax_jurisdiction' => "Yuridiksi Pajak bawaan",
|
||||
'default_tax_name_number' => "Nama Pajak Default harus berupa string.",
|
||||
'default_tax_name_required' => "Jenis pajak harus diisi.",
|
||||
'default_tax_rate' => "Tarif Pajak %",
|
||||
'default_tax_rate_1' => "Tarif Pajak 1",
|
||||
'default_tax_rate_2' => "Tarif Pajak 2",
|
||||
'default_tax_rate_3' => "",
|
||||
'default_tax_rate_number' => "Tarif Pajak harus berupa angkat.",
|
||||
'default_tax_rate_required' => "Tarif Pajak Biasa harus diisi.",
|
||||
'derive_sale_quantity' => "Ijinkan Kuantitas Penjulan Diturunkan",
|
||||
'derive_sale_quantity_tooltip' => "Jika dicentang maka jenis barang baru akan disediakan untuk barang yang dipesan dengan jumlah yang diperpanjang",
|
||||
'dinner_table' => "Meja",
|
||||
'dinner_table_duplicate' => "Masukkan nama meja (harus unik).",
|
||||
'dinner_table_enable' => "Aktifkan meja",
|
||||
'dinner_table_invalid_chars' => "Nama meja tidak dapat berisi karater '_'.",
|
||||
'dinner_table_required' => "Meja adalah kolom yang harus diisi.",
|
||||
'dot' => "titik",
|
||||
'email' => "Email",
|
||||
'email_configuration' => "Konfigurasi Email",
|
||||
'email_mailpath' => "Direktori untuk Sendmail",
|
||||
'email_protocol' => "Protocol",
|
||||
'email_receipt_check_behaviour' => "Kotak centang Penerimaan Email",
|
||||
'email_receipt_check_behaviour_always' => "Selalu dicentang",
|
||||
'email_receipt_check_behaviour_last' => "Ingat pilihan terakhir",
|
||||
'email_receipt_check_behaviour_never' => "Selalu tidak tercentang",
|
||||
'email_smtp_crypto' => "Enkripsi SMTP",
|
||||
'email_smtp_host' => "Server SMTP",
|
||||
'email_smtp_pass' => "Kata Sandi SMTP",
|
||||
'email_smtp_port' => "Port SMTP",
|
||||
'email_smtp_timeout' => "Masa Aktif SMTP",
|
||||
'email_smtp_user' => "Nama Pengguna SMTP",
|
||||
'enable_avatar' => "",
|
||||
'enable_avatar_tooltip' => "",
|
||||
'enable_dropdown_tooltip' => "",
|
||||
'enable_new_look' => "",
|
||||
'enable_right_bar' => "",
|
||||
'enable_right_bar_tooltip' => "",
|
||||
'enforce_privacy' => "Berlakukan privasi",
|
||||
'enforce_privacy_tooltip' => "Lindungi privasi Pelanggan yang menegakkan data dalam hal data mereka dihapus",
|
||||
'fax' => "Fax",
|
||||
'file_perm' => "Perizinan berkas bermasalah, Silakan perbaiki dan muat ulang halaman ini.",
|
||||
'financial_year' => "Tahun Awal Fiskal",
|
||||
'financial_year_apr' => "1 April",
|
||||
'financial_year_aug' => "1 Agustus",
|
||||
'financial_year_dec' => "1 Desember",
|
||||
'financial_year_feb' => "1 Februari",
|
||||
'financial_year_jan' => "1 Januari",
|
||||
'financial_year_jul' => "1 Juli",
|
||||
'financial_year_jun' => "1 Juni",
|
||||
'financial_year_mar' => "1 Maret",
|
||||
'financial_year_may' => "1 Mei",
|
||||
'financial_year_nov' => "1 November",
|
||||
'financial_year_oct' => "1 Oktober",
|
||||
'financial_year_sep' => "1 September",
|
||||
'floating_labels' => "Label mengambang",
|
||||
'gcaptcha_enable' => "Halaman login reCHAPTCHA",
|
||||
'gcaptcha_secret_key' => "Kunci Rahasia reCHAPTCHA",
|
||||
'gcaptcha_secret_key_required' => "Kunci Rahasia reCHAPTCHA adalah bidang yang harus diisi",
|
||||
'gcaptcha_site_key' => "Kunci Situs reCHAPTCHA",
|
||||
'gcaptcha_site_key_required' => "Kunci Situs reCHAPTCHA adalah bidang yang dibutuhkan",
|
||||
'gcaptcha_tooltip' => "Lindungi Halaman Login dengan reCAPTCHA Google, klik pada ikon untuk pasangan kunci API.",
|
||||
'general' => "Umum",
|
||||
'general_configuration' => "Pengaturan Umum",
|
||||
'giftcard_number' => "Nomor Kartu Hadiah",
|
||||
'giftcard_random' => "Hasilkan acak",
|
||||
'giftcard_series' => "Hasilkan dalam seri",
|
||||
'image_allowed_file_types' => "Jenis berkas yang diizinkan",
|
||||
'image_max_height_tooltip' => "Tinggi maksimum unggahan gambar yang diizinkan dalam piksel (px).",
|
||||
'image_max_size_tooltip' => "ukuran berkas maksimum yang diijinkan untuk mengunggah gambar dalam kilobyte (kb).",
|
||||
'image_max_width_tooltip' => "Lebar maksimum yang diunggah dari pengunggahan gambar dalam piksel (px).",
|
||||
'image_restrictions' => "Pembatasan Pengunggahan Gambar",
|
||||
'include_hsn' => "Termasuk dukungan kode HSN",
|
||||
'info' => "Informasi",
|
||||
'info_configuration' => "Informasi Toko",
|
||||
'input_groups' => "Grup masukan",
|
||||
'integrations' => "Integrasi",
|
||||
'integrations_configuration' => "Integrasi pihak ketiga",
|
||||
'invoice' => "Faktur",
|
||||
'invoice_configuration' => "Pengaturan cetak faktur",
|
||||
'invoice_default_comments' => "Komentar faktur",
|
||||
'invoice_email_message' => "Templat email faktur",
|
||||
'invoice_enable' => "Mengaktifkan faktur",
|
||||
'invoice_printer' => "Pencetak Faktur",
|
||||
'invoice_type' => "Tipe Faktur",
|
||||
'is_readable' => "dapat dibaca, tetapi izin tidak disetel dengan benar. Setel ke 640 atau 660, kemudian segarkan.",
|
||||
'is_writable' => "bisa ditulis, tetapi izin tidak disetel dengan benar. Setel ke 750 dan segarkan.",
|
||||
'item_markup' => "",
|
||||
'jsprintsetup_required' => "Perhatian! Fungsi ini hanya berjalan jika anda menggunakan Firefox yang memiliki tambahan jsPrintSetup. Tetap simpan?",
|
||||
'language' => "Bahasa",
|
||||
'last_used_invoice_number' => "Nomor terakhir faktur",
|
||||
'last_used_quote_number' => "Nomor Penawaran yang terakhir digunakan",
|
||||
'last_used_work_order_number' => "Nomor W/O yang terakhir dipakai",
|
||||
'left' => "Kiri",
|
||||
'license' => "Lisensi",
|
||||
'license_configuration' => "Pernyataan Lisensi",
|
||||
'line_sequence' => "Urutan baris",
|
||||
'lines_per_page' => "Baris per halaman",
|
||||
'lines_per_page_number' => "Baris per halaman harus berupa angka.",
|
||||
'lines_per_page_required' => "Baris per halaman tidak boleh kosong.",
|
||||
'locale' => "Terjemahan",
|
||||
'locale_configuration' => "Konfigurasi Terjemahan",
|
||||
'locale_info' => "Informasi Konfigurasi Terjemahan",
|
||||
'location' => "Lokasi Stock",
|
||||
'location_configuration' => "Lokasi Stock",
|
||||
'location_info' => "Informasi konfigurasi lokasi stock",
|
||||
'login_form' => "Gaya Formulir Log Masuk",
|
||||
'logout' => "Apakah Anda akan membuat cadangan sebelum anda keluar? Klik [OK] untuk pencadangan, [Batal] untuk keluar.",
|
||||
'mailchimp' => "MailChimp",
|
||||
'mailchimp_api_key' => "Kunci API MailChimp",
|
||||
'mailchimp_configuration' => "Pengaturan MailChimp",
|
||||
'mailchimp_key_successfully' => "Kunci API benar.",
|
||||
'mailchimp_key_unsuccessfully' => "Kunci API tidak valid.",
|
||||
'mailchimp_lists' => "Daftar MailChimp",
|
||||
'mailchimp_tooltip' => "Klik pada ikon untuk KUnci API.",
|
||||
'message' => "Pesan",
|
||||
'message_configuration' => "Pengaturan Pesan",
|
||||
'msg_msg' => "Pesan teks tersimpan",
|
||||
'msg_msg_placeholder' => "Apakah Anda ingin menggunakan template SMS menyimpan pesan Anda disini? Jika tidak, biarkan kosong.",
|
||||
'msg_pwd' => "SMS-API Password",
|
||||
'msg_pwd_required' => "SMS-API Password harus diisi",
|
||||
'msg_src' => "ID pengirim SMS-API",
|
||||
'msg_src_required' => "SMS-API Sender ID harus diisi",
|
||||
'msg_uid' => "SMS-API User Name",
|
||||
'msg_uid_required' => "SMS-API Username harus diisi",
|
||||
'multi_pack_enabled' => "Multi paket per item",
|
||||
'no_risk' => "Tidak ada risiko keamanan / kerentanan.",
|
||||
'none' => "none",
|
||||
'notify_alignment' => "Posisi notifikasi Popup",
|
||||
'number_format' => "Format Nomor",
|
||||
'number_locale' => "Terjemahan",
|
||||
'number_locale_invalid' => "Kode bahasa salah. Cek tautan pada tooltip untuk mendapatkan kode bahasa yang benar.",
|
||||
'number_locale_required' => "Kode Lokal wajib diisi.",
|
||||
'number_locale_tooltip' => "Menemukan kode lokal melalui link ini.",
|
||||
'os_timezone' => "Zona waktu OSPOS:",
|
||||
'ospos_info' => "Info pemasangan OSPOS",
|
||||
'payment_options_order' => "Urutan pilihan pembayaran",
|
||||
'perm_risk' => "Setelan izin yang salah berbahaya bagi keamanan perangkat lunak.",
|
||||
'phone' => "Telepon Perusahaan",
|
||||
'phone_required' => "Telepon Perusahaan wajib diisi.",
|
||||
'print_bottom_margin' => "Margin Bawah",
|
||||
'print_bottom_margin_number' => "Default margin bawah harus angka.",
|
||||
'print_bottom_margin_required' => "Default margin Bawah harus di isi.",
|
||||
'print_delay_autoreturn' => "Otomatis Retur pada penundaan Penjualan",
|
||||
'print_delay_autoreturn_number' => "Kolom Otomatis Retur pada Penundaan Penjualan harus diisi.",
|
||||
'print_delay_autoreturn_required' => "Pengembalian otomatis untuk Penjualan tertunda harus berupa angka.",
|
||||
'print_footer' => "Mencetak Footer Browser",
|
||||
'print_header' => "Mencetak Browser Header",
|
||||
'print_left_margin' => "Margin Kiri",
|
||||
'print_left_margin_number' => "Margin kiri harus berupa angka.",
|
||||
'print_left_margin_required' => "Margin kiri wajib di isi.",
|
||||
'print_receipt_check_behaviour' => "Centang Cetak Struk",
|
||||
'print_receipt_check_behaviour_always' => "Selalu dicentang",
|
||||
'print_receipt_check_behaviour_last' => "Ingat pilihan terakhir",
|
||||
'print_receipt_check_behaviour_never' => "Selalu tidak dicentang",
|
||||
'print_right_margin' => "Margin kanan",
|
||||
'print_right_margin_number' => "Margin kiri harus berupa angka.",
|
||||
'print_right_margin_required' => "Margin kanan wajib di isi.",
|
||||
'print_silently' => "Tampilkan Print Dialog",
|
||||
'print_top_margin' => "Margin atas",
|
||||
'print_top_margin_number' => "Nilai margin atas harus di isi angka.",
|
||||
'print_top_margin_required' => "Margin atas wajib di isi.",
|
||||
'quantity_decimals' => "Desimal untuk Jumlah",
|
||||
'quick_cash_enable' => "",
|
||||
'quote_default_comments' => "Komentar faktur",
|
||||
'receipt' => "Struk Penerimaan",
|
||||
'receipt_category' => "",
|
||||
'receipt_configuration' => "Struk Print Settings",
|
||||
'receipt_default' => "Default",
|
||||
'receipt_font_size' => "Ukuran Font",
|
||||
'receipt_font_size_number' => "Ukuran font harus berupa angka.",
|
||||
'receipt_font_size_required' => "Ukuran font harus diisi.",
|
||||
'receipt_info' => "Struk Konfigurasi Informasi",
|
||||
'receipt_printer' => "Tiket Printer",
|
||||
'receipt_short' => "Ringkas",
|
||||
'receipt_show_company_name' => "Tampilkan nama perusahaan",
|
||||
'receipt_show_description' => "Tampilkan deskripsi",
|
||||
'receipt_show_serialnumber' => "Tampilkan nomor seri",
|
||||
'receipt_show_tax_ind' => "Tampilkan Indikator Pajak",
|
||||
'receipt_show_taxes' => "Tampilkan pajak",
|
||||
'receipt_show_total_discount' => "Tampilkan total diskon",
|
||||
'receipt_template' => "Template struk",
|
||||
'receiving_calculate_average_price' => "Menghitung harga rata-rata (Penerimaan)",
|
||||
'recv_invoice_format' => "Format Faktur",
|
||||
'register_mode_default' => "Default register mode",
|
||||
'report_an_issue' => "Laporkan masalah",
|
||||
'return_policy_required' => "Kebijakan retur wajib diisi.",
|
||||
'reward' => "Hadiah",
|
||||
'reward_configuration' => "Konfigurasi Hadiah",
|
||||
'right' => "Kanan",
|
||||
'sales_invoice_format' => "Format Faktur Penjualan",
|
||||
'sales_quote_format' => "Format Penawaran Penjualan",
|
||||
'saved_successfully' => "Konfigurasi berhasil disimpan.",
|
||||
'saved_unsuccessfully' => "Konfigurasi tidak berhasil disimpan.",
|
||||
'security_issue' => "Peringatan Kerentanan Keamanan",
|
||||
'server_notice' => "Silakan gunakan info di bawah ini untuk pelaporan masalah.",
|
||||
'service_charge' => "",
|
||||
'show_due_enable' => "",
|
||||
'show_office_group' => "Tampilkan ikon kantor",
|
||||
'statistics' => "Kirim statistik",
|
||||
'statistics_tooltip' => "Kirim statistik untuk pengembangan dan peningkatan fitur.",
|
||||
'stock_location' => "Lokasi Stock",
|
||||
'stock_location_duplicate' => "Gunakan nama yang unik untuk lokasi stock.",
|
||||
'stock_location_invalid_chars' => "Nama lokasi tidak boleh berisi karakter '_'.",
|
||||
'stock_location_required' => "Nomor lokasi stock harus diisi.",
|
||||
'suggestions_fifth_column' => "",
|
||||
'suggestions_first_column' => "Kolom 1",
|
||||
'suggestions_fourth_column' => "",
|
||||
'suggestions_layout' => "Tampilan Saran Pencarian",
|
||||
'suggestions_second_column' => "Kolom 2",
|
||||
'suggestions_third_column' => "Kolom 3",
|
||||
'system_conf' => "Setting & Conf",
|
||||
'system_info' => "System Info",
|
||||
'table' => "Meja",
|
||||
'table_configuration' => "Konfigurasi Meja",
|
||||
'takings_printer' => "Struk Printer",
|
||||
'tax' => "Pajak",
|
||||
'tax_category' => "Kategori Pajak",
|
||||
'tax_category_duplicate' => "Kategori pajak yang dimasukkan sudah ada.",
|
||||
'tax_category_invalid_chars' => "Kategori pajak yang dimasukkan tidak valid.",
|
||||
'tax_category_required' => "Kategori pajak dibutuhkan.",
|
||||
'tax_category_used' => "Kategori pajak tidak bisa dihapus karena sedang digunakan.",
|
||||
'tax_configuration' => "Konfigurasi Pajak",
|
||||
'tax_decimals' => "Pajak Decimals",
|
||||
'tax_id' => "Id Pajak",
|
||||
'tax_included' => "Dikenakan Pajak",
|
||||
'theme' => "Tema",
|
||||
'theme_preview' => "Pratinjau Tema:",
|
||||
'thousands_separator' => "Pemisah Ribuan",
|
||||
'timezone' => "Zona Waktu",
|
||||
'timezone_error' => "Zona Waktu OSPOS berbeda dari Zona Waktu Anda.",
|
||||
'top' => "Atas",
|
||||
'use_destination_based_tax' => "Gunakan Pajak Berdasarkan Tujuan",
|
||||
'user_timezone' => "Zona waktu lokal:",
|
||||
'website' => "Situs Perusahaan",
|
||||
'wholesale_markup' => "",
|
||||
'work_order_enable' => "Dukungan Work Order",
|
||||
'work_order_format' => "Format Work Order",
|
||||
];
|
||||
|
||||
@@ -1,56 +1,57 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"account_number" => "Akun #",
|
||||
"account_number_duplicate" => "Nomor akun ini telah ada di basis data.",
|
||||
"available_points" => "Poin tersedia",
|
||||
"available_points_value" => "",
|
||||
"average" => "Rata-rata yang dihabiskan",
|
||||
"avg_discount" => "Rata-rata diskon",
|
||||
"basic_information" => "Informasi",
|
||||
"cannot_be_deleted" => "Pelanggan terpilih tidak bisa dihapus. satu atau lebih dari pelanggan yang dipilih memiliki penjualan.",
|
||||
"company_name" => "Perusahaan",
|
||||
"confirm_delete" => "Apakah Anda yakin ingin menghapus pelanggan yang dipilih?",
|
||||
"confirm_restore" => "Anda yakin akan mengembalikan pelanggan terpilih?",
|
||||
"consent" => "Persetujuan pendaftaran",
|
||||
"consent_required" => "Persetujuan pendaftaran adalah bidang yang harus diisi.",
|
||||
"csv_import_failed" => "Impor dari CSV gagal",
|
||||
"csv_import_nodata_wrongformat" => "Berkas yang Anda unggah tidak berisi data atau salah format.",
|
||||
"csv_import_partially_failed" => "Impor pelanggan berhasil dwngan beberapa kesalahan:",
|
||||
"csv_import_success" => "Impor pelanggan berhasil.",
|
||||
"customer" => "Pelanggan",
|
||||
"date" => "Tanggal",
|
||||
"discount" => "Diskon",
|
||||
"discount_fixed" => "Diskon Tetap",
|
||||
"discount_percent" => "Persentase Diskon",
|
||||
"discount_type" => "Jenis Diskon",
|
||||
"email_duplicate" => "Alamat email telah digunakan.",
|
||||
"employee" => "Karyawan",
|
||||
"error_adding_updating" => "Kesalahan ketika menambah atau memperbaharui pelanggan.",
|
||||
"import_items_csv" => "Impor pelanggan dari CSV",
|
||||
"mailchimp_activity_click" => "Klik Email",
|
||||
"mailchimp_activity_lastopen" => "Email yang terakhir dibuka",
|
||||
"mailchimp_activity_open" => "Buka email",
|
||||
"mailchimp_activity_total" => "Email terkirim",
|
||||
"mailchimp_activity_unopen" => "Email belum dibuka",
|
||||
"mailchimp_email_client" => "Klien email",
|
||||
"mailchimp_info" => "MailChimp",
|
||||
"mailchimp_member_rating" => "Peringkat",
|
||||
"mailchimp_status" => "Status",
|
||||
"mailchimp_vip" => "VIP",
|
||||
"max" => "Max. dihabiskan",
|
||||
"min" => "Min. dihabiskan",
|
||||
"new" => "Pelanggan Baru",
|
||||
"none_selected" => "Anda belum memilih pelanggan untuk dihapus.",
|
||||
"one_or_multiple" => "Pelanggan",
|
||||
"quantity" => "Kuantitas",
|
||||
"stats_info" => "Statistik",
|
||||
"successful_adding" => "Anda telah berhasil menambah pelanggan",
|
||||
"successful_deleted" => "Anda telah berhasil menghapus pelanggan",
|
||||
"successful_updating" => "Anda telah berhasil memperbarui pelanggan",
|
||||
"tax_code" => "Kode pajak",
|
||||
"tax_id" => "ID Pajak",
|
||||
"taxable" => "Dikenakan pajak",
|
||||
"total" => "Total",
|
||||
"update" => "Ubah Pelanggan",
|
||||
"rewards_package" => "Paket Hadiah",
|
||||
'account_number' => "Akun #",
|
||||
'account_number_duplicate' => "Nomor akun ini telah ada di basis data.",
|
||||
'available_points' => "Poin tersedia",
|
||||
'available_points_value' => "",
|
||||
'average' => "Rata-rata yang dihabiskan",
|
||||
'avg_discount' => "Rata-rata diskon",
|
||||
'basic_information' => "Informasi",
|
||||
'cannot_be_deleted' => "Pelanggan terpilih tidak bisa dihapus. satu atau lebih dari pelanggan yang dipilih memiliki penjualan.",
|
||||
'company_name' => "Perusahaan",
|
||||
'confirm_delete' => "Apakah Anda yakin ingin menghapus pelanggan yang dipilih?",
|
||||
'confirm_restore' => "Anda yakin akan mengembalikan pelanggan terpilih?",
|
||||
'consent' => "Persetujuan pendaftaran",
|
||||
'consent_required' => "Persetujuan pendaftaran adalah bidang yang harus diisi.",
|
||||
'csv_import_failed' => "Gagal impor CSV",
|
||||
'csv_import_nodata_wrongformat' => "Berkas yang Anda unggah tidak berisi data atau salah format.",
|
||||
'csv_import_partially_failed' => "Impor pelanggan berhasil dwngan beberapa kesalahan:",
|
||||
'csv_import_success' => "Impor pelanggan berhasil.",
|
||||
'customer' => "Pelanggan",
|
||||
'date' => "Tanggal",
|
||||
'discount' => "Diskon",
|
||||
'discount_fixed' => "Diskon Tetap",
|
||||
'discount_percent' => "Persentase Diskon",
|
||||
'discount_type' => "Jenis Diskon",
|
||||
'email_duplicate' => "Alamat email telah digunakan.",
|
||||
'employee' => "Karyawan",
|
||||
'error_adding_updating' => "Kesalahan ketika menambah atau memperbaharui pelanggan.",
|
||||
'import_items_csv' => "Impor pelanggan dari CSV",
|
||||
'mailchimp_activity_click' => "Klik Email",
|
||||
'mailchimp_activity_lastopen' => "Email yang terakhir dibuka",
|
||||
'mailchimp_activity_open' => "Buka email",
|
||||
'mailchimp_activity_total' => "Email terkirim",
|
||||
'mailchimp_activity_unopen' => "Email belum dibuka",
|
||||
'mailchimp_email_client' => "Klien email",
|
||||
'mailchimp_info' => "MailChimp",
|
||||
'mailchimp_member_rating' => "Peringkat",
|
||||
'mailchimp_status' => "Status",
|
||||
'mailchimp_vip' => "VIP",
|
||||
'max' => "Max. dihabiskan",
|
||||
'min' => "Min. dihabiskan",
|
||||
'new' => "Pelanggan Baru",
|
||||
'none_selected' => "Anda belum memilih pelanggan untuk dihapus.",
|
||||
'one_or_multiple' => "Pelanggan",
|
||||
'quantity' => "Kuantitas",
|
||||
'stats_info' => "Statistik",
|
||||
'successful_adding' => "Anda telah berhasil menambah pelanggan",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'successful_updating' => "Anda telah berhasil memperbarui pelanggan",
|
||||
'tax_code' => "Kode pajak",
|
||||
'tax_id' => "ID Pajak",
|
||||
'taxable' => "Dikenakan pajak",
|
||||
'total' => "Total",
|
||||
'update' => "Ubah Pelanggan",
|
||||
'rewards_package' => "Paket Hadiah",
|
||||
];
|
||||
|
||||
@@ -1,44 +1,45 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"administrator" => "",
|
||||
"basic_information" => "Informasi Karyawan",
|
||||
"cannot_be_deleted" => "Karyawan terpilih tidak bisa dihapus satu atau lebih dari para pekerja telah memproses penjualan atau Anda mencoba untuk menghapus diri Anda sendiri.",
|
||||
"change_employee" => "",
|
||||
"change_password" => "Ubah kata kunci",
|
||||
"clerk" => "",
|
||||
"commission" => "",
|
||||
"confirm_delete" => "Apakah Anda yakin ingin menghapus karyawan yang dipilih?",
|
||||
"confirm_restore" => "Anda yakin ingin mengembalikan karyawan terpilih?",
|
||||
"current_password" => "Kata kunci sekarang",
|
||||
"current_password_invalid" => "Kata kunci sekarang salah.",
|
||||
"employee" => "Karyawan",
|
||||
"error_adding_updating" => "Kesalahan menambah / memperbarui karyawan.",
|
||||
"error_deleting_demo_admin" => "Anda tidak dapat menghapus Demo admin user.",
|
||||
"error_updating_demo_admin" => "Anda tidak dapat mengubah Demo admin user.",
|
||||
"language" => "Bahasa",
|
||||
"login_info" => "Info Login Karyawan",
|
||||
"manager" => "",
|
||||
"new" => "Karyawan Baru",
|
||||
"none_selected" => "Anda belum memilih karyawan untuk dihapus.",
|
||||
"one_or_multiple" => "Karyawan",
|
||||
"password" => "Kata Sandi",
|
||||
"password_minlength" => "Kata kunci minimal terdiri dari 8 karakter.",
|
||||
"password_must_match" => "Kata Sandi tidak cocok.",
|
||||
"password_not_must_match" => "Kata kunci sekarang dan kata kunci baru harus unik.",
|
||||
"password_required" => "Kata Sandi wajib diisi.",
|
||||
"permission_desc" => "Tandai kotak di bawah ini untuk memberikan akses ke Modul.",
|
||||
"permission_info" => "Hak Akses Karyawan",
|
||||
"repeat_password" => "Ulang Kata Sandi",
|
||||
"subpermission_required" => "Paling tidak tambahkan satu hak akses untuk setiap modul.",
|
||||
"successful_adding" => "Anda telah berhasil menambahkan karyawan.",
|
||||
"successful_change_password" => "Kata kunci berhasil diubah.",
|
||||
"successful_deleted" => "Anda telah berhasil menghapus",
|
||||
"successful_updating" => "Anda telah berhasil memperbarui karyawan",
|
||||
"system_language" => "Bahasa Sistem",
|
||||
"unsuccessful_change_password" => "Gagal mengubah kata sandi.",
|
||||
"update" => "Ubah Karyawan",
|
||||
"username" => "Nama Pengguna",
|
||||
"username_duplicate" => "Nama pengguna karyawan sudah digunakan. Silakan pilih yang lain.",
|
||||
"username_minlength" => "Nama Pengguna minimal 5 huruf.",
|
||||
"username_required" => "Nama Pengguna wajib diisi.",
|
||||
'administrator' => "",
|
||||
'basic_information' => "Informasi Karyawan",
|
||||
'cannot_be_deleted' => "Karyawan terpilih tidak bisa dihapus satu atau lebih dari para pekerja telah memproses penjualan atau Anda mencoba untuk menghapus diri Anda sendiri.",
|
||||
'change_employee' => "",
|
||||
'change_password' => "Ubah kata kunci",
|
||||
'clerk' => "",
|
||||
'commission' => "",
|
||||
'confirm_delete' => "Apakah Anda yakin ingin menghapus karyawan yang dipilih?",
|
||||
'confirm_restore' => "Anda yakin ingin mengembalikan karyawan terpilih?",
|
||||
'current_password' => "Kata kunci sekarang",
|
||||
'current_password_invalid' => "Kata kunci sekarang salah.",
|
||||
'employee' => "Karyawan",
|
||||
'error_adding_updating' => "Kesalahan menambah / memperbarui karyawan.",
|
||||
'error_deleting_demo_admin' => "Anda tidak dapat menghapus Demo admin user.",
|
||||
'error_updating_demo_admin' => "Anda tidak dapat mengubah Demo admin user.",
|
||||
'language' => "Bahasa",
|
||||
'login_info' => "Info Login Karyawan",
|
||||
'manager' => "",
|
||||
'new' => "Karyawan Baru",
|
||||
'none_selected' => "Anda belum memilih karyawan untuk dihapus.",
|
||||
'one_or_multiple' => "Karyawan",
|
||||
'password' => "Kata Sandi",
|
||||
'password_minlength' => "Kata kunci minimal terdiri dari 8 karakter.",
|
||||
'password_must_match' => "Kata Sandi tidak cocok.",
|
||||
'password_not_must_match' => "Kata kunci sekarang dan kata kunci baru harus unik.",
|
||||
'password_required' => "Kata Sandi wajib diisi.",
|
||||
'permission_desc' => "Tandai kotak di bawah ini untuk memberikan akses ke Modul.",
|
||||
'permission_info' => "Hak Akses Karyawan",
|
||||
'repeat_password' => "Ulang Kata Sandi",
|
||||
'subpermission_required' => "Paling tidak tambahkan satu hak akses untuk setiap modul.",
|
||||
'successful_adding' => "Anda telah berhasil menambahkan karyawan.",
|
||||
'successful_change_password' => "Kata kunci berhasil diubah.",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'successful_updating' => "Anda telah berhasil memperbarui karyawan",
|
||||
'system_language' => "Bahasa Sistem",
|
||||
'unsuccessful_change_password' => "Gagal mengubah kata sandi.",
|
||||
'update' => "Ubah Karyawan",
|
||||
'username' => "Nama Pengguna",
|
||||
'username_duplicate' => "Nama pengguna karyawan sudah digunakan. Silakan pilih yang lain.",
|
||||
'username_minlength' => "Nama Pengguna minimal 5 huruf.",
|
||||
'username_required' => "Nama Pengguna wajib diisi.",
|
||||
];
|
||||
|
||||
@@ -1,71 +1,72 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_minus" => "Penambahan atau pengurangan inventory.",
|
||||
"allow_alt_description" => "Deskripsi Alternatif dimungkinkan",
|
||||
"bulk_edit" => "Ubah Massal",
|
||||
"cannot_be_deleted" => "Tidak dapat menghapus GiftCard terpilih, Satu atau lebih GiftCard yang dipilih memiliki Penjualan.",
|
||||
"cannot_find_giftcard" => "Informasi GiftCard tidak ditemukan.",
|
||||
"cannot_use" => "Giftcard {0} tidak dapat digunakan: Pelanggan tidak valid.",
|
||||
"card_value" => "Nilai",
|
||||
"category" => "Kategori",
|
||||
"change_all_to_allow_alt_desc" => "Diijinkan deskripsi alternatif untuk semua.",
|
||||
"change_all_to_not_allow_allow_desc" => "Tidak diijinkan deskripsi alternatif untuk semua.",
|
||||
"change_all_to_serialized" => "Ubah semua menggunakan nomor serial",
|
||||
"change_all_to_unserialized" => "Ubah semua tanpa nomor serial",
|
||||
"confirm_bulk_edit" => "Apakah Anda yakin ingin merubah semua GiftCard yang dipilih?",
|
||||
"confirm_delete" => "Apakah anda yakin ingin menghapus GiftCard yang dipilih?",
|
||||
"confirm_restore" => "Apakah Anda yakin akan mengembalikan Gift Card terpilih?",
|
||||
"cost_price" => "Harga Pokok",
|
||||
"count" => "Mutasi/Penyesuaian Inventori",
|
||||
"csv_import_failed" => "Impor dari CSV gagal.",
|
||||
"current_quantity" => "Jumlah saat ini",
|
||||
"description" => "Deskripsi",
|
||||
"details_count" => "Jumlah Detail Inventori",
|
||||
"do_nothing" => "Tidak ada Perubahan",
|
||||
"edit_fields_you_want_to_update" => "Ubah bagian yang ingin Anda edit untuk SEMUA GiftCard yang dipilih.",
|
||||
"edit_multiple_giftcards" => "Ubah beberapa GiftCard.",
|
||||
"error_adding_updating" => "Kesalahan ketika menambahkan/memperbaharui GiftCard.",
|
||||
"error_updating_multiple" => "Gagal memperbaharui Giftcard.",
|
||||
"generate_barcodes" => "Buat Barcode",
|
||||
"giftcard" => "GiftCard",
|
||||
"giftcard_number" => "Nomor GiftCard",
|
||||
"info_provided_by" => "Informasi disediakan oleh",
|
||||
"inventory_comments" => "Keterangan",
|
||||
"is_serialized" => "GiftCard Memiliki Nomor Serial",
|
||||
"low_inventory_giftcards" => "GiftCard Inventori Rendah",
|
||||
"manually_editing_of_quantity" => "Perubahan jumlah Stok secara manual",
|
||||
"must_select_giftcard_for_barcode" => "Anda harus memilih minimal satu (1) GiftCard untuk membuat Barcode.",
|
||||
"new" => "GiftCard Baru",
|
||||
"no_description_giftcards" => "Tidak ada Deskripsi Gift Card",
|
||||
"no_giftcards_to_display" => "Tidak ada GiftCard yang ditampilkan.",
|
||||
"none" => "Tidak Ada",
|
||||
"none_selected" => "Anda belum memilih GiftCard untuk diubah.",
|
||||
"number" => "Nomor GiftCard harus angka.",
|
||||
"number_information" => "Nomor GiftCard",
|
||||
"number_required" => "Nomor GiftCard wajib diisi.",
|
||||
"one_or_multiple" => "GiftCard",
|
||||
"person_id" => "Nomor Pelanggan",
|
||||
"quantity" => "Jumlah",
|
||||
"quantity_required" => "Jumlah wajib diisi. Silahkan tutup ( X ) untuk batal.",
|
||||
"remaining_balance" => "Giftcard {0} tersisa {1}!",
|
||||
"reorder_level" => "Level Pesan Ulang",
|
||||
"retrive_giftcard_info" => "Informasi GiftCard",
|
||||
"sales_tax_1" => "Pajak Penjualan",
|
||||
"sales_tax_2" => "Pajak Penjualan 2",
|
||||
"serialized_giftcards" => "Serial GiftCard",
|
||||
"successful_adding" => "GiftCard telah berhasil ditambahkan",
|
||||
"successful_bulk_edit" => "Anda telah berhasil memperbarui GiftCard yang dipilih",
|
||||
"successful_deleted" => "GiftCard telah berhasil dihapus",
|
||||
"successful_updating" => "GiftCard telah berhasil diperbarui",
|
||||
"supplier" => "Pemasok",
|
||||
"tax_1" => "Pajak 1",
|
||||
"tax_2" => "Pajak 2",
|
||||
"tax_percent" => "Persen Pajak",
|
||||
"tax_percents" => "Persentase Pajak",
|
||||
"unit_price" => "Harga Jual",
|
||||
"upc_database" => "Database UPC",
|
||||
"update" => "Ubah GiftCard",
|
||||
"use_inventory_menu" => "Gunakan Inv. Menu",
|
||||
"value" => "Nilai GiftCard harus angka.",
|
||||
"value_required" => "Nilai GiftCard wajib diisi.",
|
||||
'add_minus' => "Tambah atau kurangi Inventori.",
|
||||
'allow_alt_description' => "Izinkan Deskripsi Alternatif",
|
||||
'bulk_edit' => "Ubah Massal",
|
||||
'cannot_be_deleted' => "Kartu Hadiah tidak dapat dihapus, satu atau beberapa di antaranya memiliki penjualan.",
|
||||
'cannot_find_giftcard' => "Kartu Hadiah tidak ditemukan.",
|
||||
'cannot_use' => "Kartu Hadiah {0} tidak dapat digunakan: Pelanggan tidak valid.",
|
||||
'card_value' => "Nilai",
|
||||
'category' => "Kategori",
|
||||
'change_all_to_allow_alt_desc' => "Izinkan deskripsi alternatif untuk semua.",
|
||||
'change_all_to_not_allow_allow_desc' => "Tidak diizinkan deskripsi alternatif untuk semua.",
|
||||
'change_all_to_serialized' => "Ubah semua jadi berseri",
|
||||
'change_all_to_unserialized' => "Ubah semua menjadi tidak berseri",
|
||||
'confirm_bulk_edit' => "Apakah Anda ingin edit Kartu Hadiah terpilih?",
|
||||
'confirm_delete' => "Anda yakin ingin menghapus Kartu Hadiah terpilih?",
|
||||
'confirm_restore' => "Anda yakin ingin memulihkan Kartu Hadiah terpilih?",
|
||||
'cost_price' => "Harga Beli",
|
||||
'count' => "Mutasi Inventori",
|
||||
'csv_import_failed' => "Impor dari CSV gagal.",
|
||||
'current_quantity' => "Jumlah saat ini",
|
||||
'description' => "Deskripsi",
|
||||
'details_count' => "Jumlah Detail Inventori",
|
||||
'do_nothing' => "Tidak ada Perubahan",
|
||||
'edit_fields_you_want_to_update' => "Edit kolom yang diinginkan pada Kartu Hadiah terpilih.",
|
||||
'edit_multiple_giftcards' => "Edit beberapa Kartu Hadiah.",
|
||||
'error_adding_updating' => "Gagal menambah atau memperbarui Kartu Hadiah.",
|
||||
'error_updating_multiple' => "Gagal memperbaharui Kartu Hadiah.",
|
||||
'generate_barcodes' => "Buat Barcode",
|
||||
'giftcard' => "Kartu Hadiah",
|
||||
'giftcard_number' => "Nomor Kartu Hadiah",
|
||||
'info_provided_by' => "Info disediakan oleh",
|
||||
'inventory_comments' => "Keterangan",
|
||||
'is_serialized' => "Kartu Hadiah memiliki nomor seri",
|
||||
'low_inventory_giftcards' => "Kartu Hadiah Inventori Rendah",
|
||||
'manually_editing_of_quantity' => "Edit manual kuantitas",
|
||||
'must_select_giftcard_for_barcode' => "Anda harus pilih setidaknya satu (1) Kartu Hadiah untuk membuat barcode.",
|
||||
'new' => "Kartu Hadiah baru",
|
||||
'no_description_giftcards' => "Tidak ada deskripsi Kartu Hadiah",
|
||||
'no_giftcards_to_display' => "Tidak ada Kartu Hadiah yang ditampilkan.",
|
||||
'none' => "Tidak Ada",
|
||||
'none_selected' => "Belum ada Kartu Hadiah terpilih untuk diedit.",
|
||||
'number' => "Nomor Kartu Hadiah harus angka.",
|
||||
'number_information' => "Nomor Kartu Hadiah",
|
||||
'number_required' => "Nomor Kartu Hadiah wajib diisi.",
|
||||
'one_or_multiple' => "Kartu Hadiah",
|
||||
'person_id' => "Pelanggan",
|
||||
'quantity' => "Jumlah",
|
||||
'quantity_required' => "Jumlah wajib diisi. Silahkan tutup ( X ) untuk batal.",
|
||||
'remaining_balance' => "Kartu Hadiah {0} tersisa {1}!",
|
||||
'reorder_level' => "Level pesan ulang",
|
||||
'retrive_giftcard_info' => "Informasi Kartu Hadiah",
|
||||
'sales_tax_1' => "Pajak Penjualan",
|
||||
'sales_tax_2' => "Pajak Penjualan 2",
|
||||
'serialized_giftcards' => "Kartu Hadiah berseri",
|
||||
'successful_adding' => "Berhasil menambahkan Kartu Hadiah",
|
||||
'successful_bulk_edit' => "Berhasil memperbarui Kartu Hadiah terpilih",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'successful_updating' => "Berhasil perbarui Kartu Hadiah",
|
||||
'supplier' => "Pemasok",
|
||||
'tax_1' => "Pajak 1",
|
||||
'tax_2' => "Pajak 2",
|
||||
'tax_percent' => "Persentasi Pajak",
|
||||
'tax_percents' => "Persentase Pajak",
|
||||
'unit_price' => "Harga Jual",
|
||||
'upc_database' => "Basis data Barcode",
|
||||
'update' => "Perbarui Kartu Hadiah",
|
||||
'use_inventory_menu' => "Gunakan Inv. Menu",
|
||||
'value' => "Nilai Kartu Hadiah harus angka.",
|
||||
'value_required' => "Nilai Kartu Hadiah wajib diisi.",
|
||||
];
|
||||
|
||||
@@ -1,41 +1,42 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_item" => "Tambah Item Barang",
|
||||
"all" => "Semua",
|
||||
"cannot_be_deleted" => "Item Paket tidak dapat dihapus.",
|
||||
"confirm_delete" => "Apakah Anda yakin ingin menghapus Item Paket dipilih?",
|
||||
"confirm_restore" => "Apakah Anda yakin untuk mengembalikan Kit Item yang terpilih?",
|
||||
"description" => "Deskripsi Item Paket",
|
||||
"discount" => "Diskon",
|
||||
"discount_fixed" => "Diskon Tetap",
|
||||
"discount_percent" => "Persentase Diskon",
|
||||
"discount_type" => "Jenis Diskon",
|
||||
"error_adding_updating" => "Tambah/Ubah Item Paket tidak berhasil.",
|
||||
"find_kit_item" => "Paket Item",
|
||||
"info" => "Item Paket Info",
|
||||
"item" => "Item Barang",
|
||||
"item_kit_number" => "Kode bar",
|
||||
"item_kit_number_duplicate" => "Nomor Paket Item telah ada di basis data.",
|
||||
"item_number" => "",
|
||||
"item_number_duplicate" => "",
|
||||
"items" => "Item Barang",
|
||||
"kit" => "ID Paket",
|
||||
"kit_and_components" => "Kit dan komponen",
|
||||
"kit_and_stock" => "Kit dan Stok",
|
||||
"kit_only" => "Hanya Kit",
|
||||
"name" => "Nama Item Paket",
|
||||
"new" => "Item Paket Baru",
|
||||
"no_item_kits_to_display" => "Tidak ada Item Paket yang ditampilkan.",
|
||||
"none_selected" => "Anda belum memilih satupun Item Paket.",
|
||||
"one_or_multiple" => "Item Paket",
|
||||
"price_option" => "Opsi Harga",
|
||||
"priced_only" => "Hanya Harga",
|
||||
"print_option" => "Opsi Cetak",
|
||||
"quantity" => "Jumlah",
|
||||
"sequence" => "Urutan",
|
||||
"successful_adding" => "Item Paket Baru berhasil ditambahkan",
|
||||
"successful_deleted" => "Item Paket berhasil dihapus",
|
||||
"successful_updating" => "Item Paket berhasil dirubah",
|
||||
"unit_price" => "",
|
||||
"update" => "Ubah Item Paket",
|
||||
'add_item' => "Tambah Item Barang",
|
||||
'all' => "Semua",
|
||||
'cannot_be_deleted' => "Item Paket tidak dapat dihapus.",
|
||||
'confirm_delete' => "Apakah Anda yakin ingin menghapus Item Paket dipilih?",
|
||||
'confirm_restore' => "Apakah Anda yakin untuk mengembalikan Kit Item yang terpilih?",
|
||||
'description' => "Deskripsi Item Paket",
|
||||
'discount' => "Diskon",
|
||||
'discount_fixed' => "Diskon Tetap",
|
||||
'discount_percent' => "Persentase Diskon",
|
||||
'discount_type' => "Jenis Diskon",
|
||||
'error_adding_updating' => "Tambah/Ubah Item Paket tidak berhasil.",
|
||||
'find_kit_item' => "Paket Item",
|
||||
'info' => "Item Paket Info",
|
||||
'item' => "Item Barang",
|
||||
'item_kit_number' => "Kode bar",
|
||||
'item_kit_number_duplicate' => "Nomor Paket Item telah ada di basis data.",
|
||||
'item_number' => "",
|
||||
'item_number_duplicate' => "",
|
||||
'items' => "Item Barang",
|
||||
'kit' => "ID Paket",
|
||||
'kit_and_components' => "Kit dan komponen",
|
||||
'kit_and_stock' => "Kit dan Stok",
|
||||
'kit_only' => "Hanya Kit",
|
||||
'name' => "Nama Item Paket",
|
||||
'new' => "Item Paket Baru",
|
||||
'no_item_kits_to_display' => "Tidak ada Item Paket yang ditampilkan.",
|
||||
'none_selected' => "Anda belum memilih satupun Item Paket.",
|
||||
'one_or_multiple' => "Item Paket",
|
||||
'price_option' => "Opsi Harga",
|
||||
'priced_only' => "Hanya Harga",
|
||||
'print_option' => "Opsi Cetak",
|
||||
'quantity' => "Jumlah",
|
||||
'sequence' => "Urutan",
|
||||
'successful_adding' => "Item Paket Baru berhasil ditambahkan",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'successful_updating' => "Item Paket berhasil dirubah",
|
||||
'unit_price' => "",
|
||||
'update' => "Ubah Item Paket",
|
||||
];
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<?php
|
||||
return [
|
||||
'add_minus' => "Menambah atau mengurangi Inventori.",
|
||||
'allow_alt_description' => "Deskripsi Alternatif dimungkinkan",
|
||||
|
||||
return [
|
||||
'add_minus' => "Tambah atau kurangi Inventori.",
|
||||
'allow_alt_description' => "Izinkan Deskripsi Alternatif",
|
||||
'amount_entry' => "Jumlah entri",
|
||||
'bulk_edit' => "Ubah Massal",
|
||||
'buy_price_required' => "Harga Beli wajib diisi.",
|
||||
@@ -13,22 +14,22 @@
|
||||
'category_required' => "Kategori wajib diisi.",
|
||||
'change_all_to_allow_alt_desc' => "Izinkan deskripsi alternatif untuk semua.",
|
||||
'change_all_to_not_allow_allow_desc' => "Tidak diizinkan deskripsi alternatif untuk semua.",
|
||||
'change_all_to_serialized' => "Ubah semua menggunakan nomor serial",
|
||||
'change_all_to_unserialized' => "Ubah semua tanpa nomor serial",
|
||||
'change_all_to_serialized' => "Ubah semua jadi berseri",
|
||||
'change_all_to_unserialized' => "Ubah semua menjadi tidak berseri",
|
||||
'change_image' => "Ubah Gambar",
|
||||
'confirm_bulk_edit' => "Apakah Anda yakin ingin merubah semua item yang dipilih?",
|
||||
'confirm_bulk_edit' => "Anda yakin ingin mengubah semua item terpilih?",
|
||||
'confirm_bulk_edit_wipe_taxes' => "Semua item informasi pajak akan diganti.",
|
||||
'confirm_delete' => "Apakah Anda yakin ingin menghapus item yang dipilih?",
|
||||
'confirm_delete' => "Anda yakin ingin menghapus item terpilih?",
|
||||
'confirm_restore' => "Anda yakin ingin mengembalikan item terpilih?",
|
||||
'cost_price' => "Harga Beli",
|
||||
'cost_price_number' => "Harga beli harus berupa angka.",
|
||||
'cost_price_required' => "Harga beli harus diisi.",
|
||||
'count' => "Mutasi/Penyesuaian Inventori",
|
||||
'csv_import_failed' => "Impor dari CSV tidak berhasil dilakukan",
|
||||
'csv_import_nodata_wrongformat' => "Berkas unggahan tidak berisi data atau format salah.",
|
||||
'csv_import_partially_failed' => "Terdapat {0} item yang gagal diimpor pada baris: {1}. Tidak ada kolom yang diimpor.",
|
||||
'csv_import_success' => "Impor item berhasil.",
|
||||
'current_quantity' => "Jumlah Saat ini",
|
||||
'count' => "Mutasi Inventori",
|
||||
'csv_import_failed' => "Gagal impor CSV",
|
||||
'csv_import_nodata_wrongformat' => "Berkas CSV terunggah tidak berisi data atau formatnya salah.",
|
||||
'csv_import_partially_failed' => "Terdapat {0} item gagal impor pada baris: {1}. Tidak ada baris yang diimpor.",
|
||||
'csv_import_success' => "Impor item CSV berhasil.",
|
||||
'current_quantity' => "Jumlah saat ini",
|
||||
'default_pack_name' => "Setiap",
|
||||
'description' => "Deskripsi",
|
||||
'details_count' => "Jumlah Detail Inventori",
|
||||
@@ -63,7 +64,7 @@
|
||||
'location' => "Lokasi Barang",
|
||||
'low_inventory_items' => "Daftar Stock Rendah",
|
||||
'low_sell_item' => "Produk dengan Penjualan yang Rendah",
|
||||
'manually_editing_of_quantity' => "Perubahan jumlah Stok secara manual",
|
||||
'manually_editing_of_quantity' => "Edit manual kuantitas",
|
||||
'markup' => "",
|
||||
'name' => "Nama Barang",
|
||||
'name_required' => "Nama item wajib diisi.",
|
||||
@@ -83,7 +84,7 @@
|
||||
'quantity_required' => "Jumlah wajib diisi.",
|
||||
'receiving_quantity' => "Jumlah per penerimaan",
|
||||
'remove_image' => "Hapus gambar",
|
||||
'reorder_level' => "Batas pesan ulang",
|
||||
'reorder_level' => "Level pesan ulang",
|
||||
'reorder_level_number' => "Batas pesan ulang harus berupa angka.",
|
||||
'reorder_level_required' => "Batas pesan ulang wajib diisi.",
|
||||
'retrive_item_info' => "Dapatkan Info Barang",
|
||||
@@ -98,7 +99,7 @@
|
||||
'stock_type' => "Jenis Stok",
|
||||
'successful_adding' => "Item Barang telah berhasil ditambahkan",
|
||||
'successful_bulk_edit' => "Anda telah berhasil memperbarui item yang dipilih",
|
||||
'successful_deleted' => "Item Barang telah berhasil dihapus",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'successful_updating' => "Item Barang telah berhasil diperbarui",
|
||||
'supplier' => "Pemasok",
|
||||
'tax_1' => "Pajak 1",
|
||||
@@ -114,7 +115,7 @@
|
||||
'unit_price' => "Harga Jual",
|
||||
'unit_price_number' => "Harga satuan harus berupa angka.",
|
||||
'unit_price_required' => "Harga Jual wajib diisi.",
|
||||
'upc_database' => "Database UPC",
|
||||
'upc_database' => "Basis data Barcode",
|
||||
'update' => "Ubah",
|
||||
'use_inventory_menu' => "Gunakan Inv. Menu",
|
||||
];
|
||||
|
||||
@@ -1,58 +1,59 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"amount_due" => "",
|
||||
"cancel_receiving" => "Batal",
|
||||
"cannot_be_deleted" => "Tidak bisa dihapus.",
|
||||
"comments" => "Keterangan",
|
||||
"complete_receiving" => "Selesai",
|
||||
"confirm_cancel_receiving" => "Apakah anda yakin untuk menghapus Pembelian Barang masuk ini? Semua item Akan dihapus.",
|
||||
"confirm_delete" => "Apakah Anda yakin akan hapus penerimaan ini? Tindakan ini tidak bisa dibatalkan.",
|
||||
"confirm_finish_receiving" => "Apakah anda yakin untuk memproses Pembelian Barang masuk ini? Proses ini tidak dapat dibatalkan.",
|
||||
"confirm_restore" => "",
|
||||
"cost" => "Harga",
|
||||
"daily" => "",
|
||||
"date" => "Tanggal",
|
||||
"date_required" => "Tanggal harus diisi.",
|
||||
"date_type" => "Kolom tanggal harus diisi.",
|
||||
"delete_entire_sale" => "Hapus Semua Penjualan",
|
||||
"discount" => "Diskon",
|
||||
"edit" => "Ubah",
|
||||
"edit_sale" => "Ubah Pembelian",
|
||||
"employee" => "Karyawan",
|
||||
"error_editing_item" => "Ubah Item barang gagal.",
|
||||
"error_requisition" => "Tidak dapat memindahkan Persediaan dari atau ke Lokasi yang Sama.",
|
||||
"find_or_scan_item" => "Cari/Scan Item",
|
||||
"find_or_scan_item_or_receipt" => "Cari/Scan Item atau Faktur",
|
||||
"id" => "ID Pembelian",
|
||||
"item_name" => "Nama Item",
|
||||
"mode" => "Jenis Pembelian",
|
||||
"new_supplier" => "Pemasok Baru",
|
||||
"one_or_multiple" => "penerimaan",
|
||||
"print_after_sale" => "Cetak Faktur setelah penjualan",
|
||||
"quantity" => "Jumlah",
|
||||
"receipt" => "Faktur Pembelian",
|
||||
"receipt_number" => "No. Faktur Pembelian",
|
||||
"receiving" => "Barang Masuk",
|
||||
"reference" => "Referensi",
|
||||
"register" => "Pembelian Barang Masuk",
|
||||
"requisition" => "Daftar Permintaan",
|
||||
"return" => "Retur",
|
||||
"select_supplier" => "Pilih Pemasok (Opsional)",
|
||||
"ship_pack" => "Paket Pengiriman",
|
||||
"start_typing_supplier_name" => "Ketik nama pemasok ...",
|
||||
"stock" => "Stok",
|
||||
"stock_destination" => "Tujuan Stok",
|
||||
"stock_locaiton" => "Lokasi Stok",
|
||||
"stock_source" => "Asal Stok",
|
||||
"successfully_deleted" => "Berhasil Dihapus",
|
||||
"successfully_updated" => "Berhasil Diperbaharui",
|
||||
"supplier" => "Pemasok",
|
||||
"supplier_address" => "Alamat",
|
||||
"supplier_email" => "Email",
|
||||
"supplier_location" => "Lokasi",
|
||||
"total" => "Total",
|
||||
"transaction_failed" => "Transaksi Pembelian gagal.",
|
||||
"unable_to_add_item" => "Penambahan Item kedalam Pembelian Barang gagal.",
|
||||
"unsuccessfully_updated" => "Pembelian barang gagal Diperbaharui.",
|
||||
"update" => "Memperbarui",
|
||||
'amount_due' => "",
|
||||
'cancel_receiving' => "Batal",
|
||||
'cannot_be_deleted' => "Tidak bisa dihapus.",
|
||||
'comments' => "Keterangan",
|
||||
'complete_receiving' => "Selesai",
|
||||
'confirm_cancel_receiving' => "Apakah anda yakin untuk menghapus Pembelian Barang masuk ini? Semua item Akan dihapus.",
|
||||
'confirm_delete' => "Apakah Anda yakin akan hapus penerimaan ini? Tindakan ini tidak bisa dibatalkan.",
|
||||
'confirm_finish_receiving' => "Apakah anda yakin untuk memproses Pembelian Barang masuk ini? Proses ini tidak dapat dibatalkan.",
|
||||
'confirm_restore' => "",
|
||||
'cost' => "Harga",
|
||||
'daily' => "",
|
||||
'date' => "Tanggal",
|
||||
'date_required' => "Tanggal harus diisi.",
|
||||
'date_type' => "Kolom tanggal harus diisi.",
|
||||
'delete_entire_sale' => "Hapus Semua Penjualan",
|
||||
'discount' => "Diskon",
|
||||
'edit' => "Ubah",
|
||||
'edit_sale' => "Ubah Pembelian",
|
||||
'employee' => "Karyawan",
|
||||
'error_editing_item' => "Ubah Item barang gagal.",
|
||||
'error_requisition' => "Tidak dapat memindahkan Persediaan dari atau ke Lokasi yang Sama.",
|
||||
'find_or_scan_item' => "Cari/Scan Item",
|
||||
'find_or_scan_item_or_receipt' => "Temukan atau pindai Item atau Faktur",
|
||||
'id' => "ID Pembelian",
|
||||
'item_name' => "Nama Item",
|
||||
'mode' => "Jenis Pembelian",
|
||||
'new_supplier' => "Pemasok Baru",
|
||||
'one_or_multiple' => "penerimaan",
|
||||
'print_after_sale' => "Cetak Faktur setelah penjualan",
|
||||
'quantity' => "Jumlah",
|
||||
'receipt' => "Faktur Pembelian",
|
||||
'receipt_number' => "No. Faktur Pembelian",
|
||||
'receiving' => "Barang Masuk",
|
||||
'reference' => "Referensi",
|
||||
'register' => "Pembelian Barang Masuk",
|
||||
'requisition' => "Daftar Permintaan",
|
||||
'return' => "Retur",
|
||||
'select_supplier' => "Pilih Pemasok (Opsional)",
|
||||
'ship_pack' => "Paket Pengiriman",
|
||||
'start_typing_supplier_name' => "Ketik nama pemasok ...",
|
||||
'stock' => "Stok",
|
||||
'stock_destination' => "Tujuan Stok",
|
||||
'stock_locaiton' => "Lokasi Stok",
|
||||
'stock_source' => "Asal Stok",
|
||||
'successfully_deleted' => "Berhasil Dihapus",
|
||||
'successfully_updated' => "Berhasil Diperbaharui",
|
||||
'supplier' => "Pemasok",
|
||||
'supplier_address' => "Alamat",
|
||||
'supplier_email' => "Email",
|
||||
'supplier_location' => "Lokasi",
|
||||
'total' => "Total",
|
||||
'transaction_failed' => "Transaksi Pembelian gagal.",
|
||||
'unable_to_add_item' => "Penambahan Item kedalam Pembelian Barang gagal.",
|
||||
'unsuccessfully_updated' => "Pembelian barang gagal Diperbaharui.",
|
||||
'update' => "Memperbarui",
|
||||
];
|
||||
|
||||
@@ -1,148 +1,149 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"all" => "Semua",
|
||||
"authority" => "Otoritas",
|
||||
"canceled" => "Dibatalkan",
|
||||
"categories" => "Kategori",
|
||||
"categories_summary_report" => "Laporan Ringkasan Kategori",
|
||||
"category" => "Kategori",
|
||||
"code_canceled" => "CNL",
|
||||
"code_invoice" => "INV",
|
||||
"code_pos" => "POS",
|
||||
"code_quote" => "Q",
|
||||
"code_return" => "RET",
|
||||
"code_type" => "Tipe",
|
||||
"code_work_order" => "W/O",
|
||||
"comments" => "Catatan",
|
||||
"commission" => "",
|
||||
"complete" => "Penjualan dan Retur yang sukses",
|
||||
"completed_sales" => "Penjualan yang Sukses",
|
||||
"confirm_delete" => "Anda yakin ingin menghapus masukan terpilih?",
|
||||
"confirm_restore" => "Anda yakin ingin mengembalikan entri terpilih?",
|
||||
"cost" => "Grosir",
|
||||
"cost_price" => "Harga Beli",
|
||||
"count" => "Jumlah",
|
||||
"customer" => "Pelanggan",
|
||||
"customers" => "Pelanggan",
|
||||
"customers_summary_report" => "Laporan Ringkasan Pelanggan",
|
||||
"date" => "Tanggal",
|
||||
"date_range" => "Rentang Tanggal",
|
||||
"description" => "Deskripsi",
|
||||
"detailed_receivings_report" => "Laporan Detail Barang Masuk",
|
||||
"detailed_receivings_report_input" => "",
|
||||
"detailed_reports" => "Perincian Laporan",
|
||||
"detailed_requisition_report" => "Rincian Daftar Laporan Permintaan",
|
||||
"detailed_sales_report" => "Laporan Perincian Penjualan",
|
||||
"discount" => "Diskon",
|
||||
"discount_fixed" => "Diskon Tetap",
|
||||
"discount_percent" => "Persen Diskon",
|
||||
"discount_type" => "Tipe Diskon",
|
||||
"discounts" => "Diskon",
|
||||
"discounts_summary_report" => "Laporan Ringkasan Diskon",
|
||||
"earned" => "Poin yang diperoleh",
|
||||
"employee" => "Karyawan",
|
||||
"employees" => "Karyawan",
|
||||
"employees_summary_report" => "Laporan Ringkasan Karyawan",
|
||||
"expenses" => "Biaya",
|
||||
"expenses_amount" => "Jumlah",
|
||||
"expenses_categories" => "Biaya",
|
||||
"expenses_categories_summary_report" => "Laporan RIngkasan Kategori Biaya",
|
||||
"expenses_category" => "Kategori",
|
||||
"expenses_payment_amount" => "",
|
||||
"expenses_tax_amount" => "Pajak",
|
||||
"expenses_total_amount" => "Jumlah Total",
|
||||
"expenses_total_tax_amount" => "Total Pajak",
|
||||
"graphical_reports" => "Laporan Dalam Bentuk Grafis",
|
||||
"inventory" => "Laporan Persediaan",
|
||||
"inventory_low" => "Laporan Persediaan Rendah",
|
||||
"inventory_low_report" => "Laporan Persediaan Rendah",
|
||||
"inventory_reports" => "Laporan Persediaan",
|
||||
"inventory_summary" => "Laporan Ringkasan Persediaan",
|
||||
"inventory_summary_report" => "Laporan Ringkasan Persediaan",
|
||||
"item" => "Produk/Item",
|
||||
"item_count" => "Filter Jumlah Item",
|
||||
"item_name" => "Nama Barang",
|
||||
"item_number" => "Kode batang",
|
||||
"items" => "Produk/Item",
|
||||
"items_purchased" => "Produk Dibeli",
|
||||
"items_received" => "Barang Masuk",
|
||||
"items_summary_report" => "Laporan Ringkasan Produk/Item",
|
||||
"jurisdiction" => "Ranah hukum",
|
||||
"low_inventory" => "Kurang Persediaan",
|
||||
"low_inventory_report" => "Laporan Persediaan Kurang",
|
||||
"low_sell_quantity" => "Jumlah penjualan yang rendah",
|
||||
"more_than_zero" => "Stok belum habis",
|
||||
"name" => "Nama",
|
||||
"no_reports_to_display" => "Tidak ada item untuk ditampilkan.",
|
||||
"payment_type" => "Tipe Pembayaran",
|
||||
"payments" => "Pembayaran",
|
||||
"payments_summary_report" => "Laporan Ringkasan Pembayaran",
|
||||
"profit" => "Keuntungan/Laba",
|
||||
"quantity" => "Jumlah",
|
||||
"quantity_purchased" => "Jumlah Dibeli",
|
||||
"quotes" => "Penawaran",
|
||||
"received_by" => "Diterima Oleh",
|
||||
"receiving_id" => "Id Penerima",
|
||||
"receiving_type" => "Type Diterima",
|
||||
"receivings" => "Barang Masuk",
|
||||
"reorder_level" => "Level Pesan Ulang",
|
||||
"report" => "Laporan",
|
||||
"report_input" => "Input data Laporan",
|
||||
"reports" => "Lihat dan Cetak Laporan",
|
||||
"requisition" => "Daftar Permintaan",
|
||||
"requisition_by" => "Daftar Permintaan Oleh",
|
||||
"requisition_id" => "Identitas Peminta",
|
||||
"requisition_item" => "Jenis Permintaan",
|
||||
"requisition_item_quantity" => "Jumlah Permintaan",
|
||||
"requisition_related_item" => "",
|
||||
"requisition_related_item_total_quantity" => "Jumlah Item Barang",
|
||||
"requisition_related_item_unit_quantity" => "Unit Item Barang",
|
||||
"requisitions" => "Laporan Permintaan",
|
||||
"returns" => "Retur",
|
||||
"revenue" => "Pendapatan",
|
||||
"sale_id" => "ID Penjualan",
|
||||
"sale_type" => "Jenis Penjualan",
|
||||
"sales" => "Penjualan",
|
||||
"sales_amount" => "Jumlah Penjualan",
|
||||
"sales_summary_report" => "Laporan Ringkasan Penjualan",
|
||||
"sales_taxes" => "Pajak Penjualan",
|
||||
"sales_taxes_summary_report" => "Laporan Ringkasan Pajak Penjualan",
|
||||
"serial_number" => "No. Seri #",
|
||||
"service_charge" => "",
|
||||
"sold_by" => "Dijual Oleh",
|
||||
"sold_items" => "",
|
||||
"sold_to" => "Dijual Kepada",
|
||||
"stock_location" => "Lokasi Stock",
|
||||
"sub_total_value" => "Sub-total",
|
||||
"subtotal" => "SubTotal",
|
||||
"summary_reports" => "Laporan Ringkas",
|
||||
"supplied_by" => "Pemasok",
|
||||
"supplier" => "Pemasok",
|
||||
"suppliers" => "Pemasok",
|
||||
"suppliers_summary_report" => "Laporan Ringkasan Pemasok",
|
||||
"tax" => "Pajak",
|
||||
"tax_category" => "Kategori Pajak",
|
||||
"tax_name" => "Nama Pajak",
|
||||
"tax_percent" => "Persentase Pajak",
|
||||
"tax_rate" => "Tarif Pajak",
|
||||
"taxes" => "Pajak",
|
||||
"taxes_summary_report" => "Laporan Ringkasan Pajak",
|
||||
"total" => "Total",
|
||||
"total_inventory_value" => "Total Nilai Persediaan",
|
||||
"total_low_sell_quantity" => "Total Jumlah Penjualan yang Rendah",
|
||||
"total_quantity" => "Total Kuantitas",
|
||||
"total_retail" => "Total Faktur Eceran Nilai",
|
||||
"trans_amount" => "Jumlah Transaksi",
|
||||
"trans_due" => "Hutang",
|
||||
"trans_group" => "Kelompok Transaksi",
|
||||
"trans_nopay_sales" => "Penjualan tanpa pembayaran",
|
||||
"trans_payments" => "Pembayaran",
|
||||
"trans_refunded" => "Dikembalikan",
|
||||
"trans_sales" => "Penjualan",
|
||||
"trans_type" => "Tipe Transaksi",
|
||||
"type" => "Tipe",
|
||||
"unit_price" => "Harga Jual",
|
||||
"used" => "Poin yang telah digunakan",
|
||||
"work_orders" => "Perintah Kerja",
|
||||
"zero_and_less" => "Stok habis dan minus",
|
||||
'all' => "Semua",
|
||||
'authority' => "Otoritas",
|
||||
'canceled' => "Dibatalkan",
|
||||
'categories' => "Kategori",
|
||||
'categories_summary_report' => "Laporan Ringkasan Kategori",
|
||||
'category' => "Kategori",
|
||||
'code_canceled' => "BTL",
|
||||
'code_invoice' => "INV",
|
||||
'code_pos' => "POS",
|
||||
'code_quote' => "Q",
|
||||
'code_return' => "RET",
|
||||
'code_type' => "Tipe",
|
||||
'code_work_order' => "W/O",
|
||||
'comments' => "Catatan",
|
||||
'commission' => "",
|
||||
'complete' => "Penjualan dan Retur yang sukses",
|
||||
'completed_sales' => "Penjualan yang Sukses",
|
||||
'confirm_delete' => "Anda yakin ingin menghapus masukan terpilih?",
|
||||
'confirm_restore' => "Anda yakin ingin mengembalikan entri terpilih?",
|
||||
'cost' => "Grosir",
|
||||
'cost_price' => "Harga Beli",
|
||||
'count' => "Jumlah",
|
||||
'customer' => "Pelanggan",
|
||||
'customers' => "Pelanggan",
|
||||
'customers_summary_report' => "Laporan Ringkasan Pelanggan",
|
||||
'date' => "Tanggal",
|
||||
'date_range' => "Rentang Tanggal",
|
||||
'description' => "Deskripsi",
|
||||
'detailed_receivings_report' => "Laporan Detail Barang Masuk",
|
||||
'detailed_receivings_report_input' => "",
|
||||
'detailed_reports' => "Perincian Laporan",
|
||||
'detailed_requisition_report' => "Rincian Daftar Laporan Permintaan",
|
||||
'detailed_sales_report' => "Laporan Perincian Penjualan",
|
||||
'discount' => "Diskon",
|
||||
'discount_fixed' => "Diskon Tetap",
|
||||
'discount_percent' => "Persen Diskon",
|
||||
'discount_type' => "Tipe Diskon",
|
||||
'discounts' => "Diskon",
|
||||
'discounts_summary_report' => "Laporan Ringkasan Diskon",
|
||||
'earned' => "Poin yang diperoleh",
|
||||
'employee' => "Karyawan",
|
||||
'employees' => "Karyawan",
|
||||
'employees_summary_report' => "Laporan Ringkasan Karyawan",
|
||||
'expenses' => "Biaya",
|
||||
'expenses_amount' => "Jumlah",
|
||||
'expenses_categories' => "Biaya",
|
||||
'expenses_categories_summary_report' => "Laporan RIngkasan Kategori Biaya",
|
||||
'expenses_category' => "Kategori",
|
||||
'expenses_payment_amount' => "",
|
||||
'expenses_tax_amount' => "Pajak",
|
||||
'expenses_total_amount' => "Jumlah Total",
|
||||
'expenses_total_tax_amount' => "Total Pajak",
|
||||
'graphical_reports' => "Laporan Dalam Bentuk Grafis",
|
||||
'inventory' => "Laporan Persediaan",
|
||||
'inventory_low' => "Laporan Persediaan Rendah",
|
||||
'inventory_low_report' => "Laporan Persediaan Rendah",
|
||||
'inventory_reports' => "Laporan Persediaan",
|
||||
'inventory_summary' => "Laporan Ringkasan Persediaan",
|
||||
'inventory_summary_report' => "Laporan Ringkasan Persediaan",
|
||||
'item' => "Produk/Item",
|
||||
'item_count' => "Filter Jumlah Item",
|
||||
'item_name' => "Nama Barang",
|
||||
'item_number' => "Kode batang",
|
||||
'items' => "Produk/Item",
|
||||
'items_purchased' => "Produk Dibeli",
|
||||
'items_received' => "Barang Masuk",
|
||||
'items_summary_report' => "Laporan Ringkasan Produk/Item",
|
||||
'jurisdiction' => "Ranah hukum",
|
||||
'low_inventory' => "Kurang Persediaan",
|
||||
'low_inventory_report' => "Laporan Persediaan Kurang",
|
||||
'low_sell_quantity' => "Jumlah penjualan yang rendah",
|
||||
'more_than_zero' => "Stok belum habis",
|
||||
'name' => "Nama",
|
||||
'no_reports_to_display' => "Tidak ada item untuk ditampilkan.",
|
||||
'payment_type' => "Tipe Pembayaran",
|
||||
'payments' => "Pembayaran",
|
||||
'payments_summary_report' => "Laporan Ringkasan Pembayaran",
|
||||
'profit' => "Keuntungan/Laba",
|
||||
'quantity' => "Jumlah",
|
||||
'quantity_purchased' => "Jumlah Dibeli",
|
||||
'quotes' => "Penawaran",
|
||||
'received_by' => "Diterima Oleh",
|
||||
'receiving_id' => "Id Penerima",
|
||||
'receiving_type' => "Type Diterima",
|
||||
'receivings' => "Barang Masuk",
|
||||
'reorder_level' => "Level pesan ulang",
|
||||
'report' => "Laporan",
|
||||
'report_input' => "Input data Laporan",
|
||||
'reports' => "Lihat dan Cetak Laporan",
|
||||
'requisition' => "Daftar Permintaan",
|
||||
'requisition_by' => "Daftar Permintaan Oleh",
|
||||
'requisition_id' => "Identitas Peminta",
|
||||
'requisition_item' => "Jenis Permintaan",
|
||||
'requisition_item_quantity' => "Jumlah Permintaan",
|
||||
'requisition_related_item' => "",
|
||||
'requisition_related_item_total_quantity' => "Jumlah Item Barang",
|
||||
'requisition_related_item_unit_quantity' => "Unit Item Barang",
|
||||
'requisitions' => "Laporan Permintaan",
|
||||
'returns' => "Retur",
|
||||
'revenue' => "Pendapatan",
|
||||
'sale_id' => "ID Penjualan",
|
||||
'sale_type' => "Jenis Penjualan",
|
||||
'sales' => "Penjualan",
|
||||
'sales_amount' => "Jumlah Penjualan",
|
||||
'sales_summary_report' => "Laporan Ringkasan Penjualan",
|
||||
'sales_taxes' => "Pajak Penjualan",
|
||||
'sales_taxes_summary_report' => "Laporan Ringkasan Pajak Penjualan",
|
||||
'serial_number' => "No. Seri #",
|
||||
'service_charge' => "",
|
||||
'sold_by' => "Dijual Oleh",
|
||||
'sold_items' => "",
|
||||
'sold_to' => "Dijual Kepada",
|
||||
'stock_location' => "Lokasi Stock",
|
||||
'sub_total_value' => "Sub-total",
|
||||
'subtotal' => "SubTotal",
|
||||
'summary_reports' => "Laporan Ringkas",
|
||||
'supplied_by' => "Pemasok",
|
||||
'supplier' => "Pemasok",
|
||||
'suppliers' => "Pemasok",
|
||||
'suppliers_summary_report' => "Laporan Ringkasan Pemasok",
|
||||
'tax' => "Pajak",
|
||||
'tax_category' => "Kategori Pajak",
|
||||
'tax_name' => "Nama Pajak",
|
||||
'tax_percent' => "Persentasi Pajak",
|
||||
'tax_rate' => "Tarif Pajak",
|
||||
'taxes' => "Pajak",
|
||||
'taxes_summary_report' => "Laporan Ringkasan Pajak",
|
||||
'total' => "Total",
|
||||
'total_inventory_value' => "Total Nilai Persediaan",
|
||||
'total_low_sell_quantity' => "Total Jumlah Penjualan yang Rendah",
|
||||
'total_quantity' => "Total Kuantitas",
|
||||
'total_retail' => "Total Faktur Eceran Nilai",
|
||||
'trans_amount' => "Jumlah Transaksi",
|
||||
'trans_due' => "Hutang",
|
||||
'trans_group' => "Kelompok Transaksi",
|
||||
'trans_nopay_sales' => "Penjualan tanpa pembayaran",
|
||||
'trans_payments' => "Pembayaran",
|
||||
'trans_refunded' => "Dikembalikan",
|
||||
'trans_sales' => "Penjualan",
|
||||
'trans_type' => "Tipe Transaksi",
|
||||
'type' => "Tipe",
|
||||
'unit_price' => "Harga Jual",
|
||||
'used' => "Poin yang telah digunakan",
|
||||
'work_orders' => "Perintah Kerja",
|
||||
'zero_and_less' => "Stok habis dan minus",
|
||||
];
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
|
||||
return [
|
||||
'customers_available_points' => "Poin tersedia",
|
||||
'rewards_package' => "Hadiah",
|
||||
'rewards_remaining_balance' => "Poin hadiah yang tersisa adalah ",
|
||||
@@ -73,11 +74,11 @@
|
||||
'entry' => "Entri",
|
||||
'error_editing_item' => "mengubah item salah",
|
||||
'find_or_scan_item' => "Cari/Scan Item",
|
||||
'find_or_scan_item_or_receipt' => "Cari atau Scan Item atau Faktur",
|
||||
'giftcard' => "Kupon Bonus",
|
||||
'find_or_scan_item_or_receipt' => "Temukan atau pindai Item atau Faktur",
|
||||
'giftcard' => "Kartu Hadiah",
|
||||
'giftcard_balance' => "Nilai Kupon Bonus",
|
||||
'giftcard_filter' => "",
|
||||
'giftcard_number' => "Nomor Kartu Bonus",
|
||||
'giftcard_number' => "Nomor Kartu Hadiah",
|
||||
'group_by_category' => "Dikelompokkan berdasarkan Kategori",
|
||||
'group_by_type' => "Dikelompokkan berdasarkan Jenis",
|
||||
'hsn' => "HSN",
|
||||
@@ -85,7 +86,7 @@
|
||||
'include_prices' => "Termasuk Harga?",
|
||||
'invoice' => "Faktur",
|
||||
'invoice_confirm' => "Faktur ini akan dikirim ke",
|
||||
'invoice_enable' => "Buat Faktur",
|
||||
'invoice_enable' => "Nomor Faktur",
|
||||
'invoice_filter' => "Faktur",
|
||||
'invoice_no_email' => "Pelanggan ini tidak memiliki alamat email yang valid.",
|
||||
'invoice_number' => "Nomor Nota",
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"account_number" => "Nomor Akun Pemasok",
|
||||
"agency_name" => "Nama",
|
||||
"cannot_be_deleted" => "Tidak bisa dihapus pemasok yang dipilih, satu atau lebih dari pemasok yang dipilih memiliki penjualan.",
|
||||
"category" => "Kategori",
|
||||
"company_name" => "Nama Perusahaan",
|
||||
"company_name_required" => "Nama Perusahaan wajib diisi.",
|
||||
"confirm_delete" => "Apakah Anda yakin ingin menghapus pemasok yang dipilih?",
|
||||
"confirm_restore" => "Anda yakin ingin mengembalikan Pemasok terpilih?",
|
||||
"cost" => "Biaya Pemasok",
|
||||
"error_adding_updating" => "Kesalahan Menambah / memperbarui data pemasok.",
|
||||
"goods" => "Pemasok Barang",
|
||||
"new" => "Pemasok Baru",
|
||||
"none_selected" => "Anda belum memilih pemasok untuk dihapus.",
|
||||
"one_or_multiple" => "Pemasok",
|
||||
"successful_adding" => "Anda telah berhasil menambahkan data pemasok",
|
||||
"successful_deleted" => "Anda telah berhasil menghapus data pemasok",
|
||||
"successful_updating" => "Anda telah berhasil memperbarui data pemasok",
|
||||
"supplier" => "Pemasok",
|
||||
"supplier_id" => "ID",
|
||||
"tax_id" => "ID Pajak",
|
||||
"update" => "Ubah data Pemasok",
|
||||
'account_number' => "Nomor Akun Pemasok",
|
||||
'agency_name' => "Nama",
|
||||
'cannot_be_deleted' => "Tidak bisa dihapus pemasok yang dipilih, satu atau lebih dari pemasok yang dipilih memiliki penjualan.",
|
||||
'category' => "Kategori",
|
||||
'company_name' => "Nama Perusahaan",
|
||||
'company_name_required' => "Nama Perusahaan wajib diisi.",
|
||||
'confirm_delete' => "Apakah Anda yakin ingin menghapus pemasok yang dipilih?",
|
||||
'confirm_restore' => "Anda yakin ingin mengembalikan Pemasok terpilih?",
|
||||
'cost' => "Biaya Pemasok",
|
||||
'error_adding_updating' => "Kesalahan Menambah / memperbarui data pemasok.",
|
||||
'goods' => "Pemasok Barang",
|
||||
'new' => "Pemasok Baru",
|
||||
'none_selected' => "Anda belum memilih pemasok untuk dihapus.",
|
||||
'one_or_multiple' => "Pemasok",
|
||||
'successful_adding' => "Anda telah berhasil menambahkan data pemasok",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'successful_updating' => "Anda telah berhasil memperbarui data pemasok",
|
||||
'supplier' => "Pemasok",
|
||||
'supplier_id' => "ID",
|
||||
'tax_id' => "ID Pajak",
|
||||
'update' => "Ubah data Pemasok",
|
||||
];
|
||||
|
||||
@@ -1,82 +1,83 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_exception" => "Tambah pengecualian",
|
||||
"cascade" => "Menurunkan",
|
||||
"cascade_sequence" => "Urutan Penurunan",
|
||||
"city" => "Kota",
|
||||
"code" => "Kode",
|
||||
"confirm_delete" => "Anda yakin ingin menghapus Kode Pajak ini? Aksi ini tidak dapat dibatalkan",
|
||||
"confirm_restore" => "Anda yakin ingin mengembalikan Kode Pajak terpilih?",
|
||||
"default_tax_category" => "Kategori Pajak Default",
|
||||
"default_tax_rate" => "Taruf Pajak Default",
|
||||
"error_adding_updating" => "Penambahan atau pembaharuan Kode Pajak gagal",
|
||||
"group_seq" => "Urutan grup",
|
||||
"jurisdiction_name" => "Nama Yuridiksi",
|
||||
"name" => "Nama",
|
||||
"new" => "Pajak baru",
|
||||
"no_taxes" => "",
|
||||
"no_taxes_to_display" => "Tidak ada Kode Pajak yang dapat ditampilkan",
|
||||
"reporting_authority" => "Otoritas Pelaporan",
|
||||
"round_half_down" => "Turun setengah",
|
||||
"round_half_even" => "Setengah Genap",
|
||||
"round_half_odd" => "Setengah Ganjil",
|
||||
"round_half_up" => "Naikkan Setengah",
|
||||
"rounding_code" => "Kode Pembulatan",
|
||||
"sales_tax" => "Pajak Penjualan",
|
||||
"sales_tax_by_invoice" => "Pajak Penjualan berdasarkan faktur",
|
||||
"sequence" => "Urutan",
|
||||
"state" => "Status",
|
||||
"successful_deleted" => "Anda berhasil dihapus",
|
||||
"tax_categories" => "Kategori Pajak",
|
||||
"tax_categories_configuration" => "Konfigurasi Kategori Pajak",
|
||||
"tax_categories_saved_successfully" => "Perubahan Ketegori Pajak berhasil disimpan",
|
||||
"tax_categories_saved_unsuccessfully" => "Perubahan Kategori Pajak tidak tersimpan",
|
||||
"tax_category" => "Kategori pajak",
|
||||
"tax_category_code" => "Kode Kategori Pajak",
|
||||
"tax_category_duplicate" => "Kategori pajak ganda",
|
||||
"tax_category_invalid_chars" => "terdapat karakter yang salah dalam nama kategori pajak",
|
||||
"tax_category_name" => "Nama Kategori Pajak",
|
||||
"tax_category_new" => "Kategori Pajak baru",
|
||||
"tax_category_required" => "Kategori Pajak dibutuhkan",
|
||||
"tax_code" => "Kode Pajak",
|
||||
"tax_code_cannot_be_deleted" => "Gagal menghapus Kode Pajak",
|
||||
"tax_code_duplicate" => "Kode Pajak ganda",
|
||||
"tax_code_invalid_chars" => "Terdapat karakter yang salah dalam Kode Pajak",
|
||||
"tax_code_name" => "Nama Kode Pajak",
|
||||
"tax_code_required" => "Kode pajak harus diisi",
|
||||
"tax_code_successful_deleted" => "Anda berhasil menghapus Kode Pajak",
|
||||
"tax_code_successful_updated" => "Anda berhasil memperbaharui",
|
||||
"tax_code_successful_updating" => "Anda berhasil memperbaharui Kode Pajak",
|
||||
"tax_code_successfully_added" => "Anda berhasil menambahkan",
|
||||
"tax_code_type" => "jenis Kode Pajak",
|
||||
"tax_codes" => "Kode Pajak",
|
||||
"tax_codes_configuration" => "Konfigurasi Kode Pajak",
|
||||
"tax_codes_saved_successfully" => "Perubahan Kode Pajak berhasil disimpan",
|
||||
"tax_codes_saved_unsuccessfully" => "Perubahan Kode Pajak tidak tersimpan",
|
||||
"tax_excluded" => "Pengecualian Pajak",
|
||||
"tax_group" => "Grup Pajak",
|
||||
"tax_group_not_unique" => "Grup Pajak {0} tidak unik",
|
||||
"tax_group_sequence" => "Urutan Grup Pajak",
|
||||
"tax_included" => "Termasuk pajak",
|
||||
"tax_jurisdiction" => "Yuridiksi Pajak",
|
||||
"tax_jurisdiction_duplicate" => "Yuridiksi Pajak ganda",
|
||||
"tax_jurisdiction_invalid_chars" => "Karakter yang salah pada Nama Yuridiksi",
|
||||
"tax_jurisdiction_required" => "Diperlukan yurisdiksi Pajak",
|
||||
"tax_jurisdictions" => "Yurisdiksi Pajak",
|
||||
"tax_jurisdictions_configuration" => "Konfigurasi Yurisdiksi Pajak",
|
||||
"tax_jurisdictions_saved_successfully" => "Perubahan Yurisdiksi Pajak berhasil disimpan",
|
||||
"tax_jurisdictions_saved_unsuccessfully" => "Perubahan Yurisdiksi Pajak tidak tersimpan",
|
||||
"tax_rate" => "Tarif Pajak",
|
||||
"tax_rate_configuration" => "Konfigurasi Tarif Pajak",
|
||||
"tax_rate_error_adding_updating" => "Gagal menambahkan atau memperbaharui Tarif Pajak",
|
||||
"tax_rate_numeric" => "Tarif Pajak harus berupa angka",
|
||||
"tax_rate_required" => "Tarif Pajak harus diisi",
|
||||
"tax_rate_successful_updated" => "Anda berhasil melakukan perubahan",
|
||||
"tax_rate_successfully_added" => "Anda berhasil menambahkan",
|
||||
"tax_rates" => "Tarif Pajak",
|
||||
"tax_rates_configuration" => "Konfigurasi Tarif Pajak",
|
||||
"tax_rounding" => "Pembulatan Pajak",
|
||||
"tax_type" => "Jenis Pajak",
|
||||
"update" => "Perbaharui Tarif Pajak",
|
||||
"vat_tax" => "PPN",
|
||||
'add_exception' => "Tambah pengecualian",
|
||||
'cascade' => "Menurunkan",
|
||||
'cascade_sequence' => "Urutan Penurunan",
|
||||
'city' => "Kota",
|
||||
'code' => "Kode",
|
||||
'confirm_delete' => "Anda yakin ingin menghapus Kode Pajak ini? Aksi ini tidak dapat dibatalkan",
|
||||
'confirm_restore' => "Anda yakin ingin mengembalikan Kode Pajak terpilih?",
|
||||
'default_tax_category' => "Kategori Pajak Default",
|
||||
'default_tax_rate' => "Taruf Pajak Default",
|
||||
'error_adding_updating' => "Penambahan atau pembaharuan Kode Pajak gagal",
|
||||
'group_seq' => "Urutan grup",
|
||||
'jurisdiction_name' => "Nama Yuridiksi",
|
||||
'name' => "Nama",
|
||||
'new' => "Pajak baru",
|
||||
'no_taxes' => "",
|
||||
'no_taxes_to_display' => "Tidak ada Kode Pajak yang dapat ditampilkan",
|
||||
'reporting_authority' => "Otoritas Pelaporan",
|
||||
'round_half_down' => "Turun setengah",
|
||||
'round_half_even' => "Setengah Genap",
|
||||
'round_half_odd' => "Setengah Ganjil",
|
||||
'round_half_up' => "Naikkan Setengah",
|
||||
'rounding_code' => "Kode Pembulatan",
|
||||
'sales_tax' => "Pajak Penjualan",
|
||||
'sales_tax_by_invoice' => "Pajak Penjualan berdasarkan faktur",
|
||||
'sequence' => "Urutan",
|
||||
'state' => "Status",
|
||||
'successful_deleted' => "Berhasil menghapus Kartu Hadiah",
|
||||
'tax_categories' => "Kategori Pajak",
|
||||
'tax_categories_configuration' => "Konfigurasi Kategori Pajak",
|
||||
'tax_categories_saved_successfully' => "Perubahan Ketegori Pajak berhasil disimpan",
|
||||
'tax_categories_saved_unsuccessfully' => "Perubahan Kategori Pajak tidak tersimpan",
|
||||
'tax_category' => "Kategori pajak",
|
||||
'tax_category_code' => "Kode Kategori Pajak",
|
||||
'tax_category_duplicate' => "Kategori pajak ganda",
|
||||
'tax_category_invalid_chars' => "terdapat karakter yang salah dalam nama kategori pajak",
|
||||
'tax_category_name' => "Nama Kategori Pajak",
|
||||
'tax_category_new' => "Kategori Pajak baru",
|
||||
'tax_category_required' => "Kategori Pajak dibutuhkan",
|
||||
'tax_code' => "Kode Pajak",
|
||||
'tax_code_cannot_be_deleted' => "Gagal menghapus Kode Pajak",
|
||||
'tax_code_duplicate' => "Kode Pajak ganda",
|
||||
'tax_code_invalid_chars' => "Terdapat karakter yang salah dalam Kode Pajak",
|
||||
'tax_code_name' => "Nama Kode Pajak",
|
||||
'tax_code_required' => "Kode pajak harus diisi",
|
||||
'tax_code_successful_deleted' => "Anda berhasil menghapus Kode Pajak",
|
||||
'tax_code_successful_updated' => "Anda berhasil memperbaharui",
|
||||
'tax_code_successful_updating' => "Anda berhasil memperbaharui Kode Pajak",
|
||||
'tax_code_successfully_added' => "Anda berhasil menambahkan",
|
||||
'tax_code_type' => "jenis Kode Pajak",
|
||||
'tax_codes' => "Kode Pajak",
|
||||
'tax_codes_configuration' => "Konfigurasi Kode Pajak",
|
||||
'tax_codes_saved_successfully' => "Perubahan Kode Pajak berhasil disimpan",
|
||||
'tax_codes_saved_unsuccessfully' => "Perubahan Kode Pajak tidak tersimpan",
|
||||
'tax_excluded' => "Pengecualian Pajak",
|
||||
'tax_group' => "Grup Pajak",
|
||||
'tax_group_not_unique' => "Grup Pajak {0} tidak unik",
|
||||
'tax_group_sequence' => "Urutan Grup Pajak",
|
||||
'tax_included' => "Termasuk pajak",
|
||||
'tax_jurisdiction' => "Yuridiksi Pajak",
|
||||
'tax_jurisdiction_duplicate' => "Yuridiksi Pajak ganda",
|
||||
'tax_jurisdiction_invalid_chars' => "Karakter yang salah pada Nama Yuridiksi",
|
||||
'tax_jurisdiction_required' => "Diperlukan yurisdiksi Pajak",
|
||||
'tax_jurisdictions' => "Yurisdiksi Pajak",
|
||||
'tax_jurisdictions_configuration' => "Konfigurasi Yurisdiksi Pajak",
|
||||
'tax_jurisdictions_saved_successfully' => "Perubahan Yurisdiksi Pajak berhasil disimpan",
|
||||
'tax_jurisdictions_saved_unsuccessfully' => "Perubahan Yurisdiksi Pajak tidak tersimpan",
|
||||
'tax_rate' => "Tarif Pajak",
|
||||
'tax_rate_configuration' => "Konfigurasi Tarif Pajak",
|
||||
'tax_rate_error_adding_updating' => "Gagal menambahkan atau memperbaharui Tarif Pajak",
|
||||
'tax_rate_numeric' => "Tarif Pajak harus berupa angka",
|
||||
'tax_rate_required' => "Tarif Pajak harus diisi",
|
||||
'tax_rate_successful_updated' => "Anda berhasil melakukan perubahan",
|
||||
'tax_rate_successfully_added' => "Anda berhasil menambahkan",
|
||||
'tax_rates' => "Tarif Pajak",
|
||||
'tax_rates_configuration' => "Konfigurasi Tarif Pajak",
|
||||
'tax_rounding' => "Pembulatan Pajak",
|
||||
'tax_type' => "Jenis Pajak",
|
||||
'update' => "Perbaharui Tarif Pajak",
|
||||
'vat_tax' => "PPN",
|
||||
];
|
||||
|
||||
@@ -52,7 +52,7 @@ return [
|
||||
"expenses_tax_amount" => "Imposte",
|
||||
"expenses_total_amount" => "Totale Importo",
|
||||
"expenses_total_tax_amount" => "Totale Imposte",
|
||||
"graphical_reports" => "Resoconto Geografico",
|
||||
"graphical_reports" => "Resoconto Grafico",
|
||||
"inventory" => "Inventario",
|
||||
"inventory_low" => "Inventario Basso",
|
||||
"inventory_low_report" => "Resoconto Inventario Basso",
|
||||
|
||||
@@ -1,58 +1,59 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"amount_due" => "",
|
||||
"cancel_receiving" => "ยกเลิก",
|
||||
"cannot_be_deleted" => "ไม่สามารถลบใบรับสินค้าได้",
|
||||
"comments" => "ความคิดเห็น",
|
||||
"complete_receiving" => "เสร็จสิ้น",
|
||||
"confirm_cancel_receiving" => "คุณแน่ใจที่ต้องการล้างค่าใบรับสินค้าใช่หรือไม่? เมื่อล้างค่าแล้วทุกรายการจะถูกล้างออก",
|
||||
"confirm_delete" => "คุณต้องการลบใบรับสินค้าใช่หรือไม่? หากลบแล้วจะไม่สามารถเรียกคืนได้อีก",
|
||||
"confirm_finish_receiving" => "คุณต้องการบันทึกใบรับสินค้าใช่หรือไม่? เมื่อบันทึกแล้วไม่สามารถยกเลิกได้",
|
||||
"confirm_restore" => "",
|
||||
"cost" => "ต้นทุน",
|
||||
"daily" => "",
|
||||
"date" => "วันที่ใบรับสินค้า",
|
||||
"date_required" => "ต้องบันทึกวันที่ที่ถูกต้อง",
|
||||
"date_type" => "ต้องระบุวันที่",
|
||||
"delete_entire_sale" => "ลบรายการขายทั้งหมด",
|
||||
"discount" => "ส่วนลด %",
|
||||
"edit" => "แก้ไข",
|
||||
"edit_sale" => "แก้ไขรายการรับ",
|
||||
"employee" => "พนักงาน",
|
||||
"error_editing_item" => "แก้ไขสินค้าล้มเหลว",
|
||||
"error_requisition" => "ไม่สามารถย้ายสินค้าคงคลังจากหรือไปยังที่เก็บสินค้าเดียวกัน",
|
||||
"find_or_scan_item" => "ค้นหาสินค้า",
|
||||
"find_or_scan_item_or_receipt" => "ค้นหาสินค้าหรือบิล",
|
||||
"id" => "รายการสินค้าเข้า ID",
|
||||
"item_name" => "ชื่อสินคัา",
|
||||
"mode" => "ประเภทธุรกรรม",
|
||||
"new_supplier" => "ผู้ผลิตรายใหม่",
|
||||
"one_or_multiple" => "ใบรับสินค้า",
|
||||
"print_after_sale" => "พิมพ์บิลหลังการขาย",
|
||||
"quantity" => "จำนวน.",
|
||||
"receipt" => "บิลสินค้าเข้า",
|
||||
"receipt_number" => "ใบรับสินค้า #",
|
||||
"receiving" => "รับสินค้า",
|
||||
"reference" => "อ้างอิง",
|
||||
"register" => "รับสินค้า",
|
||||
"requisition" => "เบิกสินค้า",
|
||||
"return" => "คืนสินค้า",
|
||||
"select_supplier" => "เลือกคู่ค้า (ไม่ระบุก็ได้)",
|
||||
"ship_pack" => "แพคการขนส่ง",
|
||||
"start_typing_supplier_name" => "เริ่มต้นพิมพ์ชื่อผู้ผลิต...",
|
||||
"stock" => "คลังสินค้า",
|
||||
"stock_destination" => "คลังสินค้าปลายทาง",
|
||||
"stock_locaiton" => "สถานที่เก็บสินค้า",
|
||||
"stock_source" => "คลังสินค้าต้นทาง",
|
||||
"successfully_deleted" => "คุณได้ทำการลบเรียบร้อยแล้ว",
|
||||
"successfully_updated" => "ปรับปรุงใบรับสินค้าเรียบร้อยแล้ว",
|
||||
"supplier" => "ผู้ผลิต",
|
||||
"supplier_address" => "ที่อยู่",
|
||||
"supplier_email" => "อีเมล์",
|
||||
"supplier_location" => "ที่อยู่",
|
||||
"total" => "รวม",
|
||||
"transaction_failed" => "ทำรายการใบรับสินค้าล้มเหลว",
|
||||
"unable_to_add_item" => "ไม่สามารถเพิ่มสินค้าได้",
|
||||
"unsuccessfully_updated" => "ทำการปรับปรุง Receiving ไม่ได้",
|
||||
"update" => "ปรับปรุง",
|
||||
'amount_due' => "",
|
||||
'cancel_receiving' => "ยกเลิก",
|
||||
'cannot_be_deleted' => "ไม่สามารถลบใบรับสินค้าได้",
|
||||
'comments' => "ความคิดเห็น",
|
||||
'complete_receiving' => "เสร็จสิ้น",
|
||||
'confirm_cancel_receiving' => "คุณแน่ใจที่ต้องการล้างค่าใบรับสินค้าใช่หรือไม่? เมื่อล้างค่าแล้วทุกรายการจะถูกล้างออก",
|
||||
'confirm_delete' => "คุณต้องการลบใบรับสินค้าใช่หรือไม่? หากลบแล้วจะไม่สามารถเรียกคืนได้อีก",
|
||||
'confirm_finish_receiving' => "คุณต้องการบันทึกใบรับสินค้าใช่หรือไม่? เมื่อบันทึกแล้วไม่สามารถยกเลิกได้",
|
||||
'confirm_restore' => "",
|
||||
'cost' => "ต้นทุน",
|
||||
'daily' => "",
|
||||
'date' => "วันที่ใบรับสินค้า",
|
||||
'date_required' => "ต้องบันทึกวันที่ที่ถูกต้อง",
|
||||
'date_type' => "ต้องระบุวันที่",
|
||||
'delete_entire_sale' => "ลบรายการขายทั้งหมด",
|
||||
'discount' => "ส่วนลด %",
|
||||
'edit' => "แก้ไข",
|
||||
'edit_sale' => "แก้ไขรายการรับ",
|
||||
'employee' => "พนักงาน",
|
||||
'error_editing_item' => "แก้ไขสินค้าล้มเหลว",
|
||||
'error_requisition' => "ไม่สามารถย้ายสินค้าคงคลังจากหรือไปยังที่เก็บสินค้าเดียวกัน",
|
||||
'find_or_scan_item' => "ค้นหาสินค้า",
|
||||
'find_or_scan_item_or_receipt' => "ค้นหา หรือ แสกนรายการ หรือ ใบเสร็จ",
|
||||
'id' => "รายการสินค้าเข้า ID",
|
||||
'item_name' => "ชื่อสินคัา",
|
||||
'mode' => "ประเภทธุรกรรม",
|
||||
'new_supplier' => "ผู้ผลิตรายใหม่",
|
||||
'one_or_multiple' => "ใบรับสินค้า",
|
||||
'print_after_sale' => "พิมพ์บิลหลังการขาย",
|
||||
'quantity' => "จำนวน.",
|
||||
'receipt' => "บิลสินค้าเข้า",
|
||||
'receipt_number' => "ใบรับสินค้า #",
|
||||
'receiving' => "รับสินค้า",
|
||||
'reference' => "อ้างอิง",
|
||||
'register' => "รับสินค้า",
|
||||
'requisition' => "เบิกสินค้า",
|
||||
'return' => "คืนสินค้า",
|
||||
'select_supplier' => "เลือกคู่ค้า (ไม่ระบุก็ได้)",
|
||||
'ship_pack' => "แพคการขนส่ง",
|
||||
'start_typing_supplier_name' => "เริ่มต้นพิมพ์ชื่อผู้ผลิต...",
|
||||
'stock' => "คลังสินค้า",
|
||||
'stock_destination' => "คลังสินค้าปลายทาง",
|
||||
'stock_locaiton' => "สถานที่เก็บสินค้า",
|
||||
'stock_source' => "คลังสินค้าต้นทาง",
|
||||
'successfully_deleted' => "คุณได้ทำการลบเรียบร้อยแล้ว",
|
||||
'successfully_updated' => "ปรับปรุงใบรับสินค้าเรียบร้อยแล้ว",
|
||||
'supplier' => "ผู้ผลิต",
|
||||
'supplier_address' => "ที่อยู่",
|
||||
'supplier_email' => "อีเมล์",
|
||||
'supplier_location' => "ที่อยู่",
|
||||
'total' => "รวม",
|
||||
'transaction_failed' => "ทำรายการใบรับสินค้าล้มเหลว",
|
||||
'unable_to_add_item' => "ไม่สามารถเพิ่มสินค้าได้",
|
||||
'unsuccessfully_updated' => "ทำการปรับปรุง Receiving ไม่ได้",
|
||||
'update' => "ปรับปรุง",
|
||||
];
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"all" => "",
|
||||
"columns" => "",
|
||||
"hide_show_pagination" => "",
|
||||
"loading" => "",
|
||||
"page_from_to" => "",
|
||||
"refresh" => "",
|
||||
"rows_per_page" => "",
|
||||
"toggle" => "",
|
||||
'all' => "سب",
|
||||
'columns' => "",
|
||||
'hide_show_pagination' => "",
|
||||
'loading' => "",
|
||||
'page_from_to' => "",
|
||||
'refresh' => "",
|
||||
'rows_per_page' => "",
|
||||
'toggle' => "",
|
||||
];
|
||||
|
||||
@@ -1,49 +1,50 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"amount" => "",
|
||||
"amount_number" => "",
|
||||
"amount_required" => "",
|
||||
"cancel_cashups" => "",
|
||||
"cancel_cashups_enter" => "",
|
||||
"cannot_be_deleted" => "",
|
||||
"cash_difference" => "",
|
||||
"close_date" => "",
|
||||
"close_employee" => "",
|
||||
"closed_amount_card" => "",
|
||||
"closed_amount_cash" => "",
|
||||
"closed_amount_check" => "",
|
||||
"closed_amount_due" => "",
|
||||
"closed_amount_giftcard" => "",
|
||||
"closed_amount_total" => "",
|
||||
"closed_date" => "",
|
||||
"confirm_delete" => "",
|
||||
"confirm_restore" => "",
|
||||
"confirm_submit" => "",
|
||||
"date_number" => "",
|
||||
"date_required" => "",
|
||||
"description" => "",
|
||||
"enable_expected" => "",
|
||||
"error_adding_updating" => "",
|
||||
"giftcard" => "",
|
||||
"id" => "",
|
||||
"info" => "",
|
||||
"info_employee" => "",
|
||||
"is_deleted" => "",
|
||||
"new" => "",
|
||||
"no_cashups_to_display" => "",
|
||||
"none_selected" => "",
|
||||
"note" => "",
|
||||
"one_or_multiple" => "",
|
||||
"open_amount_cash" => "",
|
||||
"open_date" => "",
|
||||
"open_employee" => "",
|
||||
"opened_date" => "",
|
||||
"successful_adding" => "",
|
||||
"successful_deleted" => "",
|
||||
"successful_updating" => "",
|
||||
"total" => "",
|
||||
"transfer_amount_cash" => "",
|
||||
"transfer_amount_cash_minus" => "",
|
||||
"update" => "",
|
||||
"warning" => "",
|
||||
'amount' => "رقم",
|
||||
'amount_number' => "",
|
||||
'amount_required' => "",
|
||||
'cancel_cashups' => "",
|
||||
'cancel_cashups_enter' => "",
|
||||
'cannot_be_deleted' => "",
|
||||
'cash_difference' => "",
|
||||
'close_date' => "",
|
||||
'close_employee' => "",
|
||||
'closed_amount_card' => "",
|
||||
'closed_amount_cash' => "",
|
||||
'closed_amount_check' => "",
|
||||
'closed_amount_due' => "",
|
||||
'closed_amount_giftcard' => "",
|
||||
'closed_amount_total' => "",
|
||||
'closed_date' => "",
|
||||
'confirm_delete' => "",
|
||||
'confirm_restore' => "",
|
||||
'confirm_submit' => "",
|
||||
'date_number' => "",
|
||||
'date_required' => "",
|
||||
'description' => "",
|
||||
'enable_expected' => "",
|
||||
'error_adding_updating' => "",
|
||||
'giftcard' => "",
|
||||
'id' => "",
|
||||
'info' => "",
|
||||
'info_employee' => "",
|
||||
'is_deleted' => "",
|
||||
'new' => "",
|
||||
'no_cashups_to_display' => "",
|
||||
'none_selected' => "",
|
||||
'note' => "",
|
||||
'one_or_multiple' => "",
|
||||
'open_amount_cash' => "",
|
||||
'open_date' => "",
|
||||
'open_employee' => "",
|
||||
'opened_date' => "",
|
||||
'successful_adding' => "",
|
||||
'successful_deleted' => "",
|
||||
'successful_updating' => "",
|
||||
'total' => "",
|
||||
'transfer_amount_cash' => "",
|
||||
'transfer_amount_cash_minus' => "",
|
||||
'update' => "",
|
||||
'warning' => "",
|
||||
];
|
||||
|
||||
@@ -1,88 +1,89 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"address_1" => "",
|
||||
"address_2" => "",
|
||||
"admin" => "",
|
||||
"city" => "",
|
||||
"clerk" => "",
|
||||
"close" => "",
|
||||
"color" => "",
|
||||
"comments" => "",
|
||||
"common" => "",
|
||||
"confirm_search" => "",
|
||||
"copyrights" => "© 2010 - {0}",
|
||||
"correct_errors" => "",
|
||||
"country" => "",
|
||||
"dashboard" => "",
|
||||
"date" => "",
|
||||
"delete" => "",
|
||||
"det" => "",
|
||||
"download_import_template" => "",
|
||||
"edit" => "",
|
||||
"email" => "",
|
||||
"email_invalid_format" => "",
|
||||
"export_csv" => "",
|
||||
"export_csv_no" => "",
|
||||
"export_csv_yes" => "",
|
||||
"fields_required_message" => "",
|
||||
"fields_required_message_unique" => "",
|
||||
"first_name" => "",
|
||||
"first_name_required" => "",
|
||||
"first_page" => "",
|
||||
"gender" => "",
|
||||
"gender_female" => "",
|
||||
"gender_male" => "",
|
||||
"gender_undefined" => "",
|
||||
"icon" => "",
|
||||
"id" => "",
|
||||
"import" => "",
|
||||
"import_change_file" => "",
|
||||
"import_csv" => "",
|
||||
"import_full_path" => "",
|
||||
"import_remove_file" => "",
|
||||
"import_select_file" => "",
|
||||
"inv" => "",
|
||||
"last_name" => "",
|
||||
"last_name_required" => "",
|
||||
"last_page" => "",
|
||||
"learn_about_project" => "",
|
||||
"list_of" => "",
|
||||
"logo" => "",
|
||||
"logo_mark" => "",
|
||||
"logout" => "",
|
||||
"manager" => "",
|
||||
"migration_needed" => "",
|
||||
"new" => "",
|
||||
"no" => "",
|
||||
"no_persons_to_display" => "",
|
||||
"none_selected_text" => "",
|
||||
"or" => "",
|
||||
"people" => "",
|
||||
"phone_number" => "",
|
||||
"phone_number_required" => "",
|
||||
"please_visit_my" => "",
|
||||
"position" => "",
|
||||
"powered_by" => "",
|
||||
"price" => "",
|
||||
"print" => "",
|
||||
"remove" => "",
|
||||
"required" => "",
|
||||
"restore" => "",
|
||||
"return_policy" => "",
|
||||
"search" => "",
|
||||
"search_options" => "",
|
||||
"searched_for" => "",
|
||||
"software_short" => "",
|
||||
"software_title" => "",
|
||||
"state" => "",
|
||||
"submit" => "",
|
||||
"total_spent" => "",
|
||||
"unknown" => "",
|
||||
"view_recent_sales" => "",
|
||||
"website" => "",
|
||||
"welcome" => "",
|
||||
"welcome_message" => "",
|
||||
"yes" => "",
|
||||
"you_are_using_ospos" => "",
|
||||
"zip" => "",
|
||||
'address_1' => "گھر کا پتہ",
|
||||
'address_2' => "",
|
||||
'admin' => "",
|
||||
'city' => "",
|
||||
'clerk' => "",
|
||||
'close' => "",
|
||||
'color' => "",
|
||||
'comments' => "",
|
||||
'common' => "",
|
||||
'confirm_search' => "",
|
||||
'copyrights' => "© 2010 - {0}",
|
||||
'correct_errors' => "",
|
||||
'country' => "",
|
||||
'dashboard' => "",
|
||||
'date' => "",
|
||||
'delete' => "",
|
||||
'det' => "",
|
||||
'download_import_template' => "",
|
||||
'edit' => "",
|
||||
'email' => "",
|
||||
'email_invalid_format' => "",
|
||||
'export_csv' => "",
|
||||
'export_csv_no' => "",
|
||||
'export_csv_yes' => "",
|
||||
'fields_required_message' => "",
|
||||
'fields_required_message_unique' => "",
|
||||
'first_name' => "",
|
||||
'first_name_required' => "",
|
||||
'first_page' => "",
|
||||
'gender' => "",
|
||||
'gender_female' => "",
|
||||
'gender_male' => "",
|
||||
'gender_undefined' => "",
|
||||
'icon' => "",
|
||||
'id' => "",
|
||||
'import' => "",
|
||||
'import_change_file' => "",
|
||||
'import_csv' => "",
|
||||
'import_full_path' => "",
|
||||
'import_remove_file' => "",
|
||||
'import_select_file' => "",
|
||||
'inv' => "",
|
||||
'last_name' => "",
|
||||
'last_name_required' => "",
|
||||
'last_page' => "",
|
||||
'learn_about_project' => "",
|
||||
'list_of' => "",
|
||||
'logo' => "",
|
||||
'logo_mark' => "",
|
||||
'logout' => "",
|
||||
'manager' => "",
|
||||
'migration_needed' => "",
|
||||
'new' => "",
|
||||
'no' => "",
|
||||
'no_persons_to_display' => "",
|
||||
'none_selected_text' => "",
|
||||
'or' => "",
|
||||
'people' => "",
|
||||
'phone_number' => "",
|
||||
'phone_number_required' => "",
|
||||
'please_visit_my' => "",
|
||||
'position' => "",
|
||||
'powered_by' => "",
|
||||
'price' => "",
|
||||
'print' => "",
|
||||
'remove' => "",
|
||||
'required' => "",
|
||||
'restore' => "",
|
||||
'return_policy' => "",
|
||||
'search' => "",
|
||||
'search_options' => "",
|
||||
'searched_for' => "",
|
||||
'software_short' => "",
|
||||
'software_title' => "",
|
||||
'state' => "",
|
||||
'submit' => "",
|
||||
'total_spent' => "",
|
||||
'unknown' => "",
|
||||
'view_recent_sales' => "",
|
||||
'website' => "",
|
||||
'welcome' => "",
|
||||
'welcome_message' => "",
|
||||
'yes' => "",
|
||||
'you_are_using_ospos' => "",
|
||||
'zip' => "",
|
||||
];
|
||||
|
||||
@@ -1,56 +1,57 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"account_number" => "",
|
||||
"account_number_duplicate" => "",
|
||||
"available_points" => "",
|
||||
"available_points_value" => "",
|
||||
"average" => "",
|
||||
"avg_discount" => "",
|
||||
"basic_information" => "",
|
||||
"cannot_be_deleted" => "",
|
||||
"company_name" => "",
|
||||
"confirm_delete" => "",
|
||||
"confirm_restore" => "",
|
||||
"consent" => "",
|
||||
"consent_required" => "",
|
||||
"csv_import_failed" => "",
|
||||
"csv_import_nodata_wrongformat" => "",
|
||||
"csv_import_partially_failed" => "",
|
||||
"csv_import_success" => "",
|
||||
"customer" => "",
|
||||
"date" => "",
|
||||
"discount" => "",
|
||||
"discount_fixed" => "",
|
||||
"discount_percent" => "",
|
||||
"discount_type" => "",
|
||||
"email_duplicate" => "",
|
||||
"employee" => "",
|
||||
"error_adding_updating" => "",
|
||||
"import_items_csv" => "",
|
||||
"mailchimp_activity_click" => "",
|
||||
"mailchimp_activity_lastopen" => "",
|
||||
"mailchimp_activity_open" => "",
|
||||
"mailchimp_activity_total" => "",
|
||||
"mailchimp_activity_unopen" => "",
|
||||
"mailchimp_email_client" => "",
|
||||
"mailchimp_info" => "",
|
||||
"mailchimp_member_rating" => "",
|
||||
"mailchimp_status" => "",
|
||||
"mailchimp_vip" => "",
|
||||
"max" => "",
|
||||
"min" => "",
|
||||
"new" => "",
|
||||
"none_selected" => "",
|
||||
"one_or_multiple" => "",
|
||||
"quantity" => "",
|
||||
"stats_info" => "",
|
||||
"successful_adding" => "",
|
||||
"successful_deleted" => "",
|
||||
"successful_updating" => "",
|
||||
"tax_code" => "",
|
||||
"tax_id" => "",
|
||||
"taxable" => "",
|
||||
"total" => "",
|
||||
"update" => "",
|
||||
"rewards_package" => "",
|
||||
'account_number' => "اکاوٗنٹ",
|
||||
'account_number_duplicate' => "",
|
||||
'available_points' => "",
|
||||
'available_points_value' => "",
|
||||
'average' => "",
|
||||
'avg_discount' => "",
|
||||
'basic_information' => "",
|
||||
'cannot_be_deleted' => "",
|
||||
'company_name' => "",
|
||||
'confirm_delete' => "",
|
||||
'confirm_restore' => "",
|
||||
'consent' => "",
|
||||
'consent_required' => "",
|
||||
'csv_import_failed' => "",
|
||||
'csv_import_nodata_wrongformat' => "",
|
||||
'csv_import_partially_failed' => "",
|
||||
'csv_import_success' => "",
|
||||
'customer' => "",
|
||||
'date' => "",
|
||||
'discount' => "",
|
||||
'discount_fixed' => "",
|
||||
'discount_percent' => "",
|
||||
'discount_type' => "",
|
||||
'email_duplicate' => "",
|
||||
'employee' => "",
|
||||
'error_adding_updating' => "",
|
||||
'import_items_csv' => "",
|
||||
'mailchimp_activity_click' => "",
|
||||
'mailchimp_activity_lastopen' => "",
|
||||
'mailchimp_activity_open' => "",
|
||||
'mailchimp_activity_total' => "",
|
||||
'mailchimp_activity_unopen' => "",
|
||||
'mailchimp_email_client' => "",
|
||||
'mailchimp_info' => "",
|
||||
'mailchimp_member_rating' => "",
|
||||
'mailchimp_status' => "",
|
||||
'mailchimp_vip' => "",
|
||||
'max' => "",
|
||||
'min' => "",
|
||||
'new' => "",
|
||||
'none_selected' => "",
|
||||
'one_or_multiple' => "",
|
||||
'quantity' => "",
|
||||
'stats_info' => "",
|
||||
'successful_adding' => "",
|
||||
'successful_deleted' => "",
|
||||
'successful_updating' => "",
|
||||
'tax_code' => "",
|
||||
'tax_id' => "",
|
||||
'taxable' => "",
|
||||
'total' => "",
|
||||
'update' => "",
|
||||
'rewards_package' => "",
|
||||
];
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"all_time" => "",
|
||||
"apply" => "",
|
||||
"cancel" => "",
|
||||
"custom" => "",
|
||||
"from" => "",
|
||||
"last_30" => "",
|
||||
"last_7" => "",
|
||||
"last_financial_year" => "",
|
||||
"last_month" => "",
|
||||
"last_year" => "",
|
||||
"same_month_last_year" => "",
|
||||
"same_month_to_same_day_last_year" => "",
|
||||
"this_financial_year" => "",
|
||||
"this_month" => "",
|
||||
"this_year" => "",
|
||||
"to" => "",
|
||||
"today" => "",
|
||||
"today_last_year" => "",
|
||||
"weekstart" => "",
|
||||
"yesterday" => "",
|
||||
'all_time' => "ہمیشہ",
|
||||
'apply' => "",
|
||||
'cancel' => "",
|
||||
'custom' => "",
|
||||
'from' => "",
|
||||
'last_30' => "",
|
||||
'last_7' => "",
|
||||
'last_financial_year' => "",
|
||||
'last_month' => "",
|
||||
'last_year' => "",
|
||||
'same_month_last_year' => "",
|
||||
'same_month_to_same_day_last_year' => "",
|
||||
'this_financial_year' => "",
|
||||
'this_month' => "",
|
||||
'this_year' => "",
|
||||
'to' => "",
|
||||
'today' => "",
|
||||
'today_last_year' => "",
|
||||
'weekstart' => "",
|
||||
'yesterday' => "",
|
||||
];
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"no_permission_module" => "",
|
||||
"unknown" => "",
|
||||
'no_permission_module' => "آپ کو اس ماڈیول تک رسائی کی اجازت نہیں ہے",
|
||||
'unknown' => "غیر متوقع رکاوٹ",
|
||||
];
|
||||
|
||||
@@ -1,50 +1,51 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"add_item" => "",
|
||||
"amount" => "",
|
||||
"amount_number" => "",
|
||||
"amount_required" => "",
|
||||
"by_category" => "",
|
||||
"cannot_be_deleted" => "",
|
||||
"cash" => "",
|
||||
"cash_filter" => "",
|
||||
"categories_name" => "",
|
||||
"category_required" => "",
|
||||
"check" => "",
|
||||
"check_filter" => "",
|
||||
"confirm_delete" => "",
|
||||
"confirm_restore" => "",
|
||||
"credit" => "",
|
||||
"credit_filter" => "",
|
||||
"date" => "",
|
||||
"date_number" => "",
|
||||
"date_required" => "",
|
||||
"debit" => "",
|
||||
"debit_filter" => "",
|
||||
"description" => "",
|
||||
"due" => "",
|
||||
"due_filter" => "",
|
||||
"employee" => "",
|
||||
"error_adding_updating" => "",
|
||||
"expense_id" => "",
|
||||
"expenses_employee" => "",
|
||||
"info" => "",
|
||||
"ip_address" => "",
|
||||
"is_deleted" => "",
|
||||
"name_required" => "",
|
||||
"new" => "",
|
||||
"new_supplier" => "",
|
||||
"no_expenses_to_display" => "",
|
||||
"none_selected" => "",
|
||||
"one_or_multiple" => "",
|
||||
"payment" => "",
|
||||
"start_typing_supplier_name" => "",
|
||||
"successful_adding" => "",
|
||||
"successful_deleted" => "",
|
||||
"successful_updating" => "",
|
||||
"supplier_name" => "",
|
||||
"supplier_tax_code" => "",
|
||||
"tax_amount" => "",
|
||||
"tax_amount_number" => "",
|
||||
"update" => "",
|
||||
'add_item' => "",
|
||||
'amount' => "رقم",
|
||||
'amount_number' => "",
|
||||
'amount_required' => "",
|
||||
'by_category' => "",
|
||||
'cannot_be_deleted' => "زمرہ کے اخراجات کو حذف نہیں کیا جا سکا",
|
||||
'cash' => "",
|
||||
'cash_filter' => "",
|
||||
'categories_name' => "",
|
||||
'category_required' => "",
|
||||
'check' => "",
|
||||
'check_filter' => "",
|
||||
'confirm_delete' => "",
|
||||
'confirm_restore' => "",
|
||||
'credit' => "",
|
||||
'credit_filter' => "",
|
||||
'date' => "",
|
||||
'date_number' => "",
|
||||
'date_required' => "",
|
||||
'debit' => "",
|
||||
'debit_filter' => "",
|
||||
'description' => "",
|
||||
'due' => "",
|
||||
'due_filter' => "",
|
||||
'employee' => "",
|
||||
'error_adding_updating' => "",
|
||||
'expense_id' => "",
|
||||
'expenses_employee' => "",
|
||||
'info' => "",
|
||||
'ip_address' => "",
|
||||
'is_deleted' => "",
|
||||
'name_required' => "",
|
||||
'new' => "",
|
||||
'new_supplier' => "",
|
||||
'no_expenses_to_display' => "",
|
||||
'none_selected' => "",
|
||||
'one_or_multiple' => "",
|
||||
'payment' => "",
|
||||
'start_typing_supplier_name' => "",
|
||||
'successful_adding' => "",
|
||||
'successful_deleted' => "",
|
||||
'successful_updating' => "",
|
||||
'supplier_name' => "",
|
||||
'supplier_tax_code' => "",
|
||||
'tax_amount' => "",
|
||||
'tax_amount_number' => "",
|
||||
'update' => "",
|
||||
];
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"category_name_required" => "",
|
||||
"add_item" => "",
|
||||
"cannot_be_deleted" => "",
|
||||
"category_id" => "",
|
||||
"confirm_delete" => "",
|
||||
"confirm_restore" => "",
|
||||
"description" => "",
|
||||
"error_adding_updating" => "",
|
||||
"info" => "",
|
||||
"name" => "",
|
||||
"new" => "",
|
||||
"no_expenses_categories_to_display" => "",
|
||||
"none_selected" => "",
|
||||
"one_or_multiple" => "",
|
||||
"quantity" => "",
|
||||
"successful_adding" => "",
|
||||
"successful_deleted" => "",
|
||||
"successful_updating" => "",
|
||||
"update" => "",
|
||||
'category_name_required' => "اخراجات کے زمرے کا نام درکار ہے",
|
||||
'add_item' => "زمرہ شامل کریں",
|
||||
'cannot_be_deleted' => "زمرہ کے اخراجات کو حذف نہیں کیا جا سکا",
|
||||
'category_id' => "شناخت",
|
||||
'confirm_delete' => "کیا آپ واقعی منتخب کردہ اخراجات کے زمرے کو حذف کرنا چاہتے ہیں؟",
|
||||
'confirm_restore' => "کیا آپ واقعی منتخب کردہ اخراجات کے زمرے کو بحال کرنا چاہتے ہیں؟",
|
||||
'description' => "زمرے کے تفصیلات",
|
||||
'error_adding_updating' => "",
|
||||
'info' => "",
|
||||
'name' => "",
|
||||
'new' => "",
|
||||
'no_expenses_categories_to_display' => "",
|
||||
'none_selected' => "",
|
||||
'one_or_multiple' => "",
|
||||
'quantity' => "",
|
||||
'successful_adding' => "",
|
||||
'successful_deleted' => "",
|
||||
'successful_updating' => "",
|
||||
'update' => "",
|
||||
];
|
||||
|
||||
@@ -1,224 +1,225 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
"customers_available_points" => "",
|
||||
"rewards_package" => "",
|
||||
"rewards_remaining_balance" => "",
|
||||
"account_number" => "",
|
||||
"add_payment" => "",
|
||||
"amount_due" => "",
|
||||
"amount_tendered" => "",
|
||||
"authorized_signature" => "",
|
||||
"cancel_sale" => "",
|
||||
"cash" => "",
|
||||
"cash_1" => "",
|
||||
"cash_2" => "",
|
||||
"cash_3" => "",
|
||||
"cash_4" => "",
|
||||
"cash_adjustment" => "",
|
||||
"cash_deposit" => "",
|
||||
"cash_filter" => "",
|
||||
"change_due" => "",
|
||||
"change_price" => "",
|
||||
"check" => "",
|
||||
"check_balance" => "",
|
||||
"check_filter" => "",
|
||||
"close" => "",
|
||||
"comment" => "",
|
||||
"comments" => "",
|
||||
"company_name" => "",
|
||||
"complete" => "",
|
||||
"complete_sale" => "",
|
||||
"confirm_cancel_sale" => "",
|
||||
"confirm_delete" => "",
|
||||
"confirm_restore" => "",
|
||||
"credit" => "",
|
||||
"credit_deposit" => "",
|
||||
"credit_filter" => "",
|
||||
"current_table" => "",
|
||||
"customer" => "",
|
||||
"customer_address" => "",
|
||||
"customer_discount" => "",
|
||||
"customer_email" => "",
|
||||
"customer_location" => "",
|
||||
"customer_mailchimp_status" => "",
|
||||
"customer_optional" => "",
|
||||
"customer_required" => "",
|
||||
"customer_total" => "",
|
||||
"customer_total_spent" => "",
|
||||
"daily_sales" => "",
|
||||
"date" => "",
|
||||
"date_range" => "",
|
||||
"date_required" => "",
|
||||
"date_type" => "",
|
||||
"debit" => "",
|
||||
"debit_filter" => "",
|
||||
"delete" => "",
|
||||
"delete_confirmation" => "",
|
||||
"delete_entire_sale" => "",
|
||||
"delete_successful" => "",
|
||||
"delete_unsuccessful" => "",
|
||||
"description_abbrv" => "",
|
||||
"discard" => "",
|
||||
"discard_quote" => "",
|
||||
"discount" => "",
|
||||
"discount_included" => "",
|
||||
"discount_short" => "",
|
||||
"due" => "",
|
||||
"due_filter" => "",
|
||||
"edit" => "",
|
||||
"edit_item" => "",
|
||||
"edit_sale" => "",
|
||||
"email_receipt" => "",
|
||||
"employee" => "",
|
||||
"entry" => "",
|
||||
"error_editing_item" => "",
|
||||
"find_or_scan_item" => "",
|
||||
"find_or_scan_item_or_receipt" => "",
|
||||
"giftcard" => "",
|
||||
"giftcard_balance" => "",
|
||||
"giftcard_filter" => "",
|
||||
"giftcard_number" => "",
|
||||
"group_by_category" => "",
|
||||
"group_by_type" => "",
|
||||
"hsn" => "",
|
||||
"id" => "",
|
||||
"include_prices" => "",
|
||||
"invoice" => "",
|
||||
"invoice_confirm" => "",
|
||||
"invoice_enable" => "",
|
||||
"invoice_filter" => "",
|
||||
"invoice_no_email" => "",
|
||||
"invoice_number" => "",
|
||||
"invoice_number_duplicate" => "",
|
||||
"invoice_sent" => "",
|
||||
"invoice_total" => "",
|
||||
"invoice_type_custom_invoice" => "",
|
||||
"invoice_type_custom_tax_invoice" => "",
|
||||
"invoice_type_invoice" => "",
|
||||
"invoice_type_tax_invoice" => "",
|
||||
"invoice_unsent" => "",
|
||||
"invoice_update" => "",
|
||||
"item_insufficient_of_stock" => "",
|
||||
"item_name" => "",
|
||||
"item_number" => "",
|
||||
"item_out_of_stock" => "",
|
||||
"key_browser" => "",
|
||||
"key_cancel" => "Cancels Current Quote/Invoice/Sale",
|
||||
"key_customer_search" => "Customer Search",
|
||||
"key_finish_quote" => "Finish Quote/Invoice witdout payment",
|
||||
"key_finish_sale" => "Add Payment and Complete Invoice/Sale",
|
||||
"key_full" => "",
|
||||
"key_function" => "Function",
|
||||
"key_help" => "Shortcuts",
|
||||
"key_help_modal" => "Open Shortcuts Window",
|
||||
"key_in" => "",
|
||||
"key_item_search" => "Item Search",
|
||||
"key_out" => "",
|
||||
"key_payment" => "Add Payment",
|
||||
"key_print" => "",
|
||||
"key_restore" => "",
|
||||
"key_search" => "",
|
||||
"key_suspend" => "Suspend Current Sale",
|
||||
"key_suspended" => "Show Suspended Sales",
|
||||
"key_system" => "",
|
||||
"key_tendered" => "Edit Amount Tendered",
|
||||
"key_title" => "Sales Keyboard Shortcuts",
|
||||
"mc" => "",
|
||||
"mode" => "",
|
||||
"must_enter_numeric" => "",
|
||||
"must_enter_numeric_giftcard" => "",
|
||||
"new_customer" => "",
|
||||
"new_item" => "",
|
||||
"no_description" => "",
|
||||
"no_filter" => "",
|
||||
"no_items_in_cart" => "",
|
||||
"no_sales_to_display" => "",
|
||||
"none_selected" => "",
|
||||
"nontaxed_ind" => "",
|
||||
"not_authorized" => "",
|
||||
"one_or_multiple" => "",
|
||||
"payment" => "",
|
||||
"payment_amount" => "",
|
||||
"payment_not_cover_total" => "",
|
||||
"payment_type" => "",
|
||||
"payments" => "",
|
||||
"payments_total" => "",
|
||||
"price" => "",
|
||||
"print_after_sale" => "",
|
||||
"quantity" => "",
|
||||
"quantity_less_than_reorder_level" => "",
|
||||
"quantity_less_than_zero" => "",
|
||||
"quantity_of_items" => "",
|
||||
"quote" => "",
|
||||
"quote_number" => "",
|
||||
"quote_number_duplicate" => "",
|
||||
"quote_sent" => "",
|
||||
"quote_unsent" => "",
|
||||
"receipt" => "",
|
||||
"receipt_no_email" => "",
|
||||
"receipt_number" => "",
|
||||
"receipt_sent" => "",
|
||||
"receipt_unsent" => "",
|
||||
"refund" => "",
|
||||
"register" => "",
|
||||
"remove_customer" => "",
|
||||
"remove_discount" => "",
|
||||
"return" => "",
|
||||
"rewards" => "",
|
||||
"rewards_balance" => "",
|
||||
"sale" => "",
|
||||
"sale_by_invoice" => "",
|
||||
"sale_for_customer" => "",
|
||||
"sale_time" => "",
|
||||
"sales_tax" => "",
|
||||
"sales_total" => "",
|
||||
"select_customer" => "",
|
||||
"send_invoice" => "",
|
||||
"send_quote" => "",
|
||||
"send_receipt" => "",
|
||||
"send_work_order" => "",
|
||||
"serial" => "",
|
||||
"service_charge" => "",
|
||||
"show_due" => "",
|
||||
"show_invoice" => "",
|
||||
"show_receipt" => "",
|
||||
"start_typing_customer_name" => "",
|
||||
"start_typing_item_name" => "",
|
||||
"stock" => "",
|
||||
"stock_location" => "",
|
||||
"sub_total" => "",
|
||||
"successfully_deleted" => "",
|
||||
"successfully_restored" => "",
|
||||
"successfully_suspended_sale" => "",
|
||||
"successfully_updated" => "",
|
||||
"suspend_sale" => "",
|
||||
"suspended_doc_id" => "",
|
||||
"suspended_sale_id" => "",
|
||||
"suspended_sales" => "",
|
||||
"table" => "",
|
||||
"takings" => "",
|
||||
"tax" => "",
|
||||
"tax_id" => "",
|
||||
"tax_invoice" => "",
|
||||
"tax_percent" => "",
|
||||
"taxed_ind" => "",
|
||||
"total" => "",
|
||||
"total_tax_exclusive" => "",
|
||||
"transaction_failed" => "",
|
||||
"unable_to_add_item" => "",
|
||||
"unsuccessfully_deleted" => "",
|
||||
"unsuccessfully_restored" => "",
|
||||
"unsuccessfully_suspended_sale" => "",
|
||||
"unsuccessfully_updated" => "",
|
||||
"unsuspend" => "",
|
||||
"unsuspend_and_delete" => "",
|
||||
"update" => "",
|
||||
"upi" => "",
|
||||
"visa" => "",
|
||||
"wholesale" => "",
|
||||
"work_order" => "",
|
||||
"work_order_number" => "",
|
||||
"work_order_number_duplicate" => "",
|
||||
"work_order_sent" => "",
|
||||
"work_order_unsent" => "",
|
||||
'customers_available_points' => "",
|
||||
'rewards_package' => "",
|
||||
'rewards_remaining_balance' => "",
|
||||
'account_number' => "اکاوٗنٹ",
|
||||
'add_payment' => "",
|
||||
'amount_due' => "",
|
||||
'amount_tendered' => "",
|
||||
'authorized_signature' => "",
|
||||
'cancel_sale' => "",
|
||||
'cash' => "",
|
||||
'cash_1' => "",
|
||||
'cash_2' => "",
|
||||
'cash_3' => "",
|
||||
'cash_4' => "",
|
||||
'cash_adjustment' => "",
|
||||
'cash_deposit' => "",
|
||||
'cash_filter' => "",
|
||||
'change_due' => "",
|
||||
'change_price' => "",
|
||||
'check' => "",
|
||||
'check_balance' => "",
|
||||
'check_filter' => "",
|
||||
'close' => "",
|
||||
'comment' => "",
|
||||
'comments' => "",
|
||||
'company_name' => "",
|
||||
'complete' => "",
|
||||
'complete_sale' => "",
|
||||
'confirm_cancel_sale' => "",
|
||||
'confirm_delete' => "",
|
||||
'confirm_restore' => "",
|
||||
'credit' => "",
|
||||
'credit_deposit' => "",
|
||||
'credit_filter' => "",
|
||||
'current_table' => "",
|
||||
'customer' => "",
|
||||
'customer_address' => "",
|
||||
'customer_discount' => "",
|
||||
'customer_email' => "",
|
||||
'customer_location' => "",
|
||||
'customer_mailchimp_status' => "",
|
||||
'customer_optional' => "",
|
||||
'customer_required' => "",
|
||||
'customer_total' => "",
|
||||
'customer_total_spent' => "",
|
||||
'daily_sales' => "",
|
||||
'date' => "",
|
||||
'date_range' => "",
|
||||
'date_required' => "",
|
||||
'date_type' => "",
|
||||
'debit' => "",
|
||||
'debit_filter' => "",
|
||||
'delete' => "",
|
||||
'delete_confirmation' => "",
|
||||
'delete_entire_sale' => "",
|
||||
'delete_successful' => "",
|
||||
'delete_unsuccessful' => "",
|
||||
'description_abbrv' => "",
|
||||
'discard' => "",
|
||||
'discard_quote' => "",
|
||||
'discount' => "",
|
||||
'discount_included' => "",
|
||||
'discount_short' => "",
|
||||
'due' => "",
|
||||
'due_filter' => "",
|
||||
'edit' => "",
|
||||
'edit_item' => "",
|
||||
'edit_sale' => "",
|
||||
'email_receipt' => "",
|
||||
'employee' => "",
|
||||
'entry' => "",
|
||||
'error_editing_item' => "",
|
||||
'find_or_scan_item' => "",
|
||||
'find_or_scan_item_or_receipt' => "",
|
||||
'giftcard' => "",
|
||||
'giftcard_balance' => "",
|
||||
'giftcard_filter' => "",
|
||||
'giftcard_number' => "",
|
||||
'group_by_category' => "",
|
||||
'group_by_type' => "",
|
||||
'hsn' => "",
|
||||
'id' => "",
|
||||
'include_prices' => "",
|
||||
'invoice' => "",
|
||||
'invoice_confirm' => "",
|
||||
'invoice_enable' => "",
|
||||
'invoice_filter' => "",
|
||||
'invoice_no_email' => "",
|
||||
'invoice_number' => "",
|
||||
'invoice_number_duplicate' => "",
|
||||
'invoice_sent' => "",
|
||||
'invoice_total' => "",
|
||||
'invoice_type_custom_invoice' => "",
|
||||
'invoice_type_custom_tax_invoice' => "",
|
||||
'invoice_type_invoice' => "",
|
||||
'invoice_type_tax_invoice' => "",
|
||||
'invoice_unsent' => "",
|
||||
'invoice_update' => "",
|
||||
'item_insufficient_of_stock' => "",
|
||||
'item_name' => "",
|
||||
'item_number' => "",
|
||||
'item_out_of_stock' => "",
|
||||
'key_browser' => "",
|
||||
'key_cancel' => "Cancels Current Quote/Invoice/Sale",
|
||||
'key_customer_search' => "Customer Search",
|
||||
'key_finish_quote' => "Finish Quote/Invoice witdout payment",
|
||||
'key_finish_sale' => "Add Payment and Complete Invoice/Sale",
|
||||
'key_full' => "",
|
||||
'key_function' => "Function",
|
||||
'key_help' => "Shortcuts",
|
||||
'key_help_modal' => "Open Shortcuts Window",
|
||||
'key_in' => "",
|
||||
'key_item_search' => "Item Search",
|
||||
'key_out' => "",
|
||||
'key_payment' => "Add Payment",
|
||||
'key_print' => "",
|
||||
'key_restore' => "",
|
||||
'key_search' => "",
|
||||
'key_suspend' => "Suspend Current Sale",
|
||||
'key_suspended' => "Show Suspended Sales",
|
||||
'key_system' => "",
|
||||
'key_tendered' => "Edit Amount Tendered",
|
||||
'key_title' => "Sales Keyboard Shortcuts",
|
||||
'mc' => "",
|
||||
'mode' => "",
|
||||
'must_enter_numeric' => "",
|
||||
'must_enter_numeric_giftcard' => "",
|
||||
'new_customer' => "",
|
||||
'new_item' => "",
|
||||
'no_description' => "",
|
||||
'no_filter' => "",
|
||||
'no_items_in_cart' => "",
|
||||
'no_sales_to_display' => "",
|
||||
'none_selected' => "",
|
||||
'nontaxed_ind' => "",
|
||||
'not_authorized' => "",
|
||||
'one_or_multiple' => "",
|
||||
'payment' => "",
|
||||
'payment_amount' => "",
|
||||
'payment_not_cover_total' => "",
|
||||
'payment_type' => "",
|
||||
'payments' => "",
|
||||
'payments_total' => "",
|
||||
'price' => "",
|
||||
'print_after_sale' => "",
|
||||
'quantity' => "",
|
||||
'quantity_less_than_reorder_level' => "",
|
||||
'quantity_less_than_zero' => "",
|
||||
'quantity_of_items' => "",
|
||||
'quote' => "",
|
||||
'quote_number' => "",
|
||||
'quote_number_duplicate' => "",
|
||||
'quote_sent' => "",
|
||||
'quote_unsent' => "",
|
||||
'receipt' => "",
|
||||
'receipt_no_email' => "",
|
||||
'receipt_number' => "",
|
||||
'receipt_sent' => "",
|
||||
'receipt_unsent' => "",
|
||||
'refund' => "",
|
||||
'register' => "",
|
||||
'remove_customer' => "",
|
||||
'remove_discount' => "",
|
||||
'return' => "",
|
||||
'rewards' => "",
|
||||
'rewards_balance' => "",
|
||||
'sale' => "",
|
||||
'sale_by_invoice' => "",
|
||||
'sale_for_customer' => "",
|
||||
'sale_time' => "",
|
||||
'sales_tax' => "",
|
||||
'sales_total' => "",
|
||||
'select_customer' => "",
|
||||
'send_invoice' => "",
|
||||
'send_quote' => "",
|
||||
'send_receipt' => "",
|
||||
'send_work_order' => "",
|
||||
'serial' => "",
|
||||
'service_charge' => "",
|
||||
'show_due' => "",
|
||||
'show_invoice' => "",
|
||||
'show_receipt' => "",
|
||||
'start_typing_customer_name' => "",
|
||||
'start_typing_item_name' => "",
|
||||
'stock' => "",
|
||||
'stock_location' => "",
|
||||
'sub_total' => "",
|
||||
'successfully_deleted' => "",
|
||||
'successfully_restored' => "",
|
||||
'successfully_suspended_sale' => "",
|
||||
'successfully_updated' => "",
|
||||
'suspend_sale' => "",
|
||||
'suspended_doc_id' => "",
|
||||
'suspended_sale_id' => "",
|
||||
'suspended_sales' => "",
|
||||
'table' => "",
|
||||
'takings' => "",
|
||||
'tax' => "",
|
||||
'tax_id' => "",
|
||||
'tax_invoice' => "",
|
||||
'tax_percent' => "",
|
||||
'taxed_ind' => "",
|
||||
'total' => "",
|
||||
'total_tax_exclusive' => "",
|
||||
'transaction_failed' => "",
|
||||
'unable_to_add_item' => "",
|
||||
'unsuccessfully_deleted' => "",
|
||||
'unsuccessfully_restored' => "",
|
||||
'unsuccessfully_suspended_sale' => "",
|
||||
'unsuccessfully_updated' => "",
|
||||
'unsuspend' => "",
|
||||
'unsuspend_and_delete' => "",
|
||||
'update' => "",
|
||||
'upi' => "",
|
||||
'visa' => "",
|
||||
'wholesale' => "",
|
||||
'work_order' => "",
|
||||
'work_order_number' => "",
|
||||
'work_order_number_duplicate' => "",
|
||||
'work_order_sent' => "",
|
||||
'work_order_unsent' => "",
|
||||
];
|
||||
|
||||
@@ -26,27 +26,26 @@ class Email_lib
|
||||
$this->config = config(OSPOS::class)->settings;
|
||||
|
||||
$encrypter = Services::encrypter();
|
||||
|
||||
|
||||
$smtp_pass = $this->config['smtp_pass'];
|
||||
if(!empty($smtp_pass))
|
||||
{
|
||||
$smtp_pass = $encrypter->decrypt($smtp_pass);
|
||||
$smtp_pass = $encrypter->decrypt($smtp_pass);
|
||||
}
|
||||
|
||||
|
||||
$email_config = [
|
||||
'mailtype' => 'html',
|
||||
'useragent' => 'OSPOS',
|
||||
'validate' => true,
|
||||
'protocol' => $this->config['protocol'],
|
||||
'mailpath' => $this->config['mailpath'],
|
||||
'smtp_host' => $this->config['smtp_host'],
|
||||
'smtp_user' => $this->config['smtp_user'],
|
||||
'smtp_pass' => $smtp_pass,
|
||||
'smtp_port' => $this->config['smtp_port'],
|
||||
'smtp_timeout' => $this->config['smtp_timeout'],
|
||||
'smtp_crypto' => $this->config['smtp_crypto']
|
||||
'mailType' => 'html',
|
||||
'userAgent' => 'OSPOS',
|
||||
'validate' => true,
|
||||
'protocol' => $this->config['protocol'],
|
||||
'mailPath' => $this->config['mailpath'],
|
||||
'SMTPHost' => $this->config['smtp_host'],
|
||||
'SMTPUser' => $this->config['smtp_user'],
|
||||
'SMTPPass' => $smtp_pass,
|
||||
'SMTPPort' => (int)$this->config['smtp_port'],
|
||||
'SMTPTimeout' => (int)$this->config['smtp_timeout'],
|
||||
'SMTPCrypto' => $this->config['smtp_crypto']
|
||||
];
|
||||
|
||||
$this->email->initialize($email_config);
|
||||
}
|
||||
|
||||
|
||||
@@ -246,7 +246,7 @@ class Receiving_lib
|
||||
* @param string $stock_destination
|
||||
* @return void
|
||||
*/
|
||||
public function set_stock_destination(string $stock_destination): void
|
||||
public function set_stock_destination(?string $stock_destination): void
|
||||
{
|
||||
$this->session->set('recv_stock_destination', $stock_destination);
|
||||
}
|
||||
|
||||
@@ -19,26 +19,25 @@ class Token_lib
|
||||
*/
|
||||
public function render(string $tokened_text, array $tokens = [], $save = true): string
|
||||
{
|
||||
$config = config(OSPOS::class)->settings;
|
||||
$formatter = new IntlDateFormatter(
|
||||
$config['number_locale'], // Locale
|
||||
IntlDateFormatter::FULL, // Date type
|
||||
IntlDateFormatter::FULL // Time type
|
||||
);
|
||||
|
||||
//Apply the transformation for the "%" tokens if any are used
|
||||
if(str_contains($tokened_text, '%'))
|
||||
// Apply the transformation for the "%" tokens if any are used
|
||||
if(strpos($tokened_text, '%') !== false)
|
||||
{
|
||||
|
||||
$tokened_text = $formatter->format(new DateTime());
|
||||
$tokened_text = strftime($tokened_text); //TODO: these need to be converted to IntlDateFormatter::format()
|
||||
}
|
||||
|
||||
//Call scan to build an array of all tokens used in the text to be transformed
|
||||
// Call scan to build an array of all of the tokens used in the text to be transformed
|
||||
$token_tree = $this->scan($tokened_text);
|
||||
|
||||
if(empty($token_tree))
|
||||
{
|
||||
return str_contains($tokened_text, '%') ? $formatter->format(new DateTime()) : $tokened_text;
|
||||
if(strpos($tokened_text, '%') !== false)
|
||||
{
|
||||
return strftime($tokened_text);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $tokened_text;
|
||||
}
|
||||
}
|
||||
|
||||
$token_values = [];
|
||||
|
||||
@@ -70,7 +70,7 @@ class Attribute extends Model
|
||||
* @param int|bool $definition_id Attribute definition ID to check.
|
||||
* @return bool returns true if at least one attribute_link exists or false if no attributes exist for that item and attribute.
|
||||
*/
|
||||
public function attributeLinkExists(int $item_id, int|bool $definition_id = false): bool
|
||||
public function attributeLinkExists(?int $item_id, int|bool $definition_id = false): bool
|
||||
{
|
||||
$builder = $this->db->table('attribute_links');
|
||||
$builder->where('item_id', $item_id);
|
||||
|
||||
@@ -42,7 +42,7 @@ class Giftcard extends Model
|
||||
{
|
||||
$builder = $this->db->table('giftcards');
|
||||
$builder->select('CAST(giftcard_number AS UNSIGNED) AS giftcard_number');
|
||||
$builder->where('giftcard_number REGEXP \'^[0-9]+$\' = 0');
|
||||
$builder->where('giftcard_number REGEXP \'^[0-9]+$\'');
|
||||
$builder->orderBy("giftcard_number","desc");
|
||||
$builder->limit(1);
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ class Receiving extends Model
|
||||
/**
|
||||
* @throws ReflectionException
|
||||
*/
|
||||
public function save_value(array $items, int $supplier_id, int $employee_id, string $comment, string $reference, string $payment_type, int $receiving_id = NEW_ENTRY): int //TODO: $receiving_id gets overwritten before it's evaluated. It doesn't make sense to pass this here.
|
||||
public function save_value(array $items, int $supplier_id, int $employee_id, string $comment, string $reference, ?string $payment_type, int $receiving_id = NEW_ENTRY): int //TODO: $receiving_id gets overwritten before it's evaluated. It doesn't make sense to pass this here.
|
||||
{
|
||||
$attribute = model(Attribute::class);
|
||||
$inventory = model('Inventory');
|
||||
@@ -187,7 +187,6 @@ class Receiving extends Model
|
||||
|
||||
$inventory->insert($inv_data, false);
|
||||
$attribute->copy_attribute_links($item_data['item_id'], 'receiving_id', $receiving_id);
|
||||
$supplier = $supplier->get_info($supplier_id); //TODO: supplier is never used after this.
|
||||
}
|
||||
|
||||
$this->db->transComplete();
|
||||
|
||||
@@ -61,7 +61,7 @@ class Summary_sales_taxes extends Summary_report
|
||||
}
|
||||
else
|
||||
{
|
||||
$builder->where('sale_time BETWEEN ' . rawurldecode($inputs['start_date']) . ' AND ' . rawurldecode($inputs['end_date']));
|
||||
$builder->where('sale_time BETWEEN ' . $this->db->escape(rawurldecode($inputs['start_date'])) . ' AND ' . $this->db->escape(rawurldecode($inputs['end_date'])));
|
||||
}
|
||||
|
||||
$builder->select('reporting_authority, jurisdiction_name, tax_category, tax_rate, SUM(sale_tax_amount) AS tax');
|
||||
|
||||
@@ -11,13 +11,13 @@ use App\Models\Customer;
|
||||
**/
|
||||
class Token_customer extends Token
|
||||
{
|
||||
private string $customer_info;
|
||||
private array $customer_info;
|
||||
private Sale_lib $sale_lib;
|
||||
|
||||
/**
|
||||
* @param string $customer_info
|
||||
*/
|
||||
public function __construct(string $customer_info = '')
|
||||
public function __construct(array $customer_info = [])
|
||||
{
|
||||
parent::__construct();
|
||||
$this->customer_info = $customer_info;
|
||||
|
||||
@@ -296,7 +296,7 @@ $(document).ready(function()
|
||||
data['currency_symbol'] = $('#currency_symbol').val();
|
||||
data['currency_code'] = $('#currency_code').val();
|
||||
data['thousands_separator'] = $('#thousands_separator').is(":checked")
|
||||
$.post("<?= "$controller_name /checkNumberLocale" ?>",
|
||||
$.post("<?= "$controller_name/checkNumberLocale" ?>",
|
||||
data,
|
||||
function(response) {
|
||||
$("input[name='save_number_locale']").val(response.save_number_locale);
|
||||
|
||||
@@ -42,6 +42,7 @@ use Config\OSPOS;
|
||||
echo "» OpenSSL: ", extension_loaded('openssl') ? '<span style="color: green;">Enabled ✓</span>' : '<span style="color: red">Disabled ✗</span>', '<br>';
|
||||
echo "» MBString: ", extension_loaded('mbstring') ? '<span style="color: green;">Enabled ✓</span>' : '<span style="color: red">Disabled ✗</span>', '<br>';
|
||||
echo "» Curl: ", extension_loaded('curl') ? '<span style="color: green;">Enabled ✓</span>' : '<span style="color: red">Disabled ✗</span>', '<br>';
|
||||
echo "» Json: ", extension_loaded('json') ? '<span style="color: green;">Enabled ✓</span>' : '<span style="color: red">Disabled ✗</span>', '<br><br>';
|
||||
echo "» Xml: ", extension_loaded('xml') ? '<span style="color: green;">Enabled ✓</span>' : '<span style="color: red">Disabled ✗</span>', '<br><br>';
|
||||
?>
|
||||
User Configuration:<br>
|
||||
@@ -77,13 +78,11 @@ use Config\OSPOS;
|
||||
}
|
||||
echo esc(getBrowserNameAndVersion($_SERVER['HTTP_USER_AGENT']));
|
||||
?><br>
|
||||
.Server Software: <?= esc($_SERVER['SERVER_SOFTWARE']) ?><br>
|
||||
.PHP Version: <?= PHP_VERSION ?><br>
|
||||
.DB Version: <?= esc($dbVersion) ?><br>
|
||||
.Server Port: <?= esc($_SERVER['SERVER_PORT']) ?><br>
|
||||
.OS: <?= php_uname('s') .' '. php_uname('r') ?><br><br>
|
||||
.OS Time Zone: <span id="timezone" style="font-weight:600"></span><br>
|
||||
.OSPOS Time Zone: <span id="ostimezone" style="font-weight:600;" ><?= esc($config['timezone']) ?></span>
|
||||
Server Software: <?= esc($_SERVER['SERVER_SOFTWARE']) ?><br>
|
||||
PHP Version: <?= PHP_VERSION ?><br>
|
||||
DB Version: <?= esc($dbVersion) ?><br>
|
||||
Server Port: <?= esc($_SERVER['SERVER_PORT']) ?><br>
|
||||
OS: <?= php_uname('s') .' '. php_uname('r') ?><br><br>
|
||||
<br><br>
|
||||
|
||||
File Permissions:<br>
|
||||
@@ -114,7 +113,7 @@ use Config\OSPOS;
|
||||
clearstatcache();
|
||||
?>
|
||||
<br>
|
||||
» [public/uploads:]
|
||||
» [writable/uploads:]
|
||||
<?php
|
||||
if (is_writable($uploads))
|
||||
{
|
||||
@@ -229,13 +228,14 @@ use Config\OSPOS;
|
||||
document.getSelection().removeAllRanges();
|
||||
});
|
||||
|
||||
document.getElementById("timezone").innerText = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
|
||||
$(function() {
|
||||
$('#timezone').clone().appendTo('#timezoneE');
|
||||
});
|
||||
|
||||
if($('#timezone').html() !== $('#ostimezone').html())
|
||||
document.getElementById("TimeError").innerHTML = '<span style="color: red;"><?= lang('Config.timezone_error') ?></span><br><br><?= lang('Config.user_timezone') ?><div id="timezoneE" style="font-weight:600;"></div><br><?= lang('Config.os_timezone') ?><div id="ostimezoneE" style="font-weight:600;"><?= esc($config['timezone']) ?></div><br>';
|
||||
if($('#timezone').html() !== $('#ostimezone').html()) {
|
||||
document.getElementById("timezone").innerText = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
document.getElementById("TimeError").innerHTML = '<span style="color: red;"><?= lang('Config.timezone_error') ?></span><br><br><?= lang('Config.user_timezone') ?><div id="timezoneE" style="font-weight:600;"></div><br><?= lang('Config.os_timezone') ?><div id="ostimezoneE" style="font-weight:600;"><?= esc($config['timezone']) ?></div><br>';
|
||||
}
|
||||
|
||||
</script>
|
||||
</div>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<html lang="<?= current_language_code() ?>">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta charset="utf-8">
|
||||
<base href="<?= base_url() ?>">
|
||||
<title><?= $config['company'] . ' | ' . lang('Common.software_short') . ' | ' . lang('Login.login') ?></title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
@@ -26,7 +26,7 @@
|
||||
? 'flatly'
|
||||
: $config['theme']);
|
||||
?>
|
||||
<link rel="stylesheet" type="text/css" href="<?= "resources/bootswatch5/$theme/bootstrap.min.css" ?>">
|
||||
<link rel="stylesheet" type="text/css" href="resources/bootswatch5/<?= "$theme" ?>/bootstrap.min.css">
|
||||
<!-- inject:login:css -->
|
||||
<link rel="stylesheet" href="css/login.min.css">
|
||||
<!-- endinject -->
|
||||
@@ -107,10 +107,11 @@
|
||||
|
||||
<footer class="d-flex justify-content-center flex-shrink-0 text-center">
|
||||
<div class="footer container-fluid bg-body rounded shadow p-3 mb-md-4 mx-md-3">
|
||||
<span class="text-body-secondary">
|
||||
<svg height="1em" role="img" viewBox="0 0 229.85 143.05001" xmlns="http://www.w3.org/2000/svg">
|
||||
<title><?= lang('Common.software_short') . ' ' . lang('Common.logo_mark') ?></title>
|
||||
<path fill="currentColor" d="M115.51 50.18c-.03-1.26-.03-3.29.19-4.29 4.6-11.1 15.57-18.82 28.3-18.82h.41v58.3c0 .12-.03.78-.04.9-.54 16.46-14.01 29.7-30.59 29.7v27.08c21 0 39.17-11.27 49.29-28.07l.07-.11c2.9.45 5.86.75 8.9.75 31.95 0 57.81-26 57.81-57.81 0-30.87-24.37-56.46-55.1-57.81h-30.74c-17.18 0-32.61 7.64-43.22 19.63C90.2 7.71 74.93.04 57.77.04 25.91.04 0 25.95 0 57.81c0 31.86 25.91 57.77 57.77 57.77 31.86 0 57.77-25.91 57.77-57.77v-3.68c-.01.01-.02-3.31-.03-3.95zM57.76 88.51c-16.92 0-30.69-13.77-30.69-30.69s13.77-30.69 30.69-30.69S88.45 40.9 88.45 57.82 74.68 88.51 57.76 88.51zm142.96-19.87c-4.33 11.64-15.57 19.9-28.7 19.9h-.54V27.07h.54c13.13 0 24.37 8.26 28.7 19.9 1.35 3.25 2.03 6.91 2.03 10.83s-.67 7.59-2.03 10.84z"/>
|
||||
<span class="text-primary">
|
||||
<svg height="1.25em" role="img" viewBox="0 0 308.57998 308.57997" xmlns="http://www.w3.org/2000/svg">
|
||||
<title><?= lang('Common.software_title') . ' ' . lang('Common.logo') ?></title>
|
||||
<circle cx="154.28999" cy="154.28999" r="154.28999" fill="currentColor"/>
|
||||
<path fill="#fff" d="M154.88998 145.66999c-.03-1.26-.03-3.29.19-4.29 4.6-11.1 15.57-18.82 28.3-18.82h.41v58.3c0 .12-.03.78-.04.9-.54 16.46-14.01 29.7-30.59 29.7v27.08c21 0 39.17-11.27 49.29-28.07l.07-.11c2.9.45 5.86.75 8.9.75 31.95 0 57.81-26 57.81-57.81 0-30.87-24.37-56.46-55.1-57.81h-30.74c-17.18 0-32.61 7.64-43.22 19.63-10.59-11.92-25.86-19.59-43.02-19.59-31.86 0-57.77 25.91-57.77 57.77 0 31.86 25.91 57.77 57.77 57.77 31.86 0 57.77-25.91 57.77-57.77v-3.68c-.01.01-.02-3.31-.03-3.95zm-57.75 38.33c-16.92 0-30.69-13.77-30.69-30.69s13.77-30.69 30.69-30.69 30.69 13.77 30.69 30.69-13.77 30.69-30.69 30.69zm142.96-19.87c-4.33 11.64-15.57 19.9-28.7 19.9h-.54v-61.47h.54c13.13 0 24.37 8.26 28.7 19.9 1.35 3.25 2.03 6.91 2.03 10.83s-.67 7.59-2.03 10.84z"/>
|
||||
</svg>
|
||||
</span>
|
||||
<span><?= lang('Common.software_title') ?></span>
|
||||
|
||||
@@ -56,7 +56,7 @@ $request = Services::request();
|
||||
|
||||
<div class="navbar-right" style="margin:0">
|
||||
<?= anchor("home/changePassword/$user_info->person_id", "$user_info->first_name $user_info->last_name", ['class' => 'modal-dlg', 'data-btn-submit' => lang('Common.submit'), 'title' => lang('Employees.change_password')]) ?>
|
||||
<?= ' | ' . ((ENVIRONMENT == 'development' || $request->getGet('debugdebug') == 'true') ? session('session_sha1') . ' | ' : '') ?>
|
||||
<span> | </span>
|
||||
<?= anchor('home/logout', lang('Login.logout')) ?>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -37,7 +37,9 @@
|
||||
if ($config['company_logo'] != '')
|
||||
{
|
||||
?>
|
||||
<div id="company_name"><img id="image" src="<?= esc(base_url('uploads/' . $config['company_logo']), 'url') ?>" alt="company_logo" /></div>
|
||||
<div id="company_name">
|
||||
<img id="image" src="<?= base_url('uploads/' . esc($config['company_logo'], 'url')) ?>" alt="company_logo" />
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -219,7 +219,7 @@ if (isset($success))
|
||||
{
|
||||
?>
|
||||
<td><?= $item['discount'] ?></td>
|
||||
<?= form_hidden('discount', $item['discount']) ?>
|
||||
<?= form_hidden('discount', (string)$item['discount']) ?>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -53,8 +53,6 @@
|
||||
.bootstrapTable({
|
||||
columns: <?= transform_headers(esc($headers), true, false) ?>,
|
||||
stickyHeader: true,
|
||||
stickyHeaderOffsetLeft: $('#table').offset().left + 'px',
|
||||
stickyHeaderOffsetRight: $('#table').offset().right + 'px',
|
||||
pageSize: <?= $config['lines_per_page'] ?>,
|
||||
sortable: true,
|
||||
showExport: true,
|
||||
|
||||
@@ -62,8 +62,6 @@
|
||||
.bootstrapTable({
|
||||
columns: <?= transform_headers(esc($headers['summary']), true) ?>,
|
||||
stickyHeader: true,
|
||||
stickyHeaderOffsetLeft: $('#table').offset().left + 'px',
|
||||
stickyHeaderOffsetRight: $('#table').offset().right + 'px',
|
||||
pageSize: <?= $config['lines_per_page'] ?>,
|
||||
pagination: true,
|
||||
sortable: true,
|
||||
|
||||
@@ -255,8 +255,7 @@ $(document).ready(function()
|
||||
<div id="sale_return_policy">
|
||||
<h5>
|
||||
<span><?= nl2br(esc($config['payment_message'])) ?></span>
|
||||
<span style='padding:4%;'><?= empty($comments) ? '' : lang('Sales.comments') . ': ' . esc($comments) ?></span>
|
||||
<span style='padding:4%;'><?= esc($config['invoice_default_comments']) ?></span>
|
||||
<span style='padding:4%;'><?= empty($comments) ? esc($config['invoice_default_comments']) : lang('Sales.comments') . ': ' . esc($comments) ?></span>
|
||||
</h5>
|
||||
<div style='padding:2%;'><?= nl2br(esc($config['return_policy'])) ?></div>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
*/
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="<?= $this->request->getLocale() ?>">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" type="text/css" href="<?= base_url('css/invoice_email.css') ?>"/>
|
||||
@@ -208,7 +207,7 @@ if(isset($error_message))
|
||||
<?= nl2br($config['return_policy']) ?>
|
||||
</div>
|
||||
<div id='barcode'>
|
||||
<img alt='<?= esc($barcode, 'attr') ?>' src='data:image/png;base64,<?= esc($barcode, 'attr') ?>' /><br>
|
||||
<img alt=<?='$sale_id'?> src='data:image/svg+xml;base64,<?= base64_encode($barcode) ?>' /><br>
|
||||
<?= $sale_id ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@ if (isset($error_message))
|
||||
{
|
||||
var send_email = function()
|
||||
{
|
||||
$.get('<?= site_url() . esc("/sales/sendReceipt/$sale_id_num", 'url') ?>',
|
||||
$.get('<?= site_url() . esc("/sales/sendPdf/$sale_id_num/receipt") ?>',
|
||||
function(response)
|
||||
{
|
||||
$.notify( { message: response.message }, { type: response.success ? 'success' : 'danger'} )
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<td class="total-value"><?= to_currency($item['discounted_total']) ?></td>
|
||||
<td class="total-value" style="text-align:right;"><?= to_currency($item['discounted_total']) ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
@@ -170,10 +170,6 @@
|
||||
<td style="<?= $border ? 'border-top: 2px solid black;' : '' ?>text-align:right"><?= to_currency($total) ?></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4"> </td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$only_sale_check = false;
|
||||
$show_giftcard_remainder = false;
|
||||
@@ -190,11 +186,7 @@
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<td colspan="4"> </td>
|
||||
</tr>
|
||||
|
||||
|
||||
<?php
|
||||
if(isset($cur_giftcard_value) && $show_giftcard_remainder)
|
||||
{
|
||||
@@ -216,14 +208,14 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="sale_return_policy" style="text-align:center">
|
||||
<?= nl2br(esc($config['return_policy'])) ?>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div id="barcode" style="text-align:center">
|
||||
<?= $barcode ?><br>
|
||||
<?= $sale_id ?>
|
||||
<div id="terms">
|
||||
<div id="sale_return_policy" style="text-align:center">
|
||||
<?= nl2br(esc($config['return_policy'])) ?>
|
||||
</div>
|
||||
|
||||
<div id='barcode' style="text-align:center">
|
||||
<img alt=<?='$sale_id'?> src='data:image/svg+xml;base64,<?= base64_encode($barcode) ?>' /><br>
|
||||
<?= $sale_id ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -23,8 +23,8 @@ services:
|
||||
networks:
|
||||
- app_net
|
||||
volumes:
|
||||
- uploads:/app/public/uploads
|
||||
- logs:/app/application/logs
|
||||
- uploads:/app/writable/uploads
|
||||
- logs:/app/writable/logs
|
||||
environment:
|
||||
- CI_ENVIRONMENT=${OSPOS_CI_ENV}
|
||||
- FORCE_HTTPS=true
|
||||
|
||||
@@ -11,12 +11,12 @@ services:
|
||||
depends_on:
|
||||
- mysql
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "80:80"
|
||||
networks:
|
||||
- app_net
|
||||
volumes:
|
||||
- uploads:/app/public/uploads
|
||||
- logs:/app/application/logs
|
||||
- uploads:/app/writable/uploads
|
||||
- logs:/app/writable/logs
|
||||
environment:
|
||||
- CI_ENVIRONMENT=production
|
||||
- FORCE_HTTPS=false
|
||||
|
||||
15
gulpfile.js
15
gulpfile.js
@@ -14,6 +14,7 @@ import header from 'gulp-header'
|
||||
import tar from 'gulp-tar'
|
||||
import gzip from 'gulp-gzip'
|
||||
import zip from 'gulp-zip'
|
||||
import run from 'gulp-run'
|
||||
|
||||
import { Stream } from 'readable-stream'
|
||||
const {finished, pipeline} = Stream.promises
|
||||
@@ -31,9 +32,9 @@ gulp.task('clean', function () {
|
||||
});
|
||||
|
||||
gulp.task('compress', function() {
|
||||
const sources = ['public/**', 'vendor/**', '*.md', 'LICENSE', 'docker*', 'docker/**', 'Dockerfile', '**/.htaccess', 'writable/*'] ;
|
||||
gulp.src(sources).pipe(tar('opensourcepos.tar')).pipe(gzip()).pipe(gulp.dest('dist'));
|
||||
return gulp.src(sources).pipe(zip('opensourcepos.zip')).pipe(gulp.dest('dist'));
|
||||
const sources = ['app*/**/*', 'public*/**/*', 'vendor*/**/*', '*.md', 'LICENSE', 'docker*', 'Dockerfile', '**/.htaccess', 'writable*/**/*'] ;
|
||||
gulp.src(sources, {encoding: false}).pipe(tar('opensourcepos.tar')).pipe(gulp.dest('dist'));
|
||||
return gulp.src(sources, {encoding: false}).pipe(zip('opensourcepos.zip')).pipe(gulp.dest('dist'));
|
||||
});
|
||||
|
||||
// Copy the bootswatch styles into their own folder so OSPOS can select one from the collection
|
||||
@@ -248,6 +249,13 @@ gulp.task('inject-login', function() {
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
gulp.task('update-licenses', function() {
|
||||
run('composer licenses --format=json --no-dev > public/license/composer.LICENSES').exec();
|
||||
return pipeline(gulp.src('LICENSE'),gulp.dest('public/license'));
|
||||
});
|
||||
|
||||
|
||||
gulp.task('build-database', function() {
|
||||
return gulp.src(['./app/Database/tables.sql','./app/Database/constraints.sql'])
|
||||
.pipe(header('-- >> This file is autogenerated from tables.sql and constraints.sql. Do not modify directly << --'))
|
||||
@@ -266,5 +274,6 @@ gulp.task('default',
|
||||
'prod-css',
|
||||
'copy-fonts',
|
||||
'inject-login',
|
||||
'update-licenses',
|
||||
'build-database'
|
||||
));
|
||||
|
||||
4506
package-lock.json
generated
4506
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
18
package.json
18
package.json
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "opensourcepos",
|
||||
"name": "@opensourcepos/opensourcepos",
|
||||
"version": "3.4.0",
|
||||
"description": "Open Source Point of Sale is a web based point of sale system written in the PHP language. It uses MySQL as the data storage back-end and has a simple user interface.",
|
||||
"main": "index.php",
|
||||
@@ -10,6 +10,9 @@
|
||||
"objecttothis <objecttothis - at - gmail.com>",
|
||||
"SteveIreland <stevei - at - ruledomain.com>"
|
||||
],
|
||||
"files": [
|
||||
"dist/opensourcepos.$version.tgz"
|
||||
],
|
||||
"publishConfig": {
|
||||
"registry": "https://npm.pkg.github.com/"
|
||||
},
|
||||
@@ -17,6 +20,10 @@
|
||||
"point-of-sale",
|
||||
"POS"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/opensourcepos/opensourcepos"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "gulp default",
|
||||
"gulp": "gulp"
|
||||
@@ -44,9 +51,6 @@
|
||||
"coffeescript": "^2.7.0",
|
||||
"es6-promise": "^4.2.8",
|
||||
"file-saver": "^2.0.5",
|
||||
"gulp-gzip": "^1.4.2",
|
||||
"gulp-tar": "^4.0.0",
|
||||
"gulp-zip": "^6.0.0",
|
||||
"html2canvas": "^1.4.1",
|
||||
"jasny-bootstrap": "^3.1.3",
|
||||
"jquery": "^3.7.1",
|
||||
@@ -64,12 +68,16 @@
|
||||
"gulp-clean-css": "^4.3.0",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-debug": "^5.0.1",
|
||||
"gulp-gzip": "^1.4.2",
|
||||
"gulp-header": "^2.0.9",
|
||||
"gulp-inject": "^5.0.5",
|
||||
"gulp-rename": "^2.0.0",
|
||||
"gulp-rev": "^10.0.0",
|
||||
"gulp-run": "^1.7.1",
|
||||
"gulp-tar": "^4.0.0",
|
||||
"gulp-uglify": "^3.0.2",
|
||||
"npm-check-updates": "^16.14.11",
|
||||
"gulp-zip": "^6.1.0",
|
||||
"npm-check-updates": "^17.1.14",
|
||||
"readable-stream": "^4.4.2",
|
||||
"stream-series": "^0.1.1"
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
|
||||
if (button_id == 'submit' && (!submitted && btn_id != "btnNew")) {
|
||||
form.submit();
|
||||
|
||||
validator.valid() && $('#submit').prop('disabled', true).css('opacity', 0.5);
|
||||
}
|
||||
return false;
|
||||
@@ -215,8 +214,6 @@
|
||||
.bootstrapTable($.extend(options, {
|
||||
columns: options.headers,
|
||||
stickyHeader: true,
|
||||
stickyHeaderOffsetLeft: $('#table').offset().left + 'px',
|
||||
stickyHeaderOffsetRight: $('#table').offset().right + 'px',
|
||||
url: options.resource + '/search',
|
||||
sidePagination: 'server',
|
||||
selectItemName: 'btSelectItem',
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2022 jekkos
|
||||
Copyright (c) 2015-2021 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2017-2021 Steve Ireland
|
||||
Copyright (c) 2017-2022 objecttothis
|
||||
Copyright (c) 2017-2021 odiea
|
||||
Copyright (c) 2017-2021 WebShells
|
||||
Copyright (c) 2020-2021 Andriux1990
|
||||
Copyright (c) 2021 BudsieBuds
|
||||
Copyright (c) 2013-2024 jekkos
|
||||
Copyright (c) 2017-2024 objecttothis
|
||||
Copyright (c) 2017-2024 Steve Ireland
|
||||
Copyright (c) 2017-2024 odiea
|
||||
Copyright (c) 2018-2024 WebShells
|
||||
Copyright (c) 2021-2024 BudsieBuds
|
||||
Copyright (c) 2015-2023 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2015-2022 Aamir Shahzad (aka asakpke), RoshanTech, eSite.pk
|
||||
Copyright (c) 2019-2020 Andriux1990
|
||||
Copyright (c) 2018-2019 Erasto Marroquin (aka Erastus)
|
||||
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
|
||||
Copyright (c) 2018 Erasto Marroquin (aka Erastus)
|
||||
Copyright (c) 2018 Nathan Sas (aka nathanzky)
|
||||
Copyright (c) 2018 Emilio Silva (aka emi-silva)
|
||||
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
|
||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||
Copyright (c) 2016-2017 Jesus Guerrero Botella (aka i92guboj)
|
||||
Copyright (c) 2017 Deep Shah (aka deepshah)
|
||||
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
|
||||
Copyright (c) 2017 asadjaved63
|
||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
|
||||
Copyright (c) 2015-2022 Aamir Shahzad (aka asakpke), RoshanTech, eSite.pk
|
||||
Copyright (c) 2015 Toni Haryanto (aka yllumi)
|
||||
Copyright (c) 2012-2014 pappastech
|
||||
Copyright (c) 2013 Rob Garrison
|
||||
Copyright (c) 2013 Parq
|
||||
Copyright (c) 2013 Ramel
|
||||
Copyright (c) 2012-2014 pappastech
|
||||
Copyright (c) 2012 Alain
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
@@ -34,16 +34,16 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Additionally, you cannot claim copyright or ownership of the Software.
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2011-2021 Twitter, Inc.
|
||||
Copyright (c) 2011-2021 The Bootstrap Authors
|
||||
Copyright (c) 2011-2024 The Bootstrap Authors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1 +1 @@
|
||||
Bootstrap 5.0.1
|
||||
Bootstrap 5.3.3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2019-2020 The Bootstrap Authors
|
||||
Copyright (c) 2019-2024 The Bootstrap Authors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1 +1 @@
|
||||
Bootstrap Icons 1.5.0
|
||||
Bootstrap Icons 1.11.3
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user