Merge branch 'master' into title-subheading
This commit is contained in:
		
							
								
								
									
										33
									
								
								resources/assets/js/bootstrap.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								resources/assets/js/bootstrap.js
									
									
									
									
										vendored
									
									
								
							@@ -19,6 +19,38 @@ window.axios.defaults.headers.common['X-CSRF-TOKEN'] = window.Laravel.csrfToken;
 | 
			
		||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
 | 
			
		||||
window.axios.defaults.headers.common['Content-Type'] = 'multipart/form-data';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// #start NProgress integration
 | 
			
		||||
// Added nprogress to use nprogress bar
 | 
			
		||||
import NProgress from "nprogress";
 | 
			
		||||
 | 
			
		||||
window.axios.interceptors.request.use(function (config) {
 | 
			
		||||
    // Do something before request is sent
 | 
			
		||||
    NProgress.start();
 | 
			
		||||
 | 
			
		||||
    return config;
 | 
			
		||||
}, function (error) {
 | 
			
		||||
    // Do something with request error
 | 
			
		||||
    console.log(error);
 | 
			
		||||
 | 
			
		||||
    return Promise.reject(error);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// Add a response interceptor
 | 
			
		||||
window.axios.interceptors.response.use(function (response) {
 | 
			
		||||
    // Do something with response data
 | 
			
		||||
    NProgress.done();
 | 
			
		||||
 | 
			
		||||
    return response;
 | 
			
		||||
}, function (error) {
 | 
			
		||||
    NProgress.done();
 | 
			
		||||
    // Do something with response error
 | 
			
		||||
    console.log(error);
 | 
			
		||||
 | 
			
		||||
    return Promise.reject(error);
 | 
			
		||||
});
 | 
			
		||||
// #end NProgress integration
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Echo exposes an expressive API for subscribing to channels and listening
 | 
			
		||||
 * for events that are broadcast by Laravel. Echo and event broadcasting
 | 
			
		||||
@@ -33,3 +65,4 @@ window.axios.defaults.headers.common['Content-Type'] = 'multipart/form-data';
 | 
			
		||||
//     broadcaster: 'pusher',
 | 
			
		||||
//     key: 'your-pusher-key'
 | 
			
		||||
// });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -425,7 +425,9 @@ export default {
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // 198.4
 | 
			
		||||
            money = money.replace(this.currency.symbol, '').replaceAll(this.currency.thousands_separator, '').replace(this.currency.decimal_mark, '.');
 | 
			
		||||
            let regex = new RegExp(this.currency.thousands_separator, 'gi');
 | 
			
		||||
 | 
			
		||||
            money = money.replace(this.currency.symbol, '').replace(regex, '').replace(this.currency.decimal_mark, '.');
 | 
			
		||||
 | 
			
		||||
            // "198.40"
 | 
			
		||||
            money = parseFloat(money).toFixed(this.currency.precision);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,90 +2,116 @@
 | 
			
		||||
    <div class="flex items-center justify-end text-xs mt-3">
 | 
			
		||||
        <span>{{ texts[0] }}</span>
 | 
			
		||||
        <money v-bind="{
 | 
			
		||||
            decimal: this.currencySymbol.decimal_mark,
 | 
			
		||||
            thousands: this.currencySymbol.thousands_separator,
 | 
			
		||||
            prefix: (this.currencySymbol.symbol_first) ? this.currencySymbol.symbol : '',
 | 
			
		||||
            suffix: (!this.currencySymbol.symbol_first) ? this.currencySymbol.symbol : '',
 | 
			
		||||
            precision: parseInt(this.currencySymbol.precision),
 | 
			
		||||
            masked: true
 | 
			
		||||
        }" :value="price" disabled size="5" masked class="disabled-money text-right mr-1 js-conversion-input text-xs px-1"></money>
 | 
			
		||||
        <span class="mr-2">{{ texts[1] }}</span>
 | 
			
		||||
        <input name="currency_rate" v-model="rate" @input="onChange" class="text-sm px-3 py-2.5 mt-1 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple w-16 h-10 text-right js-conversion-input" />
 | 
			
		||||
                decimal: this.currencySymbol.decimal_mark,
 | 
			
		||||
                thousands: this.currencySymbol.thousands_separator,
 | 
			
		||||
                prefix: (this.currencySymbol.symbol_first) ? this.currencySymbol.symbol : '',
 | 
			
		||||
                suffix: (!this.currencySymbol.symbol_first) ? this.currencySymbol.symbol : '',
 | 
			
		||||
                precision: parseInt(this.currencySymbol.precision),
 | 
			
		||||
                masked: true
 | 
			
		||||
            }"
 | 
			
		||||
            :value="price"
 | 
			
		||||
            disabled size="5"
 | 
			
		||||
            masked
 | 
			
		||||
            class="disabled-money text-right mr-1 js-conversion-input text-xs px-1"
 | 
			
		||||
        ></money>
 | 
			
		||||
 | 
			
		||||
        <span class="mr-2">
 | 
			
		||||
            {{ texts[1] }}
 | 
			
		||||
        </span>
 | 
			
		||||
 | 
			
		||||
        <input name="currency_rate"
 | 
			
		||||
            v-model="rate"
 | 
			
		||||
            @input="onChange"
 | 
			
		||||
            class="text-sm px-3 py-2.5 mt-1 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple w-16 h-10 text-right js-conversion-input"
 | 
			
		||||
        />
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import {Money} from 'v-money';
 | 
			
		||||
    import {Money} from 'v-money';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
    name: 'akaunting-currency-conversion',
 | 
			
		||||
    components: {
 | 
			
		||||
        Money
 | 
			
		||||
    },
 | 
			
		||||
    export default {
 | 
			
		||||
        name: 'akaunting-currency-conversion',
 | 
			
		||||
 | 
			
		||||
    props: {
 | 
			
		||||
        currencyConversionText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'Currency conversion'
 | 
			
		||||
        },
 | 
			
		||||
        price: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'sale'
 | 
			
		||||
        },
 | 
			
		||||
        currecyCode: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'USD'
 | 
			
		||||
        },
 | 
			
		||||
        currencyRate: {
 | 
			
		||||
            default: 1.000,
 | 
			
		||||
        },
 | 
			
		||||
        currencySymbol: {
 | 
			
		||||
           default: {}
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    data() {
 | 
			
		||||
        return {
 | 
			
		||||
            conversion: '',
 | 
			
		||||
            rate: this.currencyRate,
 | 
			
		||||
            texts: [],
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    created() {
 | 
			
		||||
        let conver = this.currencyConversionText.split(':price');
 | 
			
		||||
 | 
			
		||||
        this.texts.push(conver[0]);
 | 
			
		||||
        this.texts.push(conver[1].replace(':currency_code', company_currency_code).replace(':currency_rate', ''));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    methods: {
 | 
			
		||||
        onChange() {
 | 
			
		||||
            this.$emit('change', this.rate);
 | 
			
		||||
            this.currencySymbol.rate = this.rate;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    watch: {
 | 
			
		||||
        currencyConversionText: function (text) {
 | 
			
		||||
            this.conversion = text.replace(':price', this.price).replace(':currency_code', this.currecyCode);
 | 
			
		||||
        components: {
 | 
			
		||||
            Money
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        price: function (price) {
 | 
			
		||||
            this.conversion = this.currencyConversionText.replace(':price', price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
        props: {
 | 
			
		||||
            currencyConversionText: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                default: 'Currency conversion'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            price: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                default: 'sale'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            currecyCode: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                default: 'USD'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            currencyRate: {
 | 
			
		||||
                default: 1.000,
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            currencySymbol: {
 | 
			
		||||
            default: {}
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        currecyCode: function (currecyCode) {
 | 
			
		||||
            this.conversion = this.currencyConversionText.replace(':price', this.price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
        data() {
 | 
			
		||||
            return {
 | 
			
		||||
                conversion: '',
 | 
			
		||||
                rate: this.currencyRate,
 | 
			
		||||
                texts: [],
 | 
			
		||||
            };
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        currencyRate: function (currencyRate) {
 | 
			
		||||
            this.rate = currencyRate;
 | 
			
		||||
            this.conversion = this.currencyConversionText.replace(':price', this.price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
        created() {
 | 
			
		||||
            let conversion = this.currencyConversionText.split(':price');
 | 
			
		||||
 | 
			
		||||
            if (conversion[0]) {
 | 
			
		||||
                this.texts.push(conversion[0]);
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            if (conversion[1]) {
 | 
			
		||||
                this.texts.push(conversion[1].replace(':currency_code', company_currency_code).replace(':currency_rate', ''));
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
         currencySymbol: function (currencySymbol) {
 | 
			
		||||
            this.conversion = this.currencyConversionText.replace(':price', this.price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
 | 
			
		||||
        methods: {
 | 
			
		||||
            onChange() {
 | 
			
		||||
                this.$emit('change', this.rate);
 | 
			
		||||
 | 
			
		||||
                this.currencySymbol.rate = this.rate;
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
        watch: {
 | 
			
		||||
            currencyConversionText: function (text) {
 | 
			
		||||
                this.conversion = text.replace(':price', this.price).replace(':currency_code', this.currecyCode);
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            price: function (price) {
 | 
			
		||||
                this.conversion = this.currencyConversionText.replace(':price', price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            currecyCode: function (currecyCode) {
 | 
			
		||||
                this.conversion = this.currencyConversionText.replace(':price', this.price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            currencyRate: function (currencyRate) {
 | 
			
		||||
                this.rate = currencyRate;
 | 
			
		||||
 | 
			
		||||
                this.conversion = this.currencyConversionText.replace(':price', this.price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            currencySymbol: function (currencySymbol) {
 | 
			
		||||
                this.conversion = this.currencyConversionText.replace(':price', this.price).replace(':currency_code', this.currecyCode).replace();
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,7 @@
 | 
			
		||||
            :config="dateConfig"
 | 
			
		||||
            class="datepicker w-full text-sm px-3 py-2.5 mt-1 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple"
 | 
			
		||||
            v-model="real_model"
 | 
			
		||||
            :placeholder="placeholder"
 | 
			
		||||
            @input="change"
 | 
			
		||||
            :readonly="readonly"
 | 
			
		||||
            :disabled="disabled">
 | 
			
		||||
 
 | 
			
		||||
@@ -23,36 +23,38 @@
 | 
			
		||||
                   />
 | 
			
		||||
               </div>
 | 
			
		||||
 | 
			
		||||
                <ul class="w-full text-sm rounded-lg border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple p-0 mt-0 border-0 cursor-pointer">
 | 
			
		||||
                    <div 
 | 
			
		||||
                        class="hover:bg-gray-100 px-4" 
 | 
			
		||||
                        v-for="(item, index) in sortedItems" 
 | 
			
		||||
                        :key="index" 
 | 
			
		||||
                        :class="isItemMatched ? 'highlightItem' : ''"
 | 
			
		||||
                        @click="onItemSelected(item)"
 | 
			
		||||
                    >
 | 
			
		||||
                        <div class="w-full flex items-center justify-between">
 | 
			
		||||
                            <span>{{ item.name }}</span>
 | 
			
		||||
                <div v-bind:class="(sortedItems.length > 7) ? 'h-72 overflow-y-auto' : ''">
 | 
			
		||||
                    <ul class="w-full text-sm rounded-lg border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple p-0 mt-0 border-0 cursor-pointer">
 | 
			
		||||
                        <div 
 | 
			
		||||
                            class="hover:bg-gray-100 px-4" 
 | 
			
		||||
                            v-for="(item, index) in sortedItems" 
 | 
			
		||||
                            :key="index" 
 | 
			
		||||
                            :class="isItemMatched ? 'highlightItem' : ''"
 | 
			
		||||
                            @click="onItemSelected(item)"
 | 
			
		||||
                        >
 | 
			
		||||
                            <div class="w-full flex items-center justify-between">
 | 
			
		||||
                                <span>{{ item.name }}</span>
 | 
			
		||||
 | 
			
		||||
                            <money 
 | 
			
		||||
                                :name="'item-id-' + item.id"
 | 
			
		||||
                                :value="item.price"
 | 
			
		||||
                                v-bind="money"
 | 
			
		||||
                                masked
 | 
			
		||||
                                disabled
 | 
			
		||||
                                class="ltr:text-right rtl:text-left disabled-money text-gray"
 | 
			
		||||
                            ></money>
 | 
			
		||||
                                <money 
 | 
			
		||||
                                    :name="'item-id-' + item.id"
 | 
			
		||||
                                    :value="item.price"
 | 
			
		||||
                                    v-bind="money"
 | 
			
		||||
                                    masked
 | 
			
		||||
                                    disabled
 | 
			
		||||
                                    class="ltr:text-right rtl:text-left disabled-money text-gray"
 | 
			
		||||
                                ></money>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
 | 
			
		||||
                    <div class="hover:bg-gray-100 text-center py-2 px-4" v-if="!sortedItems.length">
 | 
			
		||||
                        <div class="text-center">
 | 
			
		||||
                            <span v-if="!items.length && !search">{{ noDataText }}</span>
 | 
			
		||||
                        <div class="hover:bg-gray-100 text-center py-2 px-4" v-if="!sortedItems.length">
 | 
			
		||||
                            <div class="text-center">
 | 
			
		||||
                                <span v-if="!items.length && !search">{{ noDataText }}</span>
 | 
			
		||||
 | 
			
		||||
                            <span v-else>{{ noMatchingDataText }}</span>
 | 
			
		||||
                                <span v-else>{{ noMatchingDataText }}</span>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </ul>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div class="flex items-center justify-center h-11 text-center text-purple font-bold border border-l-0 border-r-0 border-b-0 rounded-bl-lg rounded-br-lg hover:bg-gray-100 cursor-pointer" @click="onItemCreate">
 | 
			
		||||
                     <span class="material-icons text-lg font-bold mr-1">add</span>
 | 
			
		||||
 
 | 
			
		||||
@@ -198,9 +198,25 @@ export default {
 | 
			
		||||
                            masked: false /* doesn't work with directive */
 | 
			
		||||
                        };
 | 
			
		||||
 | 
			
		||||
                        // Parent vue instance methods merge with child vue instance methods
 | 
			
		||||
                        if (this.$root.$options.methods) {
 | 
			
		||||
                            for (let method in this.$root.$options.methods) {
 | 
			
		||||
                                this[method] = this.$options.methods[method] !== undefined ? this.$options.methods[method] : this.$root.$options.methods[method];
 | 
			
		||||
                            let parent_methods = this.$root.$options.methods;
 | 
			
		||||
 | 
			
		||||
                            for (let method_key in parent_methods) {
 | 
			
		||||
                                if (this.$options.methods[method_key] === undefined) {
 | 
			
		||||
                                    this[method_key] = parent_methods[method_key];
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        // Parent vue instance data merge with child vue instance data
 | 
			
		||||
                        if (this.$root._data) {
 | 
			
		||||
                            let parent_data = this.$root._data;
 | 
			
		||||
 | 
			
		||||
                            for (let data_key in parent_data) {
 | 
			
		||||
                                if (this[data_key] === undefined) {
 | 
			
		||||
                                    this[data_key] = parent_data[data_key];
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
 
 | 
			
		||||
@@ -109,6 +109,11 @@ export default {
 | 
			
		||||
            default: false,
 | 
			
		||||
            description: "Selectbox disabled status"
 | 
			
		||||
        },
 | 
			
		||||
        isDynamic: {
 | 
			
		||||
            type: Boolean,
 | 
			
		||||
            default: true,
 | 
			
		||||
            description: "Currency is dynamic"
 | 
			
		||||
        },
 | 
			
		||||
        dynamicCurrency: {
 | 
			
		||||
            type: Object,
 | 
			
		||||
            default: function () {
 | 
			
		||||
@@ -168,18 +173,20 @@ export default {
 | 
			
		||||
    mounted() {
 | 
			
		||||
        //this.model = this.value;
 | 
			
		||||
 | 
			
		||||
        if (this.dynamicCurrency.code != this.currency.code) {
 | 
			
		||||
            if (! this.dynamicCurrency.decimal) {
 | 
			
		||||
                this.money = {
 | 
			
		||||
                    decimal: this.dynamicCurrency.decimal_mark,
 | 
			
		||||
                    thousands: this.dynamicCurrency.thousands_separator,
 | 
			
		||||
                    prefix: (this.dynamicCurrency.symbol_first) ? this.dynamicCurrency.symbol : '',
 | 
			
		||||
                    suffix: (! this.dynamicCurrency.symbol_first) ? this.dynamicCurrency.symbol : '',
 | 
			
		||||
                    precision: parseInt(this.dynamicCurrency.precision),
 | 
			
		||||
                    masked: this.masked
 | 
			
		||||
                };
 | 
			
		||||
            } else {
 | 
			
		||||
                this.money = this.dynamicCurrency;
 | 
			
		||||
        if (this.isDynamic) {
 | 
			
		||||
            if (this.dynamicCurrency.code != this.currency.code) {
 | 
			
		||||
                if (! this.dynamicCurrency.decimal) {
 | 
			
		||||
                    this.money = {
 | 
			
		||||
                        decimal: this.dynamicCurrency.decimal_mark,
 | 
			
		||||
                        thousands: this.dynamicCurrency.thousands_separator,
 | 
			
		||||
                        prefix: (this.dynamicCurrency.symbol_first) ? this.dynamicCurrency.symbol : '',
 | 
			
		||||
                        suffix: (! this.dynamicCurrency.symbol_first) ? this.dynamicCurrency.symbol : '',
 | 
			
		||||
                        precision: parseInt(this.dynamicCurrency.precision),
 | 
			
		||||
                        masked: this.masked
 | 
			
		||||
                    };
 | 
			
		||||
                } else {
 | 
			
		||||
                    this.money = this.dynamicCurrency;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -206,7 +213,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
    watch: {
 | 
			
		||||
        dynamicCurrency: function (currency) {
 | 
			
		||||
            if (!currency) {
 | 
			
		||||
            if (! currency) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,8 @@
 | 
			
		||||
 | 
			
		||||
            <input type="text" class="w-20 text-sm px-3 py-2.5 mt-1 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" v-model="interval" @input="change" v-if="frequency == 'custom'">
 | 
			
		||||
 | 
			
		||||
            <div class="text-red text-sm mt-1 block" v-if="invertalError" v-html="invertalError"></div>
 | 
			
		||||
 | 
			
		||||
            <el-select class="w-36 ml-2" v-model="customFrequency" @input="change" v-if="frequency == 'custom'">
 | 
			
		||||
                <el-option
 | 
			
		||||
                v-for="(label, value) in customFrequencies"
 | 
			
		||||
@@ -28,6 +30,8 @@
 | 
			
		||||
                :value="value">
 | 
			
		||||
                </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
 | 
			
		||||
            <div class="text-red text-sm mt-1 block" v-if="customFrequencyError" v-html="customFrequencyError"></div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="flex flex-wrap lg:flex-nowrap items-center space-y-3 lg:space-y-0" :class="{ 'justify-start': limit !== 'never' }">
 | 
			
		||||
@@ -35,52 +39,60 @@
 | 
			
		||||
                {{ startText }}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <el-date-picker
 | 
			
		||||
                class="w-36 recurring-invoice-data"
 | 
			
		||||
                v-model="started_at"
 | 
			
		||||
                @input="change"
 | 
			
		||||
                type="date"
 | 
			
		||||
                align="right"
 | 
			
		||||
                :format="formatDate"
 | 
			
		||||
                value-format="yyyy-MM-dd"
 | 
			
		||||
                :picker-options="{
 | 
			
		||||
                    disabledDate(time) {
 | 
			
		||||
                        return time.getTime() < Date.now();
 | 
			
		||||
                    },
 | 
			
		||||
                    shortcuts: [
 | 
			
		||||
                        {
 | 
			
		||||
                            text: dateRangeText['today'],
 | 
			
		||||
                            onClick(picker) {
 | 
			
		||||
                                picker.$emit('pick', new Date());
 | 
			
		||||
                            }
 | 
			
		||||
            <div
 | 
			
		||||
            :class="startedError ? 'pt-0' : '' && startedError || limitDateError ? 'pt-0 pb-5' : 'pb-10' && startedError && limitDateError ? 'pt-6 pb-5' : 'pb-10'">
 | 
			
		||||
                    <el-date-picker
 | 
			
		||||
                    class="w-36 cursor-pointer recurring-invoice-data"
 | 
			
		||||
                    v-model="started_at"
 | 
			
		||||
                    @input="change"
 | 
			
		||||
                    type="date"
 | 
			
		||||
                    align="right"
 | 
			
		||||
                    :format="formatDate"
 | 
			
		||||
                    value-format="yyyy-MM-dd"
 | 
			
		||||
                    :picker-options="{
 | 
			
		||||
                        disabledDate(time) {
 | 
			
		||||
                            return time.getTime() < Date.now();
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            text: dateRangeText['yesterday'],
 | 
			
		||||
                            onClick(picker) {
 | 
			
		||||
                                const date = new Date();
 | 
			
		||||
                                date.setTime(date.getTime() - 3600 * 1000 * 24);
 | 
			
		||||
                        shortcuts: [
 | 
			
		||||
                            {
 | 
			
		||||
                                text: dateRangeText['today'],
 | 
			
		||||
                                onClick(picker) {
 | 
			
		||||
                                    picker.$emit('pick', new Date());
 | 
			
		||||
                                }
 | 
			
		||||
                            },
 | 
			
		||||
                            {
 | 
			
		||||
                                text: dateRangeText['yesterday'],
 | 
			
		||||
                                onClick(picker) {
 | 
			
		||||
                                    const date = new Date();
 | 
			
		||||
                                    date.setTime(date.getTime() - 3600 * 1000 * 24);
 | 
			
		||||
 | 
			
		||||
                                picker.$emit('pick', date);
 | 
			
		||||
                                    picker.$emit('pick', date);
 | 
			
		||||
                                }
 | 
			
		||||
                            },
 | 
			
		||||
                            {
 | 
			
		||||
                                text: dateRangeText['week_ago'],
 | 
			
		||||
                                onClick(picker) {
 | 
			
		||||
                                    const date = new Date();
 | 
			
		||||
                                    date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
 | 
			
		||||
 | 
			
		||||
                                    picker.$emit('pick', date);
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            text: dateRangeText['week_ago'],
 | 
			
		||||
                            onClick(picker) {
 | 
			
		||||
                                const date = new Date();
 | 
			
		||||
                                date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
 | 
			
		||||
                        ]
 | 
			
		||||
                    }">
 | 
			
		||||
                    </el-date-picker>
 | 
			
		||||
 | 
			
		||||
                                picker.$emit('pick', date);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    ]
 | 
			
		||||
                }">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
                <div class="text-red text-sm mt-1 block" v-if="startedError" v-html="startedError"></div>
 | 
			
		||||
 | 
			
		||||
            <div class="w-24 px-2 text-sm text-center">
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="w-24 px-2 text-sm text-center"
 | 
			
		||||
            :class="(startedError || limitDateError ? 'pt-10 pb-14' : 'pb-10') && (startedError && limitDateError ? 'pt-6 pb-14' : 'pb-10')">
 | 
			
		||||
                {{ middleText }}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <el-select class="w-20" v-model="limit" @input="change">
 | 
			
		||||
            <el-select class="w-20" v-model="limit" @input="change"
 | 
			
		||||
            :class="startedError || limitDateError ? 'pt-0 pb-6' : '' && startedError && limitDateError ? 'pt-6 pb-16' : 'pb-10'">
 | 
			
		||||
                <el-option
 | 
			
		||||
                v-for="(label, value) in limits"
 | 
			
		||||
                :key="value"
 | 
			
		||||
@@ -89,23 +101,46 @@
 | 
			
		||||
                </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
 | 
			
		||||
            <input type="text" class="w-20 text-sm px-3 py-2.5 mt-1 ml-2 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" v-model="limitCount" v-if="limit == 'after'" @input="change">
 | 
			
		||||
            <input type="text" class="w-20 cursor-pointer text-sm px-3 py-2.5 mt-1 ml-2 rounded-lg border border-light-gray text-black placeholder-light-gray bg-white disabled:bg-gray-200 focus:outline-none focus:ring-transparent focus:border-purple" v-model="limitCount" v-if="limit == 'after'" @input="change">
 | 
			
		||||
 | 
			
		||||
            <div class="text-red text-sm mt-1 block" v-if="limitCountError" v-html="limitCountError"></div>
 | 
			
		||||
 | 
			
		||||
            <div class="pl-2 text-sm" v-if="limit == 'after'">
 | 
			
		||||
                {{ endText }}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <el-date-picker
 | 
			
		||||
                class="w-36 ml-2 recurring-invoice-data"
 | 
			
		||||
                v-model="limitDate"
 | 
			
		||||
                type="date"
 | 
			
		||||
                align="right"
 | 
			
		||||
                :format="formatDate"
 | 
			
		||||
                value-format="yyyy-MM-dd"
 | 
			
		||||
                v-if="limit == 'on'"
 | 
			
		||||
                @input="change"
 | 
			
		||||
            >
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
            <div 
 | 
			
		||||
            :class="startedError || limitDateError ? 'pt-10 pb-10' : 'pb-10'  &&  startedError && limitDateError ? ' pt-20 pb-14' : 'pb-10'">
 | 
			
		||||
                    <el-date-picker
 | 
			
		||||
                    class="w-36 ml-2 cursor-pointer recurring-invoice-data"
 | 
			
		||||
                    v-model="limitDate"
 | 
			
		||||
                    type="date"
 | 
			
		||||
                    align="right"
 | 
			
		||||
                    :format="formatDate"
 | 
			
		||||
                    value-format="yyyy-MM-dd"
 | 
			
		||||
                    v-if="limit == 'on'"
 | 
			
		||||
                    @input="change"
 | 
			
		||||
                >
 | 
			
		||||
                </el-date-picker>
 | 
			
		||||
 | 
			
		||||
                <div class="text-red text-sm mt-1 ml-2 block" v-if="limitDateError" v-html="limitDateError"></div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div v-if="sendEmailShow" class="flex flex-wrap lg:flex-nowrap items-center space-y-1 lg:space-y-0">
 | 
			
		||||
            <div class="w-24 sm:w-60 px-0 sm:px-2 text-sm">
 | 
			
		||||
                {{ sendEmailText }}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="flex items-center mt-1">
 | 
			
		||||
                <label @click="sendEmail=1;change();" v-bind:class="[sendEmail == 1 ? ['bg-green-500','text-white'] : 'bg-black-100']" class="relative w-10 ltr:rounded-tl-lg ltr:rounded-bl-lg rtl:rounded-tr-lg rtl:rounded-br-lg py-2 px-1 text-sm text-center transition-all cursor-pointer">
 | 
			
		||||
                    {{ sendEmailYesText }}
 | 
			
		||||
                </label>
 | 
			
		||||
 | 
			
		||||
                <label @click="sendEmail=0;change();"v-bind:class="[sendEmail == 0 ? ['bg-red-500','text-white'] : 'bg-black-100']" class="relative w-10 ltr:rounded-tr-lg ltr:rounded-br-lg rtl:rounded-tl-lg rtl:rounded-bl-lg py-2 px-1 text-sm text-center transition-all cursor-pointer">
 | 
			
		||||
                    {{ sendEmailNoText }}
 | 
			
		||||
                </label>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -163,6 +198,11 @@ export default {
 | 
			
		||||
            default: 'monthly',
 | 
			
		||||
            description: "Default reccuring type"
 | 
			
		||||
        },
 | 
			
		||||
        invertalError: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: null,
 | 
			
		||||
            description: "Selectbox input error message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        customFrequencies: null,
 | 
			
		||||
        customFrequencyValue: {
 | 
			
		||||
@@ -170,12 +210,22 @@ export default {
 | 
			
		||||
            default: 'monthly',
 | 
			
		||||
            description: "Default reccuring type"
 | 
			
		||||
        },
 | 
			
		||||
        customFrequencyError: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: null,
 | 
			
		||||
            description: "Selectbox input error message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        startedValue: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'never',
 | 
			
		||||
            description: "Default reccuring limit"
 | 
			
		||||
        },
 | 
			
		||||
        startedError: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: null,
 | 
			
		||||
            description: "Selectbox input error message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        limits: null,
 | 
			
		||||
 | 
			
		||||
@@ -190,18 +240,54 @@ export default {
 | 
			
		||||
            default: 0,
 | 
			
		||||
            description: "Default reccuring limit"
 | 
			
		||||
        },
 | 
			
		||||
        limitCountError: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: null,
 | 
			
		||||
            description: "Selectbox input error message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        limitDateValue: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: '',
 | 
			
		||||
            description: "Default reccuring limit"
 | 
			
		||||
        },
 | 
			
		||||
        limitDateError: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: null,
 | 
			
		||||
            description: "Selectbox input error message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        dateFormat: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'dd MM yyyy',
 | 
			
		||||
            description: "Default date format"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        sendEmailShow: {
 | 
			
		||||
            type: [String, Number, Array, Object, Boolean],
 | 
			
		||||
            default: '1',
 | 
			
		||||
            description: "Created recurring model send automatically option"
 | 
			
		||||
        },
 | 
			
		||||
        sendEmailText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'Send email automatically',
 | 
			
		||||
            description: "Created recurring model send automatically option"
 | 
			
		||||
        },
 | 
			
		||||
        sendEmailYesText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'Yes',
 | 
			
		||||
            description: "Send email option yes text"
 | 
			
		||||
        },
 | 
			
		||||
        sendEmailNoText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'No',
 | 
			
		||||
            description: "Send email option no text"
 | 
			
		||||
        },
 | 
			
		||||
        sendEmailValue: {
 | 
			
		||||
            type: [Number, String],
 | 
			
		||||
            default: 0,
 | 
			
		||||
            description: "Send Email value"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    data() {
 | 
			
		||||
@@ -214,6 +300,7 @@ export default {
 | 
			
		||||
            limitCount: 0,
 | 
			
		||||
            limitDate: '',
 | 
			
		||||
            formatDate: 'dd MM YYYY',
 | 
			
		||||
            sendEmail: 0,
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -240,6 +327,8 @@ export default {
 | 
			
		||||
            this.limit = 'on';
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.sendEmail = this.sendEmailValue;
 | 
			
		||||
 | 
			
		||||
        setTimeout(function() {
 | 
			
		||||
            this.change();
 | 
			
		||||
        }.bind(this), 800);
 | 
			
		||||
@@ -271,6 +360,8 @@ export default {
 | 
			
		||||
                    this.$emit('limit_count', 0);
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.$emit('send_email', this.sendEmail);
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        convertToDarteFormat(format) {
 | 
			
		||||
 
 | 
			
		||||
@@ -15,33 +15,34 @@
 | 
			
		||||
                <span v-if="filter.operator" class="flex items-center bg-purple-lighter text-black border-2 border-body border-l border-r border-t-0 border-b-0 mt-3 px-3 py-4 text-sm cursor-pointer el-tag el-tag--small el-tag-operator" style="margin-left:0; margin-right:0;">
 | 
			
		||||
                    <span v-if="filter.operator == '='" class="material-icons text-2xl">drag_handle</span>
 | 
			
		||||
                    <span v-else-if="filter.operator == '><'" class="material-icons text-2xl transform rotate-90">height</span>
 | 
			
		||||
                    <span v-else class="w-5">
 | 
			
		||||
                        <img :src="not_equal_image" class="w-5 h-5 object-cover block" />
 | 
			
		||||
                    </span>
 | 
			
		||||
 | 
			
		||||
                    <img v-else :src="not_equal_image" class="w-5 h-5 object-cover block" />
 | 
			
		||||
 | 
			
		||||
                    <i v-if="!filter.value" class="mt-1 ltr:-right-2 rtl:left-0 rtl:right-0 el-tag__close el-icon-close " style="font-size: 16px;" @click="onFilterDelete(index)"></i>
 | 
			
		||||
                    <i v-if="!filter.value" class="mt-1 ltr:-right-2 rtl:left-0 rtl:right-0 el-tag__close el-icon-close" style="font-size: 16px;" @click="onFilterDelete(index)"></i>
 | 
			
		||||
                </span>
 | 
			
		||||
 | 
			
		||||
                <span v-if="filter.value" class="flex items-center bg-purple-lighter text-black border-0 mt-3 px-3 py-4 text-sm cursor-pointer el-tag el-tag--small  el-tag-value">
 | 
			
		||||
                <span v-if="filter.value" class="flex items-center bg-purple-lighter text-black border-0 mt-3 px-3 py-4 text-sm cursor-pointer el-tag el-tag--small el-tag-value">
 | 
			
		||||
                    {{ filter.value }}
 | 
			
		||||
 | 
			
		||||
                    <i class="mt-1 ltr:-right-2 rtl:left-0 rtl:right-0 el-tag__close el-icon-close " style="font-size: 16px;" @click="onFilterDelete(index)"></i>
 | 
			
		||||
                    <i class="mt-1 ltr:-right-2 rtl:left-0 rtl:right-0 el-tag__close el-icon-close" style="font-size: 16px;" @click="onFilterDelete(index)"></i>
 | 
			
		||||
                </span>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="relative w-full h-full flex">
 | 
			
		||||
            <input
 | 
			
		||||
            v-if="!show_date"
 | 
			
		||||
            type="text"
 | 
			
		||||
            class="w-full h-12 lg:h-auto bg-transparent text-black text-sm border-0 pb-0 focus:outline-none focus:ring-transparent focus:border-purple-100"
 | 
			
		||||
            :class="!show_icon ? 'px-4' : 'px-10'"
 | 
			
		||||
            :placeholder="dynamicPlaceholder"
 | 
			
		||||
            :ref="'input-search-field-' + _uid"
 | 
			
		||||
            v-model="search"
 | 
			
		||||
            @focus="onInputFocus"
 | 
			
		||||
            @input="onInput"
 | 
			
		||||
            @blur="onBlur"
 | 
			
		||||
            @keyup.enter="onInputConfirm"
 | 
			
		||||
                v-if="!show_date"
 | 
			
		||||
                type="text"
 | 
			
		||||
                class="w-full h-12 lg:h-auto bg-transparent text-black text-sm border-0 pb-0 focus:outline-none focus:ring-transparent focus:border-purple-100"
 | 
			
		||||
                :class="!show_icon ? 'ltr:pr-4 rtl:pl-4' : 'ltr:pr-10 rtl:pl-10'"
 | 
			
		||||
                :placeholder="dynamicPlaceholder"
 | 
			
		||||
                :ref="'input-search-field-' + _uid"
 | 
			
		||||
                v-model="search"
 | 
			
		||||
                @focus="onInputFocus"
 | 
			
		||||
                @input="onInput"
 | 
			
		||||
                @blur="onBlur"
 | 
			
		||||
                @keyup.enter="onInputConfirm"
 | 
			
		||||
            />
 | 
			
		||||
 | 
			
		||||
            <flat-picker
 | 
			
		||||
@@ -50,7 +51,7 @@
 | 
			
		||||
                @blur="onBlur"
 | 
			
		||||
                :config="dateConfig"
 | 
			
		||||
                class="w-full h-12 lg:h-auto bg-transparent text-black text-sm border-0 pb-0 focus:outline-none focus:ring-transparent focus:border-purple-100 datepicker"
 | 
			
		||||
                :class="!show_icon ? 'px-4' : 'px-10'"
 | 
			
		||||
                :class="!show_icon ? 'ltr:pr-4 rtl:pl-4' : 'ltr:pr-10 rtl:pl-10'"
 | 
			
		||||
                :placeholder="dynamicPlaceholder"
 | 
			
		||||
                :ref="'input-search-date-field-' + _uid"
 | 
			
		||||
                value=""
 | 
			
		||||
@@ -59,13 +60,23 @@
 | 
			
		||||
                @keyup.enter="onInputConfirm"
 | 
			
		||||
            >
 | 
			
		||||
            </flat-picker>
 | 
			
		||||
                <span
 | 
			
		||||
                    v-if="show_icon"
 | 
			
		||||
                    class="material-icons absolute bottom-1 ltr:left-3 rtl:right-3 text-lg text-black"
 | 
			
		||||
                    style="z-index:-1;"
 | 
			
		||||
                >
 | 
			
		||||
                    search
 | 
			
		||||
                </span>
 | 
			
		||||
 | 
			
		||||
            <button
 | 
			
		||||
                v-if="show_icon"
 | 
			
		||||
                @focus="onInputFocus"
 | 
			
		||||
                v-show="show_button"
 | 
			
		||||
                @click="onInputConfirm"
 | 
			
		||||
                class="absolute ltr:right-0.5 rtl:left-0.5 z-50 mt-3 text-sm text-gray-700 font-medium px-2.5 py-1 h-7 rounded-lg"
 | 
			
		||||
                :class="search.length == 0 ? 'opacity-60 cursor-default' : 'cursor-pointer hover:bg-gray-100'"
 | 
			
		||||
                :disabled="search.length == 0"
 | 
			
		||||
            >
 | 
			
		||||
                <div class="flex">
 | 
			
		||||
                    <span>search</span>
 | 
			
		||||
                    <span class="material-icons-outlined text-sm ltr:scale-x-100 rtl:-scale-x-100 ltr:ml-1 rtl:mr-1 mt-0.5">
 | 
			
		||||
                        keyboard_return
 | 
			
		||||
                    </span>
 | 
			
		||||
                </div>
 | 
			
		||||
            </button>
 | 
			
		||||
 | 
			
		||||
            <button type="button" class="absolute ltr:right-0 rtl:left-0 top-4 lg:top-2 clear" v-if="show_close_icon" @click="onSearchAndFilterClear">
 | 
			
		||||
                <span class="material-icons text-sm">close</span>
 | 
			
		||||
@@ -138,47 +149,57 @@ export default {
 | 
			
		||||
            default: 'Search or filter results...',
 | 
			
		||||
            description: 'Input placeholder'
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        selectPlaceholder: {
 | 
			
		||||
            type: String,
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        enterPlaceholder: {
 | 
			
		||||
            type: String,
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        searchText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'Search for this text',
 | 
			
		||||
            description: 'Input placeholder'
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        operatorIsText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'is',
 | 
			
		||||
            description: 'Operator is "="'
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        operatorIsNotText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'is not',
 | 
			
		||||
            description: 'Operator is not "!="'
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        noDataText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'No Data',
 | 
			
		||||
            description: "Selectbox empty options message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        noMatchingDataText: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: 'No Matchign Data',
 | 
			
		||||
            description: "Selectbox search option not found item message"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        value: {
 | 
			
		||||
            type: String,
 | 
			
		||||
            default: null,
 | 
			
		||||
            description: 'Search attribute value'
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        filters: {
 | 
			
		||||
            type: Array,
 | 
			
		||||
            default: () => [],
 | 
			
		||||
            description: 'List of filters'
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        defaultFiltered: {
 | 
			
		||||
            type: Array,
 | 
			
		||||
            default: () => [],
 | 
			
		||||
@@ -186,7 +207,6 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        dateConfig: null
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    model: {
 | 
			
		||||
@@ -217,6 +237,7 @@ export default {
 | 
			
		||||
            values: [],
 | 
			
		||||
            current_value: null,
 | 
			
		||||
            show_date: false,
 | 
			
		||||
            show_button: false,
 | 
			
		||||
            show_close_icon: false,
 | 
			
		||||
            show_icon: true,
 | 
			
		||||
            not_equal_image: app_url +  "/public/img/tailwind_icons/not-equal.svg",
 | 
			
		||||
@@ -228,6 +249,8 @@ export default {
 | 
			
		||||
 | 
			
		||||
    methods: {
 | 
			
		||||
        onInputFocus() {
 | 
			
		||||
            this.show_button = true;
 | 
			
		||||
 | 
			
		||||
            if (!this.filter_list.length) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
@@ -303,7 +326,8 @@ export default {
 | 
			
		||||
 | 
			
		||||
        onInput(evt) {
 | 
			
		||||
            this.search = evt.target.value;
 | 
			
		||||
            
 | 
			
		||||
            this.show_button = true;
 | 
			
		||||
 | 
			
		||||
            let option_url = this.selected_options.length > 0 && this.selected_options[this.filter_index] !== undefined ? this.selected_options[this.filter_index].url : '';
 | 
			
		||||
 | 
			
		||||
            if (this.search) {
 | 
			
		||||
@@ -409,10 +433,12 @@ export default {
 | 
			
		||||
 | 
			
		||||
            let option = false;
 | 
			
		||||
            let option_url = false;
 | 
			
		||||
            let option_fields = {};
 | 
			
		||||
 | 
			
		||||
            for (let i = 0; i < this.filter_list.length; i++) {
 | 
			
		||||
                if (this.filter_list[i].key == value) {
 | 
			
		||||
                    option = this.filter_list[i].value;
 | 
			
		||||
                    option_fields = (this.filter_list[i]['value_option_fields']) ? this.filter_list[i].value_option_fields : {};
 | 
			
		||||
 | 
			
		||||
                    if (this.filter_list[i].values !== 'undefined' && Object.keys(this.filter_list[i].values).length) {
 | 
			
		||||
                        this.option_values[value] = this.convertOption(this.filter_list[i].values);
 | 
			
		||||
@@ -461,7 +487,7 @@ export default {
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (!this.option_values[value] && option_url) {
 | 
			
		||||
            if (! this.option_values[value] && option_url) {
 | 
			
		||||
                if (option_url.indexOf('limit') === -1) {
 | 
			
		||||
                    option_url += ' limit:10';
 | 
			
		||||
                }
 | 
			
		||||
@@ -473,11 +499,19 @@ export default {
 | 
			
		||||
                    this.values = [];
 | 
			
		||||
 | 
			
		||||
                    data.forEach(function (item) {
 | 
			
		||||
                        this.values.push({
 | 
			
		||||
                            key: (item.code) ? item.code : item.id,
 | 
			
		||||
                            value: (item.title) ? item.title : (item.display_name) ? item.display_name : item.name,
 | 
			
		||||
                            level: (item.level) ? item.level : null,
 | 
			
		||||
                        });
 | 
			
		||||
                        if (Object.keys(option_fields).length) {
 | 
			
		||||
                            this.values.push({
 | 
			
		||||
                                key: (option_fields['key']) ? item[option_fields['key']] : (item.code) ? item.code : item.id,
 | 
			
		||||
                                value: (option_fields['value']) ? item[option_fields['value']] : (item.title) ? item.title : (item.display_name) ? item.display_name : item.name,
 | 
			
		||||
                                level: (option_fields['level']) ? item[option_fields['level']] : (item.level) ? item.level : null,
 | 
			
		||||
                            });
 | 
			
		||||
                        } else {
 | 
			
		||||
                            this.values.push({
 | 
			
		||||
                                key: (item.code) ? item.code : item.id,
 | 
			
		||||
                                value: (item.title) ? item.title : (item.display_name) ? item.display_name : item.name,
 | 
			
		||||
                                level: (item.level) ? item.level : null,
 | 
			
		||||
                            });
 | 
			
		||||
                        }
 | 
			
		||||
                    }, this);
 | 
			
		||||
 | 
			
		||||
                    this.option_values[value] = this.values;
 | 
			
		||||
@@ -603,7 +637,7 @@ export default {
 | 
			
		||||
            this.selected_values.splice(index, 1);
 | 
			
		||||
 | 
			
		||||
            this.show_date = false;
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            if (this.filter_index == 0) {
 | 
			
		||||
                this.onChangeSearchAndFilterText(this.defaultPlaceholder, true);
 | 
			
		||||
                this.show_close_icon = false;
 | 
			
		||||
@@ -633,7 +667,7 @@ export default {
 | 
			
		||||
            let values = [];
 | 
			
		||||
 | 
			
		||||
            // Option set sort_option data
 | 
			
		||||
            if (!Array.isArray(options)) {
 | 
			
		||||
            if (! Array.isArray(options)) {
 | 
			
		||||
                for (const [key, value] of Object.entries(options)) {
 | 
			
		||||
                    values.push({
 | 
			
		||||
                        key: (key).toString(),
 | 
			
		||||
@@ -658,6 +692,7 @@ export default {
 | 
			
		||||
                    this.visible.options = false;
 | 
			
		||||
                    this.visible.operator = false;
 | 
			
		||||
                    this.visible.values = false;
 | 
			
		||||
                    this.show_button = false;
 | 
			
		||||
 | 
			
		||||
                    document.removeEventListener('click', this.closeIfClickedOutside);
 | 
			
		||||
                }
 | 
			
		||||
@@ -835,6 +870,7 @@ export default {
 | 
			
		||||
            this.values.sort(function (a, b) {
 | 
			
		||||
                var nameA = a.value.toUpperCase(); // ignore upper and lowercase
 | 
			
		||||
                var nameB = b.value.toUpperCase(); // ignore upper and lowercase
 | 
			
		||||
 | 
			
		||||
                if (nameA < nameB) {
 | 
			
		||||
                    return -1;
 | 
			
		||||
                }
 | 
			
		||||
@@ -842,6 +878,7 @@ export default {
 | 
			
		||||
                if (nameA > nameB) {
 | 
			
		||||
                    return 1;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // names must be equal
 | 
			
		||||
                return 0;
 | 
			
		||||
            });
 | 
			
		||||
@@ -921,7 +958,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
    .searh-field .btn:not(:disabled):not(.disabled):active:focus,
 | 
			
		||||
    .searh-field .btn:not(:disabled):not(.disabled).active:focus {
 | 
			
		||||
    -webkit-box-shadow: none !important;
 | 
			
		||||
        -webkit-box-shadow: none !important;
 | 
			
		||||
        box-shadow: none !important;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -893,12 +893,12 @@ export default {
 | 
			
		||||
                this.selected = [];
 | 
			
		||||
 | 
			
		||||
                selected.forEach(function (select, index) {
 | 
			
		||||
                    if (this.sorted_options.find((option) => option.key == select)) {
 | 
			
		||||
                    if (Array.isArray(this.sorted_options) && this.sorted_options.find((option) => option.key == select)) {
 | 
			
		||||
                        this.selected.push(select);
 | 
			
		||||
                    }
 | 
			
		||||
                }, this);
 | 
			
		||||
            } else {
 | 
			
		||||
                if (! options.find((option) => option == this.selected)) {
 | 
			
		||||
                if (Array.isArray(options) && ! options.find((option) => option == this.selected)) {
 | 
			
		||||
                    this.selected = '';
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -1107,12 +1107,12 @@ export default {
 | 
			
		||||
            this.selected = [];
 | 
			
		||||
 | 
			
		||||
            selected.forEach(function (select, index) {
 | 
			
		||||
                if (this.sorted_options.find((option) => option.key == select)) {
 | 
			
		||||
                if (Array.isArray(this.sorted_options) && this.sorted_options.find((option) => option.key == select)) {
 | 
			
		||||
                    this.selected.push(select);
 | 
			
		||||
                }
 | 
			
		||||
            }, this);
 | 
			
		||||
        } else {
 | 
			
		||||
            if (! options.find((option) => option == this.selected)) {
 | 
			
		||||
            if (Array.isArray(options) && ! options.find((option) => option == this.selected)) {
 | 
			
		||||
                this.selected = '';
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="card-item relative w-2/4 lg:w-3/4 h-48 m-auto" :class="{ '-active' : isCardFlipped }">
 | 
			
		||||
  <div class="card-item relative w-2/4 lg:w-3/4 h-48 m-auto my-5" :class="{ '-active' : isCardFlipped }">
 | 
			
		||||
    <div class="card-item__side h-full rounded-lg shadow-lg overflow-hidden" style="transform: perspective(2000px) rotateY(0deg) rotateX(0deg) rotate(0deg);
 | 
			
		||||
  transform-style: preserve-3d;
 | 
			
		||||
  transition: all 0.8s cubic-bezier(0.71, 0.03, 0.56, 0.85);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,204 +1,259 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div
 | 
			
		||||
    @click="tryClose"
 | 
			
		||||
    data-notify="container"
 | 
			
		||||
    class="alert alert-notify fixed w-full sm:w-500 flex items-center justify-between ltr:right-0 rtl:left-0 sm:ltr:right-4 sm:rtl:left-4 p-4 text-black font-bold rounded-lg z-30"
 | 
			
		||||
    :class="[
 | 
			
		||||
      { 'alert-with-icon': icon },
 | 
			
		||||
      verticalAlign,
 | 
			
		||||
      horizontalAlign,
 | 
			
		||||
      alertType
 | 
			
		||||
    ]"
 | 
			
		||||
    role="alert"
 | 
			
		||||
    :style="customPosition"
 | 
			
		||||
    data-notify-position="top-center"
 | 
			
		||||
  >
 | 
			
		||||
  <div class="flex items-center ltr:pr-3 rtl:pl-3">
 | 
			
		||||
    <template v-if="icon || $slots.icon">
 | 
			
		||||
      <slot name="icon">
 | 
			
		||||
            <span class="alert-icon flex items-center ltr:mr-2 rtl:ml-2" data-notify="icon">
 | 
			
		||||
              <span class="material-icons text-2xl">{{ icon }}</span>
 | 
			
		||||
    <div
 | 
			
		||||
        @click="tryClose"
 | 
			
		||||
        data-notify="container"
 | 
			
		||||
        :class="[
 | 
			
		||||
            'alert alert-notify',
 | 
			
		||||
            'fixed w-full sm:w-500 flex items-center justify-between',
 | 
			
		||||
            {
 | 
			
		||||
                'rtl:right-0 ltr:left-0' : horizontalAlign == 'left',
 | 
			
		||||
                'sm:rtl:right-4 sm:ltr:left-4' : horizontalAlign == 'left',
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                'ltr:right-0 rtl:left-0' : horizontalAlign == 'right',
 | 
			
		||||
                'sm:ltr:right-4 sm:rtl:left-4' : horizontalAlign == 'right',
 | 
			
		||||
            },
 | 
			
		||||
            'p-4',
 | 
			
		||||
            'text-black font-bold',
 | 
			
		||||
            'rounded-lg',
 | 
			
		||||
            { 
 | 
			
		||||
                'alert-with-icon': icon
 | 
			
		||||
            },
 | 
			
		||||
            verticalAlign,
 | 
			
		||||
            horizontalAlign,
 | 
			
		||||
            alertType
 | 
			
		||||
        ]"
 | 
			
		||||
        role="alert"
 | 
			
		||||
        :style="customPosition"
 | 
			
		||||
        style="z-index: 100;"
 | 
			
		||||
        data-notify-position="top-center"
 | 
			
		||||
    >
 | 
			
		||||
        <div class="flex items-center ltr:pr-3 rtl:pl-3">
 | 
			
		||||
            <template v-if="icon || $slots.icon">
 | 
			
		||||
                <slot name="icon">
 | 
			
		||||
                    <span class="alert-icon flex items-center ltr:mr-2 rtl:ml-2" data-notify="icon">
 | 
			
		||||
                        <span class="material-icons text-2xl">{{ icon }}</span>
 | 
			
		||||
                    </span>
 | 
			
		||||
                </slot>
 | 
			
		||||
            </template>
 | 
			
		||||
 | 
			
		||||
            <span class="alert-text">
 | 
			
		||||
                <span v-if="title" class="title">
 | 
			
		||||
                    <b>{{ title }}<br/></b>
 | 
			
		||||
                </span>
 | 
			
		||||
 | 
			
		||||
                <span v-if="message" v-html="message"></span>
 | 
			
		||||
 | 
			
		||||
                <content-render v-if="!message && component" :component="component"></content-render>
 | 
			
		||||
            </span>
 | 
			
		||||
      </slot>
 | 
			
		||||
    </template>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
    <span class="alert-text">
 | 
			
		||||
      <span v-if="title" class="title">
 | 
			
		||||
        <b>{{ title }}<br/></b>
 | 
			
		||||
      </span>
 | 
			
		||||
      <span v-if="message" v-html="message"></span>
 | 
			
		||||
      <content-render
 | 
			
		||||
        v-if="!message && component"
 | 
			
		||||
        :component="component"
 | 
			
		||||
      ></content-render>
 | 
			
		||||
    </span>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
    <slot name="dismiss-icon">
 | 
			
		||||
      <button type="button"
 | 
			
		||||
              class="close text-2xl"
 | 
			
		||||
              data-dismiss="alert"
 | 
			
		||||
              aria-label="Close"
 | 
			
		||||
              @click="close">
 | 
			
		||||
        <span aria-hidden="true">×</span>
 | 
			
		||||
      </button>
 | 
			
		||||
    </slot>
 | 
			
		||||
  </div>
 | 
			
		||||
        <slot name="dismiss-icon">
 | 
			
		||||
            <button type="button"
 | 
			
		||||
                class="close text-2xl"
 | 
			
		||||
                data-dismiss="alert"
 | 
			
		||||
                aria-label="Close"
 | 
			
		||||
                @click="close"
 | 
			
		||||
            >
 | 
			
		||||
                <span aria-hidden="true">×</span>
 | 
			
		||||
            </button>
 | 
			
		||||
        </slot>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
  export default {
 | 
			
		||||
    name: 'notification',
 | 
			
		||||
    components: {
 | 
			
		||||
      contentRender: {
 | 
			
		||||
        props: ['component'],
 | 
			
		||||
        render: h => h(this.component)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    props: {
 | 
			
		||||
      message: String,
 | 
			
		||||
      title: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        description: 'Notification title'
 | 
			
		||||
      },
 | 
			
		||||
      icon: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        description: 'Notification icon'
 | 
			
		||||
      },
 | 
			
		||||
      verticalAlign: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        default: 'top',
 | 
			
		||||
        validator: value => {
 | 
			
		||||
          let acceptedValues = ['top', 'bottom'];
 | 
			
		||||
          return acceptedValues.indexOf(value) !== -1;
 | 
			
		||||
    export default {
 | 
			
		||||
        name: 'notification',
 | 
			
		||||
 | 
			
		||||
        components: {
 | 
			
		||||
            contentRender: {
 | 
			
		||||
                props: ['component'],
 | 
			
		||||
                render: h => h(this.component)
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        description: 'Vertical alignment of notification (top|bottom)'
 | 
			
		||||
      },
 | 
			
		||||
      horizontalAlign: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        default: 'right',
 | 
			
		||||
        validator: value => {
 | 
			
		||||
          let acceptedValues = ['left', 'center', 'right'];
 | 
			
		||||
          return acceptedValues.indexOf(value) !== -1;
 | 
			
		||||
 | 
			
		||||
        props: {
 | 
			
		||||
            message: String,
 | 
			
		||||
 | 
			
		||||
            title: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                description: 'Notification title'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            icon: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                description: 'Notification icon'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            verticalAlign: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                default: 'top',
 | 
			
		||||
                validator: value => {
 | 
			
		||||
                    let acceptedValues = ['top', 'bottom'];
 | 
			
		||||
 | 
			
		||||
                    return acceptedValues.indexOf(value) !== -1;
 | 
			
		||||
                },
 | 
			
		||||
                description: 'Vertical alignment of notification (top|bottom)'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            horizontalAlign: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                default: 'right',
 | 
			
		||||
                validator: value => {
 | 
			
		||||
                    let acceptedValues = ['left', 'center', 'right'];
 | 
			
		||||
 | 
			
		||||
                    return acceptedValues.indexOf(value) !== -1;
 | 
			
		||||
                },
 | 
			
		||||
                description: 'Horizontal alignment of notification (left|center|right)'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            type: {
 | 
			
		||||
                type: String,
 | 
			
		||||
                default: 'info',
 | 
			
		||||
                validator: value => {
 | 
			
		||||
                    let acceptedValues = [
 | 
			
		||||
                        'default',
 | 
			
		||||
                        'info',
 | 
			
		||||
                        'primary',
 | 
			
		||||
                        'danger',
 | 
			
		||||
                        'warning',
 | 
			
		||||
                        'success'
 | 
			
		||||
                    ];
 | 
			
		||||
 | 
			
		||||
                    return acceptedValues.indexOf(value) !== -1;
 | 
			
		||||
                },
 | 
			
		||||
                description: 'Notification type of notification (gray-300|blue-300|gray-300|red-300|orange-300|green-300)'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            timeout: {
 | 
			
		||||
                type: Number,
 | 
			
		||||
                default: 5000,
 | 
			
		||||
                validator: value => {
 | 
			
		||||
                    return value >= 0;
 | 
			
		||||
                },
 | 
			
		||||
                description: 'Notification timeout (closes after X milliseconds). Default is 5000 (5s)'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            timestamp: {
 | 
			
		||||
                type: Date,
 | 
			
		||||
                default: () => new Date(),
 | 
			
		||||
                description: 'Notification timestamp (used internally to handle notification removal correctly)'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            component: {
 | 
			
		||||
                type: [Object, Function],
 | 
			
		||||
                description: 'Custom content component. Cane be a `.vue` component or render function'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            showClose: {
 | 
			
		||||
                type: Boolean,
 | 
			
		||||
                default: true,
 | 
			
		||||
                description: 'Whether to show close button'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            closeOnClick: {
 | 
			
		||||
                type: Boolean,
 | 
			
		||||
                default: true,
 | 
			
		||||
                description: 'Whether to close notification when clicking it\' body'
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            clickHandler: {
 | 
			
		||||
                type: Function,
 | 
			
		||||
                description: 'Custom notification click handler'
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        description: 'Horizontal alignment of notification (left|center|right)'
 | 
			
		||||
      },
 | 
			
		||||
      type: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        default: 'info',
 | 
			
		||||
        validator: value => {
 | 
			
		||||
          let acceptedValues = [
 | 
			
		||||
            'default',
 | 
			
		||||
            'info',
 | 
			
		||||
            'primary',
 | 
			
		||||
            'danger',
 | 
			
		||||
            'warning',
 | 
			
		||||
            'success'
 | 
			
		||||
          ];
 | 
			
		||||
          return acceptedValues.indexOf(value) !== -1;
 | 
			
		||||
 | 
			
		||||
        data() {
 | 
			
		||||
            return {
 | 
			
		||||
                elmHeight: 0,
 | 
			
		||||
 | 
			
		||||
                typeByClass: {
 | 
			
		||||
                    'default': 'black-100',
 | 
			
		||||
                    'info':    'blue-100',
 | 
			
		||||
                    'primary': 'black-100',
 | 
			
		||||
                    'danger':  'red-100',
 | 
			
		||||
                    'warning': 'orange-100',
 | 
			
		||||
                    'success': 'green-100',
 | 
			
		||||
                },
 | 
			
		||||
 | 
			
		||||
                textByClass: {
 | 
			
		||||
                    'default': 'black-600',
 | 
			
		||||
                    'info':    'blue-600',
 | 
			
		||||
                    'primary': 'black-600',
 | 
			
		||||
                    'danger':  'red-600',
 | 
			
		||||
                    'warning': 'orange-600',
 | 
			
		||||
                    'success': 'green-600',
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
        },
 | 
			
		||||
        description: 'Notification type of notification (gray-300|blue-300|gray-300|red-300|orange-300|green-300)'
 | 
			
		||||
      },
 | 
			
		||||
      timeout: {
 | 
			
		||||
        type: Number,
 | 
			
		||||
        default: 5000,
 | 
			
		||||
        validator: value => {
 | 
			
		||||
          return value >= 0;
 | 
			
		||||
 | 
			
		||||
        computed: {
 | 
			
		||||
            hasIcon() {
 | 
			
		||||
                return this.icon && this.icon.length > 0;
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            alertType() {
 | 
			
		||||
                return `bg-${this.typeByClass[this.type]} text-${this.textByClass[this.type]}`;
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            customPosition() {
 | 
			
		||||
                let initialMargin = 20;
 | 
			
		||||
                let alertHeight = this.elmHeight + 10;
 | 
			
		||||
 | 
			
		||||
                let sameAlertsCount = this.$notifications.state.filter(alert => {
 | 
			
		||||
                    return (
 | 
			
		||||
                        alert.horizontalAlign === this.horizontalAlign &&
 | 
			
		||||
                        alert.verticalAlign === this.verticalAlign &&
 | 
			
		||||
                        alert.timestamp <= this.timestamp
 | 
			
		||||
                    );
 | 
			
		||||
                }).length;
 | 
			
		||||
 | 
			
		||||
                if (this.$notifications.settings.overlap) {
 | 
			
		||||
                    sameAlertsCount = 1;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                let pixels = (sameAlertsCount - 1) * alertHeight + initialMargin;
 | 
			
		||||
 | 
			
		||||
                if (sameAlertsCount > 1) {
 | 
			
		||||
                    pixels = 30 + this.$parent.children[sameAlertsCount - 2].elm.offsetHeight;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                let styles = {};
 | 
			
		||||
 | 
			
		||||
                styles.zIndex = 100;
 | 
			
		||||
 | 
			
		||||
                if (this.verticalAlign === 'top') {
 | 
			
		||||
                    styles.top = `${pixels}px`;
 | 
			
		||||
                } else {
 | 
			
		||||
                    styles.bottom = `${pixels}px`;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return styles;
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        description: 'Notification timeout (closes after X milliseconds). Default is 5000 (5s)'
 | 
			
		||||
      },
 | 
			
		||||
      timestamp: {
 | 
			
		||||
        type: Date,
 | 
			
		||||
        default: () => new Date(),
 | 
			
		||||
        description: 'Notification timestamp (used internally to handle notification removal correctly)'
 | 
			
		||||
      },
 | 
			
		||||
      component: {
 | 
			
		||||
        type: [Object, Function],
 | 
			
		||||
        description: 'Custom content component. Cane be a `.vue` component or render function'
 | 
			
		||||
      },
 | 
			
		||||
      showClose: {
 | 
			
		||||
        type: Boolean,
 | 
			
		||||
        default: true,
 | 
			
		||||
        description: 'Whether to show close button'
 | 
			
		||||
      },
 | 
			
		||||
      closeOnClick: {
 | 
			
		||||
        type: Boolean,
 | 
			
		||||
        default: true,
 | 
			
		||||
        description: 'Whether to close notification when clicking it\' body'
 | 
			
		||||
      },
 | 
			
		||||
      clickHandler: {
 | 
			
		||||
        type: Function,
 | 
			
		||||
        description: 'Custom notification click handler'
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        elmHeight: 0,
 | 
			
		||||
        typeByClass: {
 | 
			
		||||
          'default': 'black-100',
 | 
			
		||||
          'info':    'blue-100',
 | 
			
		||||
          'primary': 'black-100',
 | 
			
		||||
          'danger':  'red-100',
 | 
			
		||||
          'warning': 'orange-100',
 | 
			
		||||
          'success': 'green-100',
 | 
			
		||||
 | 
			
		||||
        methods: {
 | 
			
		||||
            close() {
 | 
			
		||||
                this.$emit('close', this.timestamp);
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            tryClose(evt) {
 | 
			
		||||
                if (this.clickHandler) {
 | 
			
		||||
                    this.clickHandler(evt, this);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (this.closeOnClick) {
 | 
			
		||||
                    this.close();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        textByClass: {
 | 
			
		||||
          'default': 'black-600',
 | 
			
		||||
          'info':    'blue-600',
 | 
			
		||||
          'primary': 'black-600',
 | 
			
		||||
          'danger':  'red-600',
 | 
			
		||||
          'warning': 'orange-600',
 | 
			
		||||
          'success': 'green-600',
 | 
			
		||||
        }
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
    computed: {
 | 
			
		||||
      hasIcon() {
 | 
			
		||||
        return this.icon && this.icon.length > 0;
 | 
			
		||||
      },
 | 
			
		||||
      alertType() {
 | 
			
		||||
        return `bg-${this.typeByClass[this.type]} text-${this.textByClass[this.type]}`;
 | 
			
		||||
      },
 | 
			
		||||
      customPosition() {
 | 
			
		||||
        let initialMargin = 20;
 | 
			
		||||
        let alertHeight = this.elmHeight + 10;
 | 
			
		||||
        let sameAlertsCount = this.$notifications.state.filter(alert => {
 | 
			
		||||
          return (
 | 
			
		||||
            alert.horizontalAlign === this.horizontalAlign &&
 | 
			
		||||
            alert.verticalAlign === this.verticalAlign &&
 | 
			
		||||
            alert.timestamp <= this.timestamp
 | 
			
		||||
          );
 | 
			
		||||
        }).length;
 | 
			
		||||
        if (this.$notifications.settings.overlap) {
 | 
			
		||||
          sameAlertsCount = 1;
 | 
			
		||||
        }
 | 
			
		||||
        let pixels = (sameAlertsCount - 1) * alertHeight + initialMargin;
 | 
			
		||||
        let styles = {};
 | 
			
		||||
        if (this.verticalAlign === 'top') {
 | 
			
		||||
          styles.top = `${pixels}px`;
 | 
			
		||||
        } else {
 | 
			
		||||
          styles.bottom = `${pixels}px`;
 | 
			
		||||
        }
 | 
			
		||||
        return styles;
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
      close() {
 | 
			
		||||
        this.$emit('close', this.timestamp);
 | 
			
		||||
      },
 | 
			
		||||
      tryClose(evt) {
 | 
			
		||||
        if (this.clickHandler) {
 | 
			
		||||
          this.clickHandler(evt, this);
 | 
			
		||||
        }
 | 
			
		||||
        if (this.closeOnClick) {
 | 
			
		||||
          this.close();
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    mounted() {
 | 
			
		||||
      this.elmHeight = this.$el.clientHeight;
 | 
			
		||||
      if (this.timeout) {
 | 
			
		||||
        setTimeout(this.close, this.timeout);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
        mounted() {
 | 
			
		||||
            this.elmHeight = this.$el.clientHeight;
 | 
			
		||||
 | 
			
		||||
            if (this.timeout) {
 | 
			
		||||
                setTimeout(this.close, this.timeout);
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,55 +1,63 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="notifications">
 | 
			
		||||
    <slide-y-up-transition :duration="transitionDuration"
 | 
			
		||||
                             group
 | 
			
		||||
                             mode="out-in">
 | 
			
		||||
      <notification
 | 
			
		||||
        v-for="notification in notifications"
 | 
			
		||||
        v-bind="notification"
 | 
			
		||||
        :clickHandler="notification.onClick"
 | 
			
		||||
        :key="notification.timestamp.getTime()"
 | 
			
		||||
        @close="removeNotification"
 | 
			
		||||
      >
 | 
			
		||||
      </notification>
 | 
			
		||||
    </slide-y-up-transition>
 | 
			
		||||
  </div>
 | 
			
		||||
    <div class="notifications">
 | 
			
		||||
        <slide-y-up-transition :duration="transitionDuration"
 | 
			
		||||
            group
 | 
			
		||||
            mode="out-in"
 | 
			
		||||
        >
 | 
			
		||||
            <notification
 | 
			
		||||
                v-for="notification in notifications"
 | 
			
		||||
                v-bind="notification"
 | 
			
		||||
                :clickHandler="notification.onClick"
 | 
			
		||||
                :key="notification.timestamp.getTime()"
 | 
			
		||||
                @close="removeNotification"
 | 
			
		||||
            >
 | 
			
		||||
            </notification>
 | 
			
		||||
        </slide-y-up-transition>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
  import Notification from './Notification.vue';
 | 
			
		||||
  import { SlideYUpTransition } from 'vue2-transitions';
 | 
			
		||||
 | 
			
		||||
  export default {
 | 
			
		||||
    components: {
 | 
			
		||||
      SlideYUpTransition,
 | 
			
		||||
      Notification
 | 
			
		||||
    },
 | 
			
		||||
    props: {
 | 
			
		||||
      transitionDuration: {
 | 
			
		||||
        type: Number,
 | 
			
		||||
        default: 200
 | 
			
		||||
      },
 | 
			
		||||
      overlap: {
 | 
			
		||||
        type: Boolean,
 | 
			
		||||
        default: false
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        notifications: this.$notifications.state
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
      removeNotification(timestamp) {
 | 
			
		||||
        this.$notifications.removeNotification(timestamp);
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    created() {
 | 
			
		||||
      this.$notifications.settings.overlap = this.overlap;
 | 
			
		||||
    },
 | 
			
		||||
    watch: {
 | 
			
		||||
      overlap: function (newVal) {
 | 
			
		||||
        this.$notifications.settings.overlap = newVal;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
<script>
 | 
			
		||||
    import Notification from './Notification.vue';
 | 
			
		||||
    import { SlideYUpTransition } from 'vue2-transitions';
 | 
			
		||||
 | 
			
		||||
    export default {
 | 
			
		||||
        components: {
 | 
			
		||||
            SlideYUpTransition,
 | 
			
		||||
            Notification
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        props: {
 | 
			
		||||
            transitionDuration: {
 | 
			
		||||
                type: Number,
 | 
			
		||||
                default: 200
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            overlap: {
 | 
			
		||||
                type: Boolean,
 | 
			
		||||
                default: false
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        data() {
 | 
			
		||||
            return {
 | 
			
		||||
                notifications: this.$notifications.state
 | 
			
		||||
            };
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        methods: {
 | 
			
		||||
            removeNotification(timestamp) {
 | 
			
		||||
                this.$notifications.removeNotification(timestamp);
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        created() {
 | 
			
		||||
            this.$notifications.settings.overlap = this.overlap;
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        watch: {
 | 
			
		||||
            overlap: function (newVal) {
 | 
			
		||||
                this.$notifications.settings.overlap = newVal;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,66 +1,81 @@
 | 
			
		||||
import Notifications from './Notifications.vue';
 | 
			
		||||
 | 
			
		||||
const NotificationStore = {
 | 
			
		||||
  state: [], // here the notifications will be added
 | 
			
		||||
  settings: {
 | 
			
		||||
    overlap: false,
 | 
			
		||||
    verticalAlign: 'top',
 | 
			
		||||
    horizontalAlign: 'right',
 | 
			
		||||
    type: 'info',
 | 
			
		||||
    timeout: 5000,
 | 
			
		||||
    closeOnClick: true,
 | 
			
		||||
    showClose: true
 | 
			
		||||
  },
 | 
			
		||||
  setOptions(options) {
 | 
			
		||||
    this.settings = Object.assign(this.settings, options);
 | 
			
		||||
  },
 | 
			
		||||
  removeNotification(timestamp) {
 | 
			
		||||
    const indexToDelete = this.state.findIndex(n => n.timestamp === timestamp);
 | 
			
		||||
    if (indexToDelete !== -1) {
 | 
			
		||||
      this.state.splice(indexToDelete, 1);
 | 
			
		||||
    state: [], // here the notifications will be added
 | 
			
		||||
 | 
			
		||||
    settings: {
 | 
			
		||||
        overlap: false,
 | 
			
		||||
        verticalAlign: 'top',
 | 
			
		||||
        horizontalAlign: 'right',
 | 
			
		||||
        type: 'info',
 | 
			
		||||
        timeout: 5000,
 | 
			
		||||
        closeOnClick: true,
 | 
			
		||||
        showClose: true
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setOptions(options) {
 | 
			
		||||
        this.settings = Object.assign(this.settings, options);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    removeNotification(timestamp) {
 | 
			
		||||
        const indexToDelete = this.state.findIndex(n => n.timestamp === timestamp);
 | 
			
		||||
 | 
			
		||||
        if (indexToDelete !== -1) {
 | 
			
		||||
            this.state.splice(indexToDelete, 1);
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addNotification(notification) {
 | 
			
		||||
        if (typeof notification === 'string' || notification instanceof String) {
 | 
			
		||||
            notification = { 
 | 
			
		||||
                message: notification
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        notification.timestamp = new Date();
 | 
			
		||||
 | 
			
		||||
        notification.timestamp.setMilliseconds(
 | 
			
		||||
            notification.timestamp.getMilliseconds() + this.state.length
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        notification = Object.assign({}, this.settings, notification);
 | 
			
		||||
 | 
			
		||||
        this.state.push(notification);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    notify(notification) {
 | 
			
		||||
        if (Array.isArray(notification)) {
 | 
			
		||||
            notification.forEach(notificationInstance => {
 | 
			
		||||
                this.addNotification(notificationInstance);
 | 
			
		||||
            });
 | 
			
		||||
        } else {
 | 
			
		||||
            this.addNotification(notification);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  addNotification(notification) {
 | 
			
		||||
    if (typeof notification === 'string' || notification instanceof String) {
 | 
			
		||||
      notification = { message: notification };
 | 
			
		||||
    }
 | 
			
		||||
    notification.timestamp = new Date();
 | 
			
		||||
    notification.timestamp.setMilliseconds(
 | 
			
		||||
      notification.timestamp.getMilliseconds() + this.state.length
 | 
			
		||||
    );
 | 
			
		||||
    notification = Object.assign({}, this.settings, notification);
 | 
			
		||||
    this.state.push(notification);
 | 
			
		||||
  },
 | 
			
		||||
  notify(notification) {
 | 
			
		||||
    if (Array.isArray(notification)) {
 | 
			
		||||
      notification.forEach(notificationInstance => {
 | 
			
		||||
        this.addNotification(notificationInstance);
 | 
			
		||||
      });
 | 
			
		||||
    } else {
 | 
			
		||||
      this.addNotification(notification);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const NotificationsPlugin = {
 | 
			
		||||
  install(Vue, options) {
 | 
			
		||||
    let app = new Vue({
 | 
			
		||||
      data: {
 | 
			
		||||
        notificationStore: NotificationStore
 | 
			
		||||
      },
 | 
			
		||||
      methods: {
 | 
			
		||||
        notify(notification) {
 | 
			
		||||
          this.notificationStore.notify(notification);
 | 
			
		||||
    install(Vue, options) {
 | 
			
		||||
        let app = new Vue({
 | 
			
		||||
            data: {
 | 
			
		||||
                notificationStore: NotificationStore
 | 
			
		||||
            },
 | 
			
		||||
 | 
			
		||||
            methods: {
 | 
			
		||||
                notify(notification) {
 | 
			
		||||
                    this.notificationStore.notify(notification);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        Vue.prototype.$notify = app.notify;
 | 
			
		||||
        Vue.prototype.$notifications = app.notificationStore;
 | 
			
		||||
        Vue.component('Notifications', Notifications);
 | 
			
		||||
 | 
			
		||||
        if (options) {
 | 
			
		||||
            NotificationStore.setOptions(options);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    Vue.prototype.$notify = app.notify;
 | 
			
		||||
    Vue.prototype.$notifications = app.notificationStore;
 | 
			
		||||
    Vue.component('Notifications', Notifications);
 | 
			
		||||
    if (options) {
 | 
			
		||||
      NotificationStore.setOptions(options);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default NotificationsPlugin;
 | 
			
		||||
 
 | 
			
		||||
@@ -6,16 +6,27 @@ export default {
 | 
			
		||||
        Sentry.init({
 | 
			
		||||
            Vue,
 | 
			
		||||
            dsn: exception_tracker.action,
 | 
			
		||||
 | 
			
		||||
            logErrors: true,
 | 
			
		||||
 | 
			
		||||
            integrations: [
 | 
			
		||||
                new BrowserTracing({
 | 
			
		||||
                    tracingOrigins: [],
 | 
			
		||||
                }),
 | 
			
		||||
                //new Sentry.Replay()
 | 
			
		||||
            ],
 | 
			
		||||
            // Set tracesSampleRate to 1.0 to capture 100%
 | 
			
		||||
            // of transactions for performance monitoring.
 | 
			
		||||
            // We recommend adjusting this value in production
 | 
			
		||||
            tracesSampleRate: exception_tracker.params.traces_sample_rate,
 | 
			
		||||
 | 
			
		||||
            // This sets the sample rate to be 10%. You may want this to be 100% while
 | 
			
		||||
            // in development and sample at a lower rate in production
 | 
			
		||||
            //replaysSessionSampleRate: exception_tracker.params.replays_session_sample_rate,
 | 
			
		||||
 | 
			
		||||
            // If the entire session is not sampled, use the below sample rate to sample
 | 
			
		||||
            // sessions when an error occurs.
 | 
			
		||||
            //replaysOnErrorSampleRate: exception_tracker.params.replays_on_error_sample_rate,
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        Sentry.setUser({
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								resources/assets/js/mixins/global.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										56
									
								
								resources/assets/js/mixins/global.js
									
									
									
									
										vendored
									
									
								
							@@ -271,6 +271,8 @@ export default {
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                this.$notify({
 | 
			
		||||
                    verticalAlign: 'bottom',
 | 
			
		||||
                    horizontalAlign: 'left',
 | 
			
		||||
                    message: notify.message,
 | 
			
		||||
                    timeout: timeout,
 | 
			
		||||
                    icon: 'error_outline',
 | 
			
		||||
@@ -467,6 +469,9 @@ export default {
 | 
			
		||||
        onChangePaginationLimit(event) {
 | 
			
		||||
            let path = '';
 | 
			
		||||
 | 
			
		||||
            let split_href = window.location.href.split('#');
 | 
			
		||||
            let href = split_href[0];
 | 
			
		||||
 | 
			
		||||
            if (window.location.search.length) {
 | 
			
		||||
                if (window.location.search.includes('limit')) {
 | 
			
		||||
                    let queries = [];
 | 
			
		||||
@@ -494,10 +499,14 @@ export default {
 | 
			
		||||
                    });
 | 
			
		||||
 | 
			
		||||
                } else {
 | 
			
		||||
                    path = window.location.href + '&limit=' + event.target.getAttribute("value");
 | 
			
		||||
                    path = href + '&limit=' + event.target.getAttribute("value");
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                path = window.location.href + '?limit=' + event.target.getAttribute("value");
 | 
			
		||||
                path = href + '?limit=' + event.target.getAttribute("value");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (split_href[1]) {
 | 
			
		||||
                path +=  '#' + split_href[1];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            window.location.href = path;
 | 
			
		||||
@@ -505,6 +514,10 @@ export default {
 | 
			
		||||
 | 
			
		||||
        // Dynamic component get path view and show it.
 | 
			
		||||
        onDynamicComponent(path) {
 | 
			
		||||
            if (! path) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            axios.get(path)
 | 
			
		||||
            .then(response => {
 | 
			
		||||
                let html = response.data.html;
 | 
			
		||||
@@ -562,6 +575,10 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        onDynamicFormParams(path, params) {
 | 
			
		||||
            if (! path) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            let data = {};
 | 
			
		||||
 | 
			
		||||
            for (const [key, value] of Object.entries(params)) {
 | 
			
		||||
@@ -1001,7 +1018,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
                this.component = Vue.component('add-new-component', (resolve, reject) => {
 | 
			
		||||
                    resolve({
 | 
			
		||||
                        template: '<div id="dynamic-email-component"><akaunting-modal-add-new modal-dialog-class="max-w-screen-md" :show="email.modal" @submit="onSubmit" @cancel="onCancel" :buttons="email.buttons" :title="email.title" :is_component=true :message="email.html"></akaunting-modal-add-new></div>',
 | 
			
		||||
                        template: '<div id="dynamic-email-component"><akaunting-modal-add-new modal-dialog-class="max-w-screen-md" modal-position-top :show="email.modal" @submit="onSubmit" @cancel="onCancel" :buttons="email.buttons" :title="email.title" :is_component=true :message="email.html"></akaunting-modal-add-new></div>',
 | 
			
		||||
 | 
			
		||||
                        components: {
 | 
			
		||||
                            AkauntingDropzoneFileUpload,
 | 
			
		||||
@@ -1112,6 +1129,8 @@ export default {
 | 
			
		||||
                                document.execCommand('copy');
 | 
			
		||||
 | 
			
		||||
                                this.$notify({
 | 
			
		||||
                                    verticalAlign: 'bottom',
 | 
			
		||||
                                    horizontalAlign: 'left',
 | 
			
		||||
                                    message: this.share.success_message,
 | 
			
		||||
                                    timeout: 5000,
 | 
			
		||||
                                    icon: 'error_outline',
 | 
			
		||||
@@ -1277,30 +1296,59 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        settingsInvoice() {
 | 
			
		||||
 | 
			
		||||
            if (this.form.item_name == 'custom') {
 | 
			
		||||
                this.item_name_input = true;
 | 
			
		||||
 | 
			
		||||
                this.onSmallWidthColumn("item_name");
 | 
			
		||||
            } else {
 | 
			
		||||
                this.item_name_input = false;
 | 
			
		||||
 | 
			
		||||
                this.onFullWidthColumn("item_name");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (this.form.price_name == 'custom') {
 | 
			
		||||
                this.price_name_input = true;
 | 
			
		||||
 | 
			
		||||
                this.onSmallWidthColumn("price_name");
 | 
			
		||||
            } else {
 | 
			
		||||
                this.price_name_input = false;
 | 
			
		||||
 | 
			
		||||
                this.onFullWidthColumn("price_name");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (this.form.quantity_name == 'custom') {
 | 
			
		||||
                this.quantity_name_input = true;
 | 
			
		||||
 | 
			
		||||
                this.onSmallWidthColumn("quantity_name");
 | 
			
		||||
            } else {
 | 
			
		||||
                this.quantity_name_input = false;
 | 
			
		||||
 | 
			
		||||
                this.onFullWidthColumn("quantity_name");
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            if (this.form.item_name == 'hide' && this.form.hide_item_description === 1) {
 | 
			
		||||
                this.form.hide_item_description = 0;
 | 
			
		||||
 | 
			
		||||
                let type = 'warning';
 | 
			
		||||
 | 
			
		||||
                if (this.$notifications.state != undefined && this.$notifications.state.length > 0) {
 | 
			
		||||
                    this.$notifications.state.forEach((item, index) => {
 | 
			
		||||
                        if (item.message == this.form.item_name_or_description_required) {
 | 
			
		||||
                            return;
 | 
			
		||||
                        }
 | 
			
		||||
                    }, this);
 | 
			
		||||
                }   
 | 
			
		||||
 | 
			
		||||
                this.$notify({
 | 
			
		||||
                    verticalAlign: 'bottom',
 | 
			
		||||
                    horizontalAlign: 'left',
 | 
			
		||||
                    message: this.form.message_name_or_description_required,
 | 
			
		||||
                    timeout: 8000,
 | 
			
		||||
                    icon: 'error_outline',
 | 
			
		||||
                    type
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        // set minimum date for date component
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								resources/assets/js/mixins/wizardAction.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								resources/assets/js/mixins/wizardAction.js
									
									
									
									
										vendored
									
									
								
							@@ -72,6 +72,8 @@ export default {
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.$notify({
 | 
			
		||||
                verticalAlign: 'bottom',
 | 
			
		||||
                horizontalAlign: 'left',
 | 
			
		||||
                message: response.data.message,
 | 
			
		||||
                timeout: timeout,
 | 
			
		||||
                icon: "error_outline",
 | 
			
		||||
@@ -92,6 +94,8 @@ export default {
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.$notify({
 | 
			
		||||
                verticalAlign: 'bottom',
 | 
			
		||||
                horizontalAlign: 'left',
 | 
			
		||||
                message: event.message,
 | 
			
		||||
                timeout: timeout,
 | 
			
		||||
                icon: "error_outline",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								resources/assets/js/plugins/error.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								resources/assets/js/plugins/error.js
									
									
									
									
										vendored
									
									
								
							@@ -17,13 +17,15 @@ export default class Errors {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    get(field) {
 | 
			
		||||
        if (this.errors[field]) {
 | 
			
		||||
        if (this.has(field)) {
 | 
			
		||||
            return this.errors[field][0];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    record(errors) {
 | 
			
		||||
        this.errors = errors;
 | 
			
		||||
        if (errors instanceof Object) {
 | 
			
		||||
            this.errors = errors;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    clear(field) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								resources/assets/js/plugins/form.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								resources/assets/js/plugins/form.js
									
									
									
									
										vendored
									
									
								
							@@ -104,7 +104,7 @@ export default class Form {
 | 
			
		||||
                        if (!this[form_element.getAttribute('data-field')][name].push) {
 | 
			
		||||
                            this[form_element.getAttribute('data-field')][name] = [this[form_element.getAttribute('data-field')][name]];
 | 
			
		||||
                        }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
                        if (form_element.checked) {
 | 
			
		||||
                            this[form_element.getAttribute('data-field')][name].push(form_element.value);
 | 
			
		||||
                        }
 | 
			
		||||
@@ -171,7 +171,7 @@ export default class Form {
 | 
			
		||||
                            this[name] = form_element.value;
 | 
			
		||||
                        }
 | 
			
		||||
                    } else {
 | 
			
		||||
                        
 | 
			
		||||
 | 
			
		||||
                        if (form_element.dataset.type != undefined) {
 | 
			
		||||
                            if (form_element.dataset.type == 'multiple') {
 | 
			
		||||
                                this[name] = [];
 | 
			
		||||
@@ -383,7 +383,7 @@ export default class Form {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    submit() {
 | 
			
		||||
        FormData.prototype.appendRecursive = function(data, wrapper = null) {  
 | 
			
		||||
        FormData.prototype.appendRecursive = function(data, wrapper = null) {
 | 
			
		||||
            for (var name in data) {
 | 
			
		||||
                if (name == "previewElement" || name == "previewTemplate") {
 | 
			
		||||
                    continue;
 | 
			
		||||
@@ -427,7 +427,7 @@ export default class Form {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async asyncSubmit() {
 | 
			
		||||
        FormData.prototype.appendRecursive = function(data, wrapper = null) {  
 | 
			
		||||
        FormData.prototype.appendRecursive = function(data, wrapper = null) {
 | 
			
		||||
            for (var name in data) {
 | 
			
		||||
                if (name == "previewElement" || name == "previewTemplate") {
 | 
			
		||||
                    continue;
 | 
			
		||||
@@ -497,7 +497,7 @@ export default class Form {
 | 
			
		||||
            if (error.request.status == 419) {
 | 
			
		||||
                window.location.href = '';
 | 
			
		||||
                return;
 | 
			
		||||
            }    
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (typeof this.errors != "undefined") {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								resources/assets/js/views/auth/common.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								resources/assets/js/views/auth/common.js
									
									
									
									
										vendored
									
									
								
							@@ -54,6 +54,8 @@ const login = new Vue({
 | 
			
		||||
                let type = notify.level;
 | 
			
		||||
 | 
			
		||||
                this.$notify({
 | 
			
		||||
                    verticalAlign: 'bottom',
 | 
			
		||||
                    horizontalAlign: 'left',
 | 
			
		||||
                    message: notify.message,
 | 
			
		||||
                    timeout: 5000,
 | 
			
		||||
                    icon: '',
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								resources/assets/js/views/banking/accounts.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								resources/assets/js/views/banking/accounts.js
									
									
									
									
										vendored
									
									
								
							@@ -31,29 +31,4 @@ const app = new Vue({
 | 
			
		||||
            bulk_action: new BulkAction('accounts'),
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    methods: {
 | 
			
		||||
        onType(event) {
 | 
			
		||||
            return;
 | 
			
		||||
            let type = event.target.value;
 | 
			
		||||
 | 
			
		||||
            switch(type) {
 | 
			
		||||
                case 'credit_card':
 | 
			
		||||
                    this.onCreditCard();
 | 
			
		||||
                    break;
 | 
			
		||||
                case 'bank':
 | 
			
		||||
                default:
 | 
			
		||||
                    this.onBank();
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        onCreditCard() {
 | 
			
		||||
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        onBank() {
 | 
			
		||||
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								resources/assets/js/views/common/contacts.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								resources/assets/js/views/common/contacts.js
									
									
									
									
										vendored
									
									
								
							@@ -69,6 +69,8 @@ const app = new Vue({
 | 
			
		||||
 | 
			
		||||
                        if (response.data.error) {
 | 
			
		||||
                            this.$notify({
 | 
			
		||||
                                verticalAlign: 'bottom',
 | 
			
		||||
                                horizontalAlign: 'left',
 | 
			
		||||
                                message: response.data.message,
 | 
			
		||||
                                timeout: 0,
 | 
			
		||||
                                icon: 'fas fa-bell',
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										48
									
								
								resources/assets/js/views/common/documents.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								resources/assets/js/views/common/documents.js
									
									
									
									
										vendored
									
									
								
							@@ -120,15 +120,20 @@ const app = new Vue({
 | 
			
		||||
            let item_index = this.form.items.indexOf(this.form.items[event.oldIndex]);
 | 
			
		||||
            let item = this.form.items.splice(item_index, 1)[0];
 | 
			
		||||
 | 
			
		||||
            this.form.items.splice(event.newIndex, 0, item);  
 | 
			
		||||
            this.form.items.splice(event.newIndex, 0, item);
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        onRefFocus(ref) {
 | 
			
		||||
            let index = this.form.items.length - 1;
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            if (typeof (this.$refs['items-' + index + '-' + ref]) !== 'undefined') {
 | 
			
		||||
                let first_ref = this.$refs['items-' + index + '-'  + ref];
 | 
			
		||||
                first_ref != undefined ? first_ref[0].focus() : this.$refs[Object.keys(this.$refs)[0]][0].focus();
 | 
			
		||||
 | 
			
		||||
                if (first_ref != undefined) {
 | 
			
		||||
                    first_ref[0].focus();
 | 
			
		||||
                } else if (this.$refs[Object.keys(this.$refs)[0]] != undefined) {
 | 
			
		||||
                    this.$refs[Object.keys(this.$refs)[0]][0].focus();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
@@ -481,26 +486,28 @@ const app = new Vue({
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            let selected_tax;
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            this.dynamic_taxes.forEach(function(tax) {
 | 
			
		||||
                if (tax.id == this.tax_id) {
 | 
			
		||||
                    selected_tax = tax;
 | 
			
		||||
                }
 | 
			
		||||
            }, this);
 | 
			
		||||
        
 | 
			
		||||
            this.items[item_index].tax_ids.push({
 | 
			
		||||
                id: selected_tax.id,
 | 
			
		||||
                name: selected_tax.title,
 | 
			
		||||
                price: 0
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            this.form.items[item_index].tax_ids.push(this.tax_id);
 | 
			
		||||
            if (selected_tax) {
 | 
			
		||||
                this.items[item_index].tax_ids.push({
 | 
			
		||||
                    id: selected_tax.id,
 | 
			
		||||
                    name: selected_tax.title,
 | 
			
		||||
                    price: 0
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            if (this.taxes.includes(this.tax_id)) {
 | 
			
		||||
                this.taxes[this.tax_id].push(this.items[item_index].item_id);
 | 
			
		||||
            } else {
 | 
			
		||||
                this.taxes[this.tax_id] = [];
 | 
			
		||||
                this.taxes[this.tax_id].push(this.items[item_index].item_id);
 | 
			
		||||
                this.form.items[item_index].tax_ids.push(this.tax_id);
 | 
			
		||||
 | 
			
		||||
                if (this.taxes.includes(this.tax_id)) {
 | 
			
		||||
                    this.taxes[this.tax_id].push(this.items[item_index].item_id);
 | 
			
		||||
                } else {
 | 
			
		||||
                    this.taxes[this.tax_id] = [];
 | 
			
		||||
                    this.taxes[this.tax_id].push(this.items[item_index].item_id);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.tax_id = '';
 | 
			
		||||
@@ -614,6 +621,7 @@ const app = new Vue({
 | 
			
		||||
        onChangeCurrency(currency_code) {
 | 
			
		||||
            if (this.edit.status && this.edit.currency <= 2) {
 | 
			
		||||
                this.edit.currency++;
 | 
			
		||||
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@@ -670,7 +678,7 @@ const app = new Vue({
 | 
			
		||||
 | 
			
		||||
        onFormCapture() {
 | 
			
		||||
           let form_html = document.querySelector('form');
 | 
			
		||||
           
 | 
			
		||||
 | 
			
		||||
           if (form_html && form_html.getAttribute('id') == 'document') {
 | 
			
		||||
               form_html.querySelectorAll('input, textarea, select, ul, li, a').forEach((element) => {
 | 
			
		||||
                  element.addEventListener('click', () => {
 | 
			
		||||
@@ -832,9 +840,9 @@ const app = new Vue({
 | 
			
		||||
 | 
			
		||||
            if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') !== 0) {
 | 
			
		||||
                this.form.discount = oldVal;
 | 
			
		||||
                
 | 
			
		||||
 | 
			
		||||
                if (Number(newVal) == null) {
 | 
			
		||||
                    this.form.discount.replace(',', '.'); 
 | 
			
		||||
                    this.form.discount.replace(',', '.');
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return;
 | 
			
		||||
@@ -858,4 +866,4 @@ const app = new Vue({
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								resources/assets/js/views/modules/apps.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								resources/assets/js/views/modules/apps.js
									
									
									
									
										vendored
									
									
								
							@@ -106,6 +106,8 @@ const app = new Vue({
 | 
			
		||||
            add_to_cart_promise.then(response => {
 | 
			
		||||
                if (response.data.success) {
 | 
			
		||||
                    this.$notify({
 | 
			
		||||
                        verticalAlign: 'bottom',
 | 
			
		||||
                        horizontalAlign: 'left',
 | 
			
		||||
                        message: response.data.message,
 | 
			
		||||
                        timeout: 0,
 | 
			
		||||
                        icon: "shopping_cart_checkout",
 | 
			
		||||
 
 | 
			
		||||
@@ -141,7 +141,7 @@ const app = new Vue({
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        // Change currency get money
 | 
			
		||||
        // Change currency get money override because remove form currency_code and currency_rate column
 | 
			
		||||
        onChangeCurrency(currency_code) {
 | 
			
		||||
            if (! currency_code) {
 | 
			
		||||
                return;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,12 +2,12 @@
 | 
			
		||||
    <div class="relative bg-body z-10 rounded-lg shadow-2xl p-5 sm:p-10 full-height-mobile" style="height:675px;">
 | 
			
		||||
        <WizardSteps :active_state="active"></WizardSteps>
 | 
			
		||||
 | 
			
		||||
        <div class="flex flex-col justify-between -mt-5 sm:mt-0 overflow-y-auto" style="height: calc(100% - 53px)">
 | 
			
		||||
            <div v-if="pageLoad" class="absolute left-0 right-0 top-0 bottom-0 w-full h-full bg-white rounded-lg flex items-center justify-center z-50">
 | 
			
		||||
        <div class="flex flex-col justify-between -mt-5 sm:mt-0" style="height: calc(100% - 53px)">
 | 
			
		||||
            <div v-if="pageLoad" class="absolute inset-0 w-full h-full bg-white rounded-lg flex items-center justify-center z-50">
 | 
			
		||||
                <span class="material-icons form-spin animate-spin text-9xl">data_usage</span>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="overflow-x-visible menu-scroll mt-1">
 | 
			
		||||
            <div class="overflow-x-visible overflow-y-auto menu-scroll mt-1">
 | 
			
		||||
                <form ref="form" class="py-2 align-middle inline-block min-w-full">
 | 
			
		||||
                    <div class="relative">
 | 
			
		||||
                        <div v-if="pageLoad" class="absolute left-0 right-0 top-0 bottom-0 w-full h-full bg-white rounded-lg flex items-center justify-center z-50">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,21 @@
 | 
			
		||||
<template>
 | 
			
		||||
    <div class="relative bg-body z-10 rounded-lg shadow-2xl p-5 ltr:pr-0 rtl:pl-0 sm:py-10 sm:ltr:pl-10 sm:rtl:pr-10 overflow-hidden">
 | 
			
		||||
    <div class="relative bg-body z-10 rounded-lg shadow-2xl p-5 sm:p-10 full-height-mobile overflow-hidden">
 | 
			
		||||
        <WizardSteps :active_state="active"></WizardSteps>
 | 
			
		||||
 | 
			
		||||
        <div class="flex flex-col justify-between -mt-5 sm:mt-0" style="height:565px;">
 | 
			
		||||
        <div class="flex flex-col justify-between -mt-5 sm:mt-0" style="height:523px;">
 | 
			
		||||
            <div v-if="pageLoad" class="absolute left-0 right-0 top-0 bottom-0 w-full h-full bg-white rounded-lg flex items-center justify-center z-50">
 | 
			
		||||
                <span class="material-icons form-spin text-lg animate-spin text-9xl">data_usage</span>
 | 
			
		||||
                <span class="material-icons form-spin animate-spin text-9xl">data_usage</span>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="flex flex-col lg:flex-row mt-6">
 | 
			
		||||
            <div class="flex flex-col lg:flex-row mt-4">
 | 
			
		||||
                <div class="w-full lg:w-1/2 ltr:pr-10 rtl:pl-10 mt-3">
 | 
			
		||||
                    <div class="grid sm:grid-cols-6">
 | 
			
		||||
                        <h1 class="sm:col-span-6 text-black-300 mb-2">
 | 
			
		||||
                    <div class="grid sm:grid-cols-6 overflow-y-scroll lg:overflow-hidden scroll">
 | 
			
		||||
                        <h1 class="sm:col-span-6 text-black-300 mb-2 text-lg font-light">
 | 
			
		||||
                            {{ translations.finish.recommended_apps }}
 | 
			
		||||
                        </h1>
 | 
			
		||||
 | 
			
		||||
                        <div v-for="(item, index) in modules" :key="index" class="sm:col-span-6 mb-6">
 | 
			
		||||
                            <a :href="route_url + '/apps/' + item.slug" class="flex items-center">
 | 
			
		||||
                        <div v-for="(item, index) in modules" :key="index" class="sm:col-span-6 mb-3">
 | 
			
		||||
                            <a :href="route_url + '/apps/' + item.slug" class="flex items-center space-x-4 bg-purple-50 rounded-md p-2">
 | 
			
		||||
                                <div class="w-1/4">
 | 
			
		||||
                                    <img v-for="(file, indis) in item.files" :key="indis" v-if="file.media_type == 'image' && file.pivot.zone == 'thumbnail'"
 | 
			
		||||
                                        :src="file.path_string"
 | 
			
		||||
@@ -24,46 +24,56 @@
 | 
			
		||||
                                    />
 | 
			
		||||
                                </div>
 | 
			
		||||
 | 
			
		||||
                                <div class="w-3/4 ltr:pl-8 rtl:pr-8">
 | 
			
		||||
                                    <span class="font-medium">
 | 
			
		||||
                                <div class="w-3/4 ltr:pl-2 rtl:pr-2">
 | 
			
		||||
                                    <span class="font-medium text-sm">
 | 
			
		||||
                                        {{ item.name }}
 | 
			
		||||
                                    </span>
 | 
			
		||||
 | 
			
		||||
                                    <div class="text-black-300 text-sm my-2 line-clamp-2 h-10" v-html="item.description"></div>
 | 
			
		||||
                                    <div class="text-black-300 text-sm mt-1 line-clamp-2 h-10" v-html="item.description"></div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </a>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
 | 
			
		||||
                    <div class="lg:hidden">
 | 
			
		||||
                        <base-button class="btn flex items-center justify-center text-base disabled:opacity-50 relative mt-5 mx-auto bg-green hover:bg-gray-100 text-white rounded-md py-3 px-5 font-semibold" @click="finish()">
 | 
			
		||||
                        <base-button class="btn flex items-center justify-center text-base disabled:opacity-50 relative mt-5 mx-auto bg-green hover:bg-gray-100 text-white rounded-md py-3 px-5 font-medium" @click="finish()">
 | 
			
		||||
                            {{ translations.finish.create_first_invoice }}
 | 
			
		||||
                        </base-button>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div class="relative w-1/2 right-0 ltr:pl-10 rtl:pr-10 mt-3 hidden lg:flex lg:flex-col">
 | 
			
		||||
                    <div class="flex flex-col ltr:items-start rtl:items-end bg-purple ltr:rounded-tl-lg ltr:rounded-bl-lg rtl:rounded-tr-lg rtl:rounded-br-lg p-6">
 | 
			
		||||
                        <div class="w-48 text-white text-left text-2xl font-semibold leading-9">
 | 
			
		||||
                            {{ translations.finish.apps_managing }}
 | 
			
		||||
                        </div>
 | 
			
		||||
 | 
			
		||||
                        <div style="width:372px; height:372px;"></div>
 | 
			
		||||
 | 
			
		||||
                        <img :src="image_src" class="absolute top-3 right-2" alt="" />
 | 
			
		||||
                <div class="absolute w-1/2 right-0 ltr:pl-10 rtl:pr-10 mt-3 hidden lg:flex lg:flex-col">
 | 
			
		||||
                    <div class="flex">
 | 
			
		||||
                        <img :src="image_src" class="absolute top-12 right-2 w-10/12 p-3 -mt-12" alt="Akaunting" />
 | 
			
		||||
                    </div>
 | 
			
		||||
 | 
			
		||||
                    <base-button
 | 
			
		||||
                        class="relative flex items-center justify-center text-base rounded-lg m-auto bottom-48 bg-white hover:bg-gray-100 text-purple py-3 px-5 font-semibold disabled:bg-gray-100 "
 | 
			
		||||
                        :disabled="anchor_loading"
 | 
			
		||||
                        @click="finish()"
 | 
			
		||||
                    >
 | 
			
		||||
                        <i v-if="anchor_loading" class="animate-submit_second delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-2.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit_second before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit_second before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i> 
 | 
			
		||||
                        
 | 
			
		||||
                        <span :class="[{'opacity-0': anchor_loading}]">
 | 
			
		||||
                            {{ translations.finish.create_first_invoice }}
 | 
			
		||||
                        </span>
 | 
			
		||||
                    </base-button>
 | 
			
		||||
                    <div class="flex">
 | 
			
		||||
                        <base-button
 | 
			
		||||
                            class="relative flex items-center justify-center text-base rounded-lg m-auto mt-96 hover:underline py-1.5 -right-20 font-semibold disabled:bg-gray-100 "
 | 
			
		||||
                            :disabled="anchor_loading"
 | 
			
		||||
                            @click="finish()"
 | 
			
		||||
                            style="top: 5.9rem"
 | 
			
		||||
                        >
 | 
			
		||||
                            <i v-if="anchor_loading" class="animate-submit_second delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-2.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit_second before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit_second before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i> 
 | 
			
		||||
 | 
			
		||||
                            <span :class="[{'opacity-0': anchor_loading}]">
 | 
			
		||||
                                {{ translations.company.skip }}
 | 
			
		||||
                            </span>
 | 
			
		||||
                        </base-button>
 | 
			
		||||
 | 
			
		||||
                        <base-button
 | 
			
		||||
                            class="relative flex items-center justify-center text-base rounded-lg m-auto mt-96 bg-default hover:bg-default-hover text-white py-1.5 px-7 font-medium"
 | 
			
		||||
                            :disabled="anchor_loading"
 | 
			
		||||
                            @click="finish()"
 | 
			
		||||
                            style="top: 5.9rem; right: -0.6rem;"
 | 
			
		||||
                        >
 | 
			
		||||
                            <i v-if="anchor_loading" class="animate-submit_second delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-2.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit_second before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit_second before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i> 
 | 
			
		||||
 | 
			
		||||
                            <span :class="[{'opacity-0': anchor_loading}]">
 | 
			
		||||
                                {{ translations.finish.create_first_invoice }}
 | 
			
		||||
                            </span>
 | 
			
		||||
                        </base-button>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@@ -98,7 +108,7 @@ export default {
 | 
			
		||||
        return {
 | 
			
		||||
            active: 3,
 | 
			
		||||
            route_url: url,
 | 
			
		||||
            image_src: app_url + "/public/img/wizard-modules.png",
 | 
			
		||||
            image_src: app_url + "/public/img/wizard-rocket.gif",
 | 
			
		||||
            anchor_loading: false
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
@@ -112,6 +122,8 @@ export default {
 | 
			
		||||
        })
 | 
			
		||||
        .catch((error) => {
 | 
			
		||||
            this.$notify({
 | 
			
		||||
                verticalAlign: 'bottom',
 | 
			
		||||
                horizontalAlign: 'left',
 | 
			
		||||
                message: this.translations.finish.error_message,
 | 
			
		||||
                timeout: 1000,
 | 
			
		||||
                icon: "",
 | 
			
		||||
@@ -142,5 +154,9 @@ export default {
 | 
			
		||||
        [modal-container] {
 | 
			
		||||
            height: 100% !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .scroll{
 | 
			
		||||
            height:450px;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
</style>
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@
 | 
			
		||||
                </li>
 | 
			
		||||
 | 
			
		||||
                <li class="w-1/3">
 | 
			
		||||
                    <span class="pl-6 flex flex-col">
 | 
			
		||||
                    <span class="ltr:pl-6 ltr:pr-9 rtl:pl-3 flex flex-col">
 | 
			
		||||
                        <span
 | 
			
		||||
                            :class="[{'bg-purple': active_state == 2}]"
 | 
			
		||||
                            class="w-full h-1 bg-gray-300 rounded-xl text-transparent"
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ return [
 | 
			
		||||
    'send_invoice'          => 'أرسل فاتورة',
 | 
			
		||||
    'get_paid'              => 'إحصل عالمبلغ',
 | 
			
		||||
    'accept_payments'       => 'قبول المدفوعات اﻹلكترونية',
 | 
			
		||||
    'payment_received'      => 'تم استلام الدفع',
 | 
			
		||||
    'payments_received'     => 'الدفعات المستلمة',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'billing'           => 'تظهر تفاصيل الفواتير في الفاتورة. يتم استخدام تاريخ الفاتورة في لوحة التحكم والتقارير. حدد التاريخ الذي تتوقع الحصول عليه كتاريخ الاستحقاق.',
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,12 @@ return [
 | 
			
		||||
    'billing'                   => 'Facturació',
 | 
			
		||||
    'advanced'                  => 'Avançat',
 | 
			
		||||
 | 
			
		||||
    'item_price_hidden'         => 'Aquesta columna no és visible pel teu/teva :type.',
 | 
			
		||||
 | 
			
		||||
    'actions' => [
 | 
			
		||||
        'cancel'                => 'Cancel·la',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_detail' => [
 | 
			
		||||
        'marked'                => '<b> Tu </b> has marcat aquesta factura com',
 | 
			
		||||
        'services'              => 'Serveis',
 | 
			
		||||
@@ -83,4 +89,5 @@ return [
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'empty_attachments'         => 'No hi ha cap fitxer adjunt a aquest/a :type.',
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -72,6 +72,7 @@ return [
 | 
			
		||||
    'attachments'           => 'Adjunt|Adjunts',
 | 
			
		||||
    'histories'             => 'Història|Històries',
 | 
			
		||||
    'your_notifications'    => 'La teva notificació|Les teves notificacions',
 | 
			
		||||
    'employees'             => 'Empleat|Empleats',
 | 
			
		||||
 | 
			
		||||
    'welcome'               => 'Benvingut/da',
 | 
			
		||||
    'banking'               => 'Bancs',
 | 
			
		||||
@@ -195,7 +196,7 @@ return [
 | 
			
		||||
    'due_on'                => 'Venç el',
 | 
			
		||||
    'amount_due'            => 'Quantitat',
 | 
			
		||||
    'financial_year'        => 'Any fiscal',
 | 
			
		||||
    'created'               => 'Creat/da',
 | 
			
		||||
    'created'               => 'Creat',
 | 
			
		||||
    'state'                 => 'Província/Estat',
 | 
			
		||||
    'zip_code'              => 'Codi postal',
 | 
			
		||||
    'parent'                => 'Pare/Mare',
 | 
			
		||||
@@ -228,6 +229,9 @@ return [
 | 
			
		||||
    'preview_mode'          => 'Mode de previsualització',
 | 
			
		||||
    'go_back'               => 'Torna a :type',
 | 
			
		||||
    'validation_error'      => 'Error de validació',
 | 
			
		||||
    'dismiss'               => 'Ignora',
 | 
			
		||||
    'size'                  => 'Mida',
 | 
			
		||||
    'media'                 => 'Multimèdia',
 | 
			
		||||
 | 
			
		||||
    'card' => [
 | 
			
		||||
        'cards'                 => 'Tarjeta|Tarjetes',
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ return [
 | 
			
		||||
    'send_invoice'          => 'Enviament de factura',
 | 
			
		||||
    'get_paid'              => 'Cobrament',
 | 
			
		||||
    'accept_payments'       => 'Accepta pagaments online',
 | 
			
		||||
    'payment_received'      => 'S\'ha rebut un pagament',
 | 
			
		||||
    'payments_received'     => 'S\'han rebut els pagaments',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'billing'           => 'Les dades de facturació es mostren a la factura. La data de la factura s\'utilitza al tauler i als informes. Selecciona la data que vols com a data de venciment.',
 | 
			
		||||
@@ -50,6 +50,8 @@ return [
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
        'email_required'    => 'Aquest client no té adreça de correu electrònic!',
 | 
			
		||||
        'totals_required'   => 'Cal incloure el total de les factures. Si us plau edita :type i grava\'l novament.',
 | 
			
		||||
 | 
			
		||||
        'draft'             => 'Això és un <b>ESBORRANY</b> de factura i es reflectirà als gràfics un cop s\'hagi enviat.',
 | 
			
		||||
 | 
			
		||||
        'status' => [
 | 
			
		||||
@@ -63,6 +65,8 @@ return [
 | 
			
		||||
                'await'     => 'Cobrament pendent',
 | 
			
		||||
            ],
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'name_or_description_required' => 'La teva factura ha de mostrar com a mínim o <b>:name</b> o <b>:description</b>.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'slider' => [
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ return [
 | 
			
		||||
        'customer'          => 'Error: No s\'ha creat l\'usuari! :name ja utilitza aquesta adreça de correu electrònic.',
 | 
			
		||||
        'no_file'           => 'Error: No s\'ha seleccionat cap fitxer!',
 | 
			
		||||
        'last_category'     => 'Error: No es pot esborrar l\'últim :type de categoria!',
 | 
			
		||||
        'transfer_category' => 'Error: No es pot esborrar l\'última categoria de :type!',
 | 
			
		||||
        'change_type'       => 'Error: No es pot canviar el tipus perquè té :text relacionat!',
 | 
			
		||||
        'invalid_apikey'    => 'Error: La clau API proporcionada no és vàlida!',
 | 
			
		||||
        'import_column'     => 'Error: :message Nom de la pàgina: :sheet. Número de línia: :line.',
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,6 @@ return [
 | 
			
		||||
    'billed_once'           => 'Facturat una vegada',
 | 
			
		||||
    'save_year'             => 'T\'estalvies <strong>:price</strong> a l\'any!',
 | 
			
		||||
    'if_paid_year'          => 'O <strong>:price/mes</strong> si pagues anualment',
 | 
			
		||||
    'information_monthly'   => 'Aquesta opció només està disponible per al <strong>Cloud Service</strong>',
 | 
			
		||||
    'install'               => 'Instal·la',
 | 
			
		||||
    'buy_now'               => 'Compra ara',
 | 
			
		||||
    'get_api_key'           => '<a href=":url" target="_blank">Prem aquí</a> per obtenir la teva clau de l\'API.',
 | 
			
		||||
@@ -50,6 +49,8 @@ return [
 | 
			
		||||
    'get_premium_cloud'     => 'Fes-te prèmium ara',
 | 
			
		||||
    'switch_to_cloud'       => 'Canvia al Núvol',
 | 
			
		||||
    'hosted_on_akaunting'   => 'Allotjat a akaunting.com',
 | 
			
		||||
    'information_on_preme'  => 'L\'opció :period només està disponible a <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize">per al <strong>Cloud.</strong>',
 | 
			
		||||
    'information_monthly'   => 'Aquesta opció només està disponible per al <strong>Cloud Service</strong>',
 | 
			
		||||
    'only_works_cloud'      => 'Aquesta opció només està disponible per al <strong>Cloud Service</strong> (Servei al Núvol).',
 | 
			
		||||
    'only_premium_plan'     => 'Aquesta opció només està disponible per al <strong>servei Prèmium</strong> (Cloud Premium Service).',
 | 
			
		||||
    'not_found'             => 'No s\'ha trobat cap App',
 | 
			
		||||
 
 | 
			
		||||
@@ -64,6 +64,17 @@ L\'actualització de :alias des de :current_version a :new_version ha fallat al
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'email' => [
 | 
			
		||||
 | 
			
		||||
        'invalid' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Correu :type no vàlid',
 | 
			
		||||
            'description'   => 'L\'adreça de correu :email ha estat identificada com a no vàlida, i l\'usuari ha estat desactivat. Si us plau comprova el següent missatge d\'error i corregeix l\'adreça de correu.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'menu' => [
 | 
			
		||||
 | 
			
		||||
        'export_completed' => [
 | 
			
		||||
@@ -89,7 +100,7 @@ L\'actualització de :alias des de :current_version a :new_version ha fallat al
 | 
			
		||||
 | 
			
		||||
        'import_failed' => [
 | 
			
		||||
 | 
			
		||||
            'subject'       => 'Ha fallat la importació',
 | 
			
		||||
            'title'         => 'Ha fallat la importació',
 | 
			
		||||
            'description'   => 'No s\'ha pogut importar l\'arxiu per vàries raons. Pots mirar el teu correu per tenir-ne més detalls.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
@@ -178,6 +189,13 @@ L\'actualització de :alias des de :current_version a :new_version ha fallat al
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invalid_email' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Correu :type no vàlid',
 | 
			
		||||
            'description'   => 'L\'adreça de correu <strong>:email</strong> ha estat identificada com a no vàlida, i l\'usuari ha estat desactivat. Si us plau comprova i corregeix l\'adreça de correu.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
@@ -186,4 +204,16 @@ L\'actualització de :alias des de :current_version a :new_version ha fallat al
 | 
			
		||||
        'mark_read_all'         => ':type ha llegit totes les notificacions!',
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'browser' => [
 | 
			
		||||
 | 
			
		||||
        'firefox' => [
 | 
			
		||||
 | 
			
		||||
            'title' => 'Configuració de la icona de Firefox',
 | 
			
		||||
            'description'  => '<span class="font-medium">Si les teves icones no apareixen;</span> <br /> <span class="font-medium">Si us plau permet que les pàgines facin servir els seus propis tipus de lletra en comptes de la selecció de dalt</span> <br /><br /> <span class="font-bold"> Configuració (Preferències) > Tipus de lletra > Avançat </span>',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,7 @@ return [
 | 
			
		||||
    'child'                 => 'Es va crear automàticament :url el :date',
 | 
			
		||||
    'message'               => 'Això és :type recurrent i el següent :type es generarà automàticament el :date',
 | 
			
		||||
    'message_parent'        => 'Aquest/a :type s\'ha generat automàticament des de :link',
 | 
			
		||||
    'send_email_auto'       => 'Envia el correu automàticament',
 | 
			
		||||
 | 
			
		||||
    'frequency_type'        => 'Repeteix aquest/a :type',
 | 
			
		||||
    'limit_date'            => 'Crea el primer :type el',
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'account_name'          => 'Název účtu',
 | 
			
		||||
    'account_balance'       => 'Zůstatek na účtu',
 | 
			
		||||
    'number'                => 'Číslo',
 | 
			
		||||
    'opening_balance'       => 'Počáteční zůstatek',
 | 
			
		||||
    'current_balance'       => 'Aktuální zůstatek',
 | 
			
		||||
@@ -14,5 +15,17 @@ return [
 | 
			
		||||
    'outgoing'              => 'Odchozí',
 | 
			
		||||
    'see_performance'       => 'Zobrazit výkonnost',
 | 
			
		||||
    'create_report'         => 'Pokud chcete zobrazit výkonnost účtu, vytvořte sestavu instance Příjem vs. Náklady.',
 | 
			
		||||
    'banks'                 => 'Banka|Banky',
 | 
			
		||||
    'credit_cards'          => 'Kreditní karta|Kreditní karty',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Pro záporný počáteční zůstatek použijte typ kreditní karty. Číslo je nezbytné pro správné sesouhlasení účtů. Výchozí účet bude zaznamenávat všechny transakce, pokud není vybráno jinak.',
 | 
			
		||||
        'bank'              => 'Můžete mít více bankovních účtů ve více bankách. Zadané informace o Vaší bance usnadní párování transakcí s Vaší bankou.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
        'transactions'      => 'Na tomto účtu zatím není žádná transakce. Vytvořte novou transakci.',
 | 
			
		||||
        'transfers'         => 'Dosud neexistuje žádný převod do/z tohoto účtu. Vytvořte nový převod.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,20 +2,34 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'auth'                  => 'Ověření',
 | 
			
		||||
    'profile'               => 'Profil',
 | 
			
		||||
    'logout'                => 'Odhlásit',
 | 
			
		||||
    'login'                 => 'Přihlásit',
 | 
			
		||||
    'forgot'                => 'Zapomenout',
 | 
			
		||||
    'login_to'              => 'Pro pokračování se, prosím, přihlaste',
 | 
			
		||||
    'remember_me'           => 'Pamatuj si mě',
 | 
			
		||||
    'forgot_password'       => 'Zapoměl jsem heslo',
 | 
			
		||||
    'reset_password'        => 'Obnovení hesla',
 | 
			
		||||
    'change_password'       => 'Změnit heslo',
 | 
			
		||||
    'enter_email'           => 'Zadejte svou e-mailovou adresu',
 | 
			
		||||
    'current_email'         => 'Aktuální e-mail',
 | 
			
		||||
    'reset'                 => 'Obnovit',
 | 
			
		||||
    'never'                 => 'nikdy',
 | 
			
		||||
    'landing_page'          => 'Úvodní stránka',
 | 
			
		||||
    'personal_information'  => 'Osobní údaje',
 | 
			
		||||
    'register_user'         => 'Registrovat uživatele',
 | 
			
		||||
    'register'              => 'Registrovat se',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'personal'          => 'Odkaz s pozvánkou bude odeslán novému uživateli, aby se ujistil, že je e-mailová adresa správná. Budou moci zadat své heslo.',
 | 
			
		||||
        'assign'            => 'Uživatel bude mít přístup k vybraným společnostem. Můžete omezit oprávnění ze stránky <a href=":url" class="border-b border-black">rolí</a>.',
 | 
			
		||||
        'preferences'       => 'Vyberte výchozí jazyk uživatele. Můžete také nastavit vstupní stránku po přihlášení uživatele.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'password' => [
 | 
			
		||||
        'pass'              => 'Heslo',
 | 
			
		||||
        'pass_confirm'      => 'Potvrzení hesla',
 | 
			
		||||
        'current'           => 'Heslo',
 | 
			
		||||
        'current_confirm'   => 'Potvrzení hesla',
 | 
			
		||||
        'new'               => 'Nové heslo',
 | 
			
		||||
@@ -25,17 +39,55 @@ return [
 | 
			
		||||
    'error' => [
 | 
			
		||||
        'self_delete'       => 'Chyba: nemůžete smazat sám sebe!',
 | 
			
		||||
        'self_disable'      => 'Chyba: Nemůžete zakázat sami sebe!',
 | 
			
		||||
        'unassigned'        => 'Chyba: Nelze zrušit přiřazení společnost! Společnost :company musí být přiřazena alespoň jednomu uživateli.',
 | 
			
		||||
        'no_company'        => 'Chyba: Váš účet nemá přidělenou firmu/společnost. Prosím, kontaktujte systémového administrátora.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'login_redirect'        => 'Ověření dokončeno! Jste přesměrováni...',
 | 
			
		||||
    'failed'                => 'Tyto přihlašovací údaje neodpovídají žádnému záznamu.',
 | 
			
		||||
    'throttle'              => 'Příliš mnoho pokusů o přihlášení. Zkuste to, prosím, znovu za :seconds vteřin.',
 | 
			
		||||
    'disabled'              => 'Tento účet je zakázán. Obraťte se na správce systému.',
 | 
			
		||||
 | 
			
		||||
    'notification' => [
 | 
			
		||||
        'message_1'     => 'Posíláme Vám tento e-mail, protože jsme obdrželi žádost o obnovení hesla.',
 | 
			
		||||
        'message_2'     => 'Pokud jste o obnovení hesla nežádal(a), neberte jej v potaz.',
 | 
			
		||||
        'button'        => 'Obnovit heslo',
 | 
			
		||||
        'message_1'         => 'Posíláme Vám tento e-mail, protože jsme obdrželi žádost o obnovení hesla.',
 | 
			
		||||
        'message_2'         => 'Pokud jste o obnovení hesla nežádal(a), neberte jej v potaz.',
 | 
			
		||||
        'button'            => 'Obnovit heslo',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invitation' => [
 | 
			
		||||
        'message_1'         => 'Obdrželi jste tento e-mail, protože jste pozváni do Akauntingu.',
 | 
			
		||||
        'message_2'         => 'Pokud se nechcete připojit, není nutné žádné další akce.',
 | 
			
		||||
        'button'            => 'Začněte',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'information' => [
 | 
			
		||||
        'invoice'           => 'Snadné vytváření faktur',
 | 
			
		||||
        'reports'           => 'Získat podrobné reporty',
 | 
			
		||||
        'expense'           => 'Sledovat všechny výdaje',
 | 
			
		||||
        'customize'         => 'Přizpůsobte si Váš Akauntung',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'roles' => [
 | 
			
		||||
        'admin' => [
 | 
			
		||||
            'name'          => 'Admin',
 | 
			
		||||
            'description'   => 'Získávají plný přístup k Vašemu účtu včetně zákazníků, faktur, zpráv, nastavení a aplikací.',
 | 
			
		||||
        ],
 | 
			
		||||
        'manager' => [
 | 
			
		||||
            'name'          => 'Správce',
 | 
			
		||||
            'description'   => 'Mají plný přístup k Vašemu Akauntingu, ale nemohou spravovat uživatele a aplikace.',
 | 
			
		||||
        ],
 | 
			
		||||
        'customer' => [
 | 
			
		||||
            'name'          => 'Zákazník',
 | 
			
		||||
            'description'   => 'Mohou přistupovat k portálu klientů a platit své faktury online prostřednictvím Vašich platebních metod.',
 | 
			
		||||
        ],
 | 
			
		||||
        'accountant' => [
 | 
			
		||||
            'name'          => 'Účetní',
 | 
			
		||||
            'description'   => 'Mohou přistupovat k fakturám, transakcím, zprávám a vytvářet časopisové záznamy.',
 | 
			
		||||
        ],
 | 
			
		||||
        'employee' => [
 | 
			
		||||
            'name'          => 'Zaměstnanec',
 | 
			
		||||
            'description'   => 'Mohou vytvářet nároky na výdaje a sledovat čas u přiřazených projektů, ale mohou vidět pouze jejich vlastní informace.',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ return [
 | 
			
		||||
 | 
			
		||||
    'bill_number'           => 'Číslo faktury',
 | 
			
		||||
    'bill_date'             => 'Datum faktury',
 | 
			
		||||
    'bill_amount'           => 'Fakturační částka',
 | 
			
		||||
    'total_price'           => 'Celková cena',
 | 
			
		||||
    'due_date'              => 'Datum splatnosti',
 | 
			
		||||
    'order_number'          => 'Číslo objednávky',
 | 
			
		||||
@@ -18,11 +19,13 @@ return [
 | 
			
		||||
    'total'                 => 'Celkem',
 | 
			
		||||
 | 
			
		||||
    'item_name'             => 'Název položky|Název položek',
 | 
			
		||||
    'recurring_bills'       => 'Opakující se účet|Opakující se účty',
 | 
			
		||||
 | 
			
		||||
    'show_discount'         => 'Sleva :discount%',
 | 
			
		||||
    'add_discount'          => 'Přidat slevu',
 | 
			
		||||
    'discount_desc'         => 'z mezisoučtu',
 | 
			
		||||
 | 
			
		||||
    'payment_made'          => 'Platba vytvořena',
 | 
			
		||||
    'payment_due'           => 'Splatnost faktury',
 | 
			
		||||
    'amount_due'            => 'Dlužná částka',
 | 
			
		||||
    'paid'                  => 'Zaplaceno',
 | 
			
		||||
@@ -38,13 +41,17 @@ return [
 | 
			
		||||
    'receive_bill'          => 'Příjem faktury',
 | 
			
		||||
    'make_payment'          => 'Platba faktury',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'billing'           => 'Fakturační údaje se zobrazí ve vašem účtu. Datum faktury je použito v nástěnce a reportech. Vyberte datum, které chcete zaplatit jako termín splatnosti.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
        'draft'             => 'Toto je <b>KONCEPT</b> faktury. Faktura bude promítnuta do grafů, jakmile bude zaplacena.',
 | 
			
		||||
 | 
			
		||||
        'status' => [
 | 
			
		||||
            'created'       => 'Vytvořeno :date',
 | 
			
		||||
            'receive' => [
 | 
			
		||||
                'draft'     => 'Neodesláno',
 | 
			
		||||
                'draft'     => 'Neobdrženo',
 | 
			
		||||
                'received'  => 'Přijato :date',
 | 
			
		||||
            ],
 | 
			
		||||
            'paid' => [
 | 
			
		||||
 
 | 
			
		||||
@@ -20,4 +20,7 @@ return [
 | 
			
		||||
        'unreconcile'   => 'Jste si jisti, že chcete zrušit <b>vyrovnání</b> vybraného záznamu?|Jste si jisti, že chcete zrušit <b>vyrovnání</b> vybraných záznamů?',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'success' => [
 | 
			
		||||
        'general'       => ':count záznam :type.',
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								resources/lang/cs-CZ/categories.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								resources/lang/cs-CZ/categories.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'collapse'              => 'Skrýt všechno',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Kategorie vám pomůže klasifikovat vaše položky, příjmy, výdaje a další záznamy.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -11,4 +11,12 @@ return [
 | 
			
		||||
        'disable_active'    => 'Chyba: Nelze vypnout aktivní společnost. Nejprve, prosím, přepněte na jinou společnost!',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Tyto informace jsou viditelné v záznamech, které vytváříte.',
 | 
			
		||||
        'billing'           => 'Daňové číslo se zobrazí v každé faktuře/faktuře. Přehled a reporty jsou zobrazeny ve výchozí měně.',
 | 
			
		||||
        'address'           => 'Adresa bude použita na fakturách, účtech a dalších záznamech, které vydáváte.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'skip_step'             => 'Přeskočit tento krok',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'AF' => 'Afghánistán',
 | 
			
		||||
    'AX' => 'Ålandy',
 | 
			
		||||
    'AL' => 'Albánie',
 | 
			
		||||
@@ -119,6 +120,7 @@ return [
 | 
			
		||||
    'KZ' => 'Kazachstán',
 | 
			
		||||
    'KE' => 'Keňa',
 | 
			
		||||
    'KI' => 'Kiribati',
 | 
			
		||||
    'XK' => 'Kosovo',
 | 
			
		||||
    'KW' => 'Kuvajt',
 | 
			
		||||
    'KG' => 'Kyrgyzstán',
 | 
			
		||||
    'LA' => 'Laos',
 | 
			
		||||
@@ -250,4 +252,5 @@ return [
 | 
			
		||||
    'YE' => 'Jemen',
 | 
			
		||||
    'ZM' => 'Zambie',
 | 
			
		||||
    'ZW' => 'Zimbabwe',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,14 @@ return [
 | 
			
		||||
        'position'          => 'Pozice symbolu',
 | 
			
		||||
        'before'            => 'Před částkou',
 | 
			
		||||
        'after'             => 'Za částkou',
 | 
			
		||||
    ]
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Výchozí měna se používá na nástěnce a reportech. U ostatních měn musí být kurz nižší než 1 u slabších měn a vyšší než 1 u silnějších měn.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_currency'           => 'Žádná měna',
 | 
			
		||||
    'create_currency'       => 'Vytvořte novou měnu a kdykoliv upravte v nastavení.',
 | 
			
		||||
    'new_currency'          => 'Nová měna',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,11 +2,29 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'can_login'             => 'Může se přihlásit?',
 | 
			
		||||
    'user_created'          => 'Uživatel byl vytvořen',
 | 
			
		||||
    'can_login'                 => 'Může se přihlásit?',
 | 
			
		||||
    'can_login_description'     => 'Poslat uživateli pozvánku pro přihlášení do klientského portálu..',
 | 
			
		||||
    'user_created'              => 'Uživatel byl vytvořen',
 | 
			
		||||
    'client_portal_description' => 'Zákaznický portál je prostředí, kde můžete sdílet transakce a faktury s Vašimi zákazníky, kde sledují své vztahy s vaším podnikáním a vyplácejí se a přihlašují se vždy, když chtějí, s jejich heslem',
 | 
			
		||||
 | 
			
		||||
    'error' => [
 | 
			
		||||
        'email'             => 'Tato e-mailová adresa je již obsazena.',
 | 
			
		||||
        'email'                 => 'Tato e-mailová adresa je již obsazena.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'client_portal_text' => [
 | 
			
		||||
        'can'                   => 'Tento zákazník se může přihlásit na klientský portál.',
 | 
			
		||||
        'cant'                  => 'Tento zákazník se nemůže přihlásit na klientský portál.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'               => 'Kontaktní informace Vašich klientů se objeví na fakturách a jejich profilech. Můžete také svým klientům povolit, aby se přihlásili, abyste mohli sledovat Vaše faktury zaškrtnutím níže uvedeného políčka.',
 | 
			
		||||
        'billing'               => 'Daňové číslo se zobrazí v každé faktuře vystavené zákazníkovi. Zvolená měna se stane výchozí měnou pro tohoto zákazníka.',
 | 
			
		||||
        'address'               => 'Adresa je vyžadována pro faktury, takže je třeba přidat fakturační údaje pro zákazníka.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
        'invoices'              => 'Zatím neexistuje žádná faktura pro tohoto zákazníka. Vytvořte novou.',
 | 
			
		||||
        'transactions'          => 'Zatím neexistuje žádná transakce pro tohoto zákazníka. Vytvořte novou.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -8,4 +8,8 @@ return [
 | 
			
		||||
        'disable_last'          => 'Chyba: Nelze odstranit poslední dashboard. Nejdříve, prosím, vytvořte nový!',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'               => 'Vyberte uživatele, které chcete mít přístup k nové nástěnce.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										93
									
								
								resources/lang/cs-CZ/documents.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								resources/lang/cs-CZ/documents.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'edit_columns'              => 'Úprava sloupců',
 | 
			
		||||
    'empty_items'               => 'Nepřidali jste žádné položky.',
 | 
			
		||||
    'grand_total'               => 'Celkem',
 | 
			
		||||
    'accept_payment_online'     => 'Přijímat online platby',
 | 
			
		||||
    'transaction'               => 'Platba :amount byla provedena pomocí :account.',
 | 
			
		||||
    'billing'                   => 'Fakturace',
 | 
			
		||||
    'advanced'                  => 'Rozšířené',
 | 
			
		||||
 | 
			
		||||
    'item_price_hidden'         => 'Tento sloupec je skryt na vašem :type.',
 | 
			
		||||
 | 
			
		||||
    'actions' => [
 | 
			
		||||
        'cancel'                => 'Zrušit',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_detail' => [
 | 
			
		||||
        'marked'                => '<b>Vy</b> jste tuto fakturu označili jako',
 | 
			
		||||
        'services'              => 'Služby',
 | 
			
		||||
        'another_item'          => 'Další položka',
 | 
			
		||||
        'another_description'   => 'a další popis',
 | 
			
		||||
        'more_item'             => '+:count více položek',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'statuses' => [
 | 
			
		||||
        'draft'                 => 'Koncept',
 | 
			
		||||
        'sent'                  => 'Odeslané',
 | 
			
		||||
        'expired'               => 'Vypršela platnost',
 | 
			
		||||
        'viewed'                => 'Zobrazeno',
 | 
			
		||||
        'approved'              => 'Schváleno',
 | 
			
		||||
        'received'              => 'Obdrženo',
 | 
			
		||||
        'refused'               => 'Odmítnuto',
 | 
			
		||||
        'restored'              => 'Obnoveno',
 | 
			
		||||
        'reversed'              => 'Obrácené',
 | 
			
		||||
        'partial'               => 'Částečné',
 | 
			
		||||
        'paid'                  => 'Zaplaceno',
 | 
			
		||||
        'pending'               => 'Nevyřízeno',
 | 
			
		||||
        'invoiced'              => 'Vyfakturované',
 | 
			
		||||
        'overdue'               => 'Po termínu',
 | 
			
		||||
        'unpaid'                => 'Nezaplaceno',
 | 
			
		||||
        'cancelled'             => 'Zrušeno',
 | 
			
		||||
        'voided'                => 'Neplatný',
 | 
			
		||||
        'completed'             => 'Dokončeno',
 | 
			
		||||
        'shipped'               => 'Odesláno',
 | 
			
		||||
        'refunded'              => 'Refundace',
 | 
			
		||||
        'failed'                => 'Neúspěšný',
 | 
			
		||||
        'denied'                => 'Zamítnuto',
 | 
			
		||||
        'processed'             => 'Zpracováno',
 | 
			
		||||
        'open'                  => 'Otevřeno',
 | 
			
		||||
        'closed'                => 'Uzavřeno',
 | 
			
		||||
        'billed'                => 'Vyúčtováno',
 | 
			
		||||
        'delivered'             => 'Doručeno',
 | 
			
		||||
        'returned'              => 'Vrácené',
 | 
			
		||||
        'drawn'                 => 'Nerozhodný',
 | 
			
		||||
        'not_billed'            => 'Neúčtováno',
 | 
			
		||||
        'issued'                => 'Vystavené',
 | 
			
		||||
        'not_invoiced'          => 'Nefakturováno',
 | 
			
		||||
        'confirmed'             => 'Potvrzeno',
 | 
			
		||||
        'not_confirmed'         => 'Nepotvrzeno',
 | 
			
		||||
        'active'                => 'Aktivní',
 | 
			
		||||
        'ended'                 => 'Ukončeno',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'companies'             => 'Změňte adresu, logo a další informace pro vaši společnost.',
 | 
			
		||||
        'billing'               => 'Fakturační údaje jsou uvedeny ve vašem dokladu.',
 | 
			
		||||
        'advanced'              => 'Vyberte kategorii, přidejte nebo upravte zápatí a přidejte přílohy k vašemu :type.',
 | 
			
		||||
        'attachment'            => 'Stáhnout soubory připojené k tomuto :type',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
        'email_sent'            => ':type e-mail byl odeslán!',
 | 
			
		||||
        'marked_as'             => ':type byl označen jako :status!',
 | 
			
		||||
        'marked_sent'           => ':type byl označen jako odeslán!',
 | 
			
		||||
        'marked_paid'           => ':type byl označen jako zaplacený!',
 | 
			
		||||
        'marked_viewed'         => ':type byl označen jako zobrazený!',
 | 
			
		||||
        'marked_cancelled'      => ':type označeno jako zrušený!',
 | 
			
		||||
        'marked_received'       => ':type byl označen jako přijatý!',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'recurring' => [
 | 
			
		||||
        'auto_generated'        => 'Automaticky vygenerováno',
 | 
			
		||||
 | 
			
		||||
        'tooltip' => [
 | 
			
		||||
            'document_date'     => ':type datum bude automaticky přiřazeno na základě :type plánu a frekvence.',
 | 
			
		||||
            'document_number'   => ':type číslo bude automaticky přiřazeno při každém opakování :type',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'empty_attachments'         => 'Není zde žádná poznámka připojená k tomuto pádu.',
 | 
			
		||||
];
 | 
			
		||||
@@ -27,6 +27,11 @@ return [
 | 
			
		||||
        'body'          => 'Hello,<br /><br /> Based on {customer_name} recurring circle, <strong>{invoice_number}</strong> invoice has been automatically created.<br /><br />You can see the invoice details from the following link: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />Best Regards,<br />{company_name}',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_view_admin' => [
 | 
			
		||||
        'subject'       => '{invoice_number} faktura zobrazena',
 | 
			
		||||
        'body'          => 'Dobrý den,<br /><br />{customer_name} si prohlédl fakturu <strong>{invoice_number}</strong> .<br /><br />Podrobnosti faktury můžete vidět z následujícího odkazu: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />S pozdravem,<br />{company_name}',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_payment_customer' => [
 | 
			
		||||
        'subject'       => 'Platba za fakturu č. {invoice_number} přijata ',
 | 
			
		||||
        'body'          => 'Vážený {customer_name},<br /><br />Děkujeme za platbu. Údaje o platbě:<br /><br />-------------------------------------------------<br /><br />Částka: <strong>{transaction_total}<br /></strong>Datum: <strong>{transaction_paid_date}</strong><br />faktura číslo: <strong>{invoice_number}<br /><br /></strong>-----------------------------------------------------------------<br /><br />Detaily faktury na následujícím odkazu: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />Neváhejte se na nás obrátit v případě dotazu.<br /><br />S pozdravem,<br />{company_name}',
 | 
			
		||||
@@ -47,4 +52,13 @@ return [
 | 
			
		||||
        'body'          => 'Hello,<br /><br /> Based on {vendor_name} recurring circle, <strong>{bill_number}</strong> invoice has been automatically created.<br /><br />You can see the bill details from the following link: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br />Best Regards,<br />{company_name}',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'payment_received_customer' => [
 | 
			
		||||
        'subject'       => 'Vaše potvrzení od {company_name}',
 | 
			
		||||
        'body'          => 'Vážený/á {contact_name},<br /><br />Děkujeme za platbu. <br /><br />Platební údaje můžete vidět z následujícího odkazu: <a href="{payment_guest_link}">{payment_date}</a>.<br /><br />Neváhejte nás kontaktovat s dotazy.<br /><br />S pozdravem<br />{company_name}',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'payment_made_vendor' => [
 | 
			
		||||
        'subject'       => 'Platba od {company_name}',
 | 
			
		||||
        'body'          => 'Vážený {contact_name},<br /><br />Provedli jsme následující platbu. <br /><br />Platební údaje můžete vidět z následujícího odkazu: <a href="{payment_guest_link}">{payment_date}</a>.<br /><br />Neváhejte nás kontaktovat s dotazy.<br /><br />S pozdravem<br />{company_name}',
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -19,5 +19,7 @@ return [
 | 
			
		||||
        '404'       => 'Nemohli jsme najít stránku, kterou hledáte.',
 | 
			
		||||
        '500'       => 'Budeme neprodleně pracovat na nápravě.',
 | 
			
		||||
        'record'    => 'Nemohli jsme najít záznam, který hledáte.',
 | 
			
		||||
        'amount'    => 'Tato stránka obsahuje neplatné částky! Obraťte se na správce systému.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -6,5 +6,8 @@ return [
 | 
			
		||||
    'powered'               => 'Powered By Akaunting',
 | 
			
		||||
    'link'                  => 'https://akaunting.com',
 | 
			
		||||
    'software'              => 'Účetní software zdarma',
 | 
			
		||||
    'powered_by'            => 'Využívá služby',
 | 
			
		||||
    'tag_line'              => 'Posílejte faktury, sledujte výdaje a automatizujte účetnictví s Akauntingem. :get_started_url',
 | 
			
		||||
    'get_started'           => 'Začněme',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -4,17 +4,23 @@ return [
 | 
			
		||||
 | 
			
		||||
    'dashboards'            => 'Nástěnka | Nástěnky',
 | 
			
		||||
    'items'                 => 'Položka | Položky',
 | 
			
		||||
    'incomes'               => 'Příjem | Příjmy',
 | 
			
		||||
    'invoices'              => 'Faktura | Faktury',
 | 
			
		||||
    'revenues'              => 'Příjem | Příjmy',
 | 
			
		||||
    'recurring_invoices'    => 'Opakující se faktura|Opakující se faktury',
 | 
			
		||||
    'customers'             => 'Zákazník | Zákazníci',
 | 
			
		||||
    'incomes'               => 'Příjem | Příjmy',
 | 
			
		||||
    'recurring_incomes'     => 'Opakující se příjmy|Opakované příjmy',
 | 
			
		||||
    'expenses'              => 'Výdaj | Výdaje',
 | 
			
		||||
    'recurring_expenses'    => 'Opakované výdaje|Opakované výdaje',
 | 
			
		||||
    'bills'                 => 'Faktura | Faktury',
 | 
			
		||||
    'payments'              => 'Platba | Platby',
 | 
			
		||||
    'recurring_bills'       => 'Opakující se příchozí faktura|Opakující se příchozí faktury',
 | 
			
		||||
    'vendors'               => 'Dodavatel | Dodavatelé',
 | 
			
		||||
    'accounts'              => 'Účet | Účty',
 | 
			
		||||
    'transfers'             => 'Převod | Převody',
 | 
			
		||||
    'income_transfers'      => 'Příchozí převod|Příchozí převody',
 | 
			
		||||
    'expense_transfers'     => 'Odchozí převod|Odchozí převody',
 | 
			
		||||
    'transactions'          => 'Transakce | Transakce',
 | 
			
		||||
    'payments'              => 'Platba | Platby',
 | 
			
		||||
    'recurring_transactions'=> 'Opakování transakce|Opakování transakcí',
 | 
			
		||||
    'reports'               => 'Sestava | Sestavy',
 | 
			
		||||
    'settings'              => 'Nastavení | Nastavení',
 | 
			
		||||
    'categories'            => 'Kategorie |Kategorie',
 | 
			
		||||
@@ -40,6 +46,7 @@ return [
 | 
			
		||||
    'statuses'              => 'Stav | Stavy',
 | 
			
		||||
    'others'                => 'Ostatní|Ostatní',
 | 
			
		||||
    'contacts'              => 'Kontakt|Kontakty',
 | 
			
		||||
    'documents'             => 'Dokument|Dokumenty',
 | 
			
		||||
    'reconciliations'       => 'Vyrovnání|Vyrovnání',
 | 
			
		||||
    'developers'            => 'Vývojář | Vývojáři',
 | 
			
		||||
    'schedules'             => 'Rozvrh | Rozvrhy',
 | 
			
		||||
@@ -48,8 +55,25 @@ return [
 | 
			
		||||
    'localisations'         => 'Lokalizace|Lokalizace',
 | 
			
		||||
    'defaults'              => 'Výchozí|Výchozí',
 | 
			
		||||
    'widgets'               => 'Widget|Widgety',
 | 
			
		||||
    'templates'             => 'Šablona|Šablony',
 | 
			
		||||
    'sales'                 => 'Prodej | Prodeje',
 | 
			
		||||
    'purchases'             => 'Nákup|Nákupy',
 | 
			
		||||
    'notifications'         => 'Upozornění|Upozornění',
 | 
			
		||||
    'countries'             => 'Země|Země',
 | 
			
		||||
    'cities'                => 'Město|Města',
 | 
			
		||||
    'email_services'        => 'E-mailová služba|E-mailové služby',
 | 
			
		||||
    'email_templates'       => 'Šablona e-mailu|Šablony e-mailů',
 | 
			
		||||
    'bank_transactions'     => 'Bankovní transakce|Bankovní transakce',
 | 
			
		||||
    'recurring_templates'   => 'Opakující se šablona|Opakující se šablony',
 | 
			
		||||
    'receipts'              => 'Účtenka|Účtenky',
 | 
			
		||||
    'products'              => 'Produkt|Produkty',
 | 
			
		||||
    'services'              => 'Služba|Služby',
 | 
			
		||||
    'invitations'           => 'Pozvánka|Pozvánky',
 | 
			
		||||
    'attachments'           => 'Příloha|Přílohy',
 | 
			
		||||
    'histories'             => 'Historie|Historie',
 | 
			
		||||
    'your_notifications'    => 'Vaše oznámení|Vaše oznámení',
 | 
			
		||||
    'employees'             => 'Zaměstnanec|Zaměstnanci',
 | 
			
		||||
 | 
			
		||||
    'dashboard'             => 'Přehled',
 | 
			
		||||
    'welcome'               => 'Vítejte',
 | 
			
		||||
    'banking'               => 'Bankovnictví',
 | 
			
		||||
    'general'               => 'Obecné',
 | 
			
		||||
@@ -58,6 +82,7 @@ return [
 | 
			
		||||
    'amount'                => 'Částka',
 | 
			
		||||
    'enabled'               => 'Povoleno',
 | 
			
		||||
    'disabled'              => 'Zakázáno',
 | 
			
		||||
    'disabled_type'         => 'Tento :type je zakázán',
 | 
			
		||||
    'yes'                   => 'Ano',
 | 
			
		||||
    'no'                    => 'Ne',
 | 
			
		||||
    'na'                    => 'Neuvedeno',
 | 
			
		||||
@@ -66,13 +91,24 @@ return [
 | 
			
		||||
    'monthly'               => 'Měsíčně',
 | 
			
		||||
    'quarterly'             => 'Čtvrtletně',
 | 
			
		||||
    'yearly'                => 'Ročně',
 | 
			
		||||
    'lifetime'              => 'Životnost',
 | 
			
		||||
    'add'                   => 'Přidat',
 | 
			
		||||
    'add_new'               => 'Přidat nové',
 | 
			
		||||
    'add_income'            => 'Přidat příjem',
 | 
			
		||||
    'add_expense'           => 'Přidat výdaj',
 | 
			
		||||
    'add_transfer'          => 'Přidat převod',
 | 
			
		||||
    'show'                  => 'Zobrazit',
 | 
			
		||||
    'create'                => 'Vytvořit',
 | 
			
		||||
    'edit'                  => 'Upravit',
 | 
			
		||||
    'delete'                => 'Smazat',
 | 
			
		||||
    'send'                  => 'Odeslat',
 | 
			
		||||
    'send_to'               => 'Odeslat',
 | 
			
		||||
    'receive'               => 'Přijmout',
 | 
			
		||||
    'share'                 => 'Sdílet',
 | 
			
		||||
    'share_link'            => 'Sdílet odkaz',
 | 
			
		||||
    'copy_link'             => 'Kopírovat odkaz',
 | 
			
		||||
    'download'              => 'Stáhnout',
 | 
			
		||||
    'restore'               => 'Obnovit',
 | 
			
		||||
    'delete_confirm'        => 'Potvrzení smazaní :name :type?',
 | 
			
		||||
    'name'                  => 'Jméno',
 | 
			
		||||
    'email'                 => 'E-mail',
 | 
			
		||||
@@ -89,7 +125,7 @@ return [
 | 
			
		||||
    'reference'             => 'Reference',
 | 
			
		||||
    'attachment'            => 'Příloha',
 | 
			
		||||
    'change'                => 'Změnit',
 | 
			
		||||
    'change_type'           => 'Change :type',
 | 
			
		||||
    'change_type'           => 'Změnit :type',
 | 
			
		||||
    'switch'                => 'Přepnout',
 | 
			
		||||
    'color'                 => 'Barva',
 | 
			
		||||
    'save'                  => 'Uložit',
 | 
			
		||||
@@ -98,8 +134,13 @@ return [
 | 
			
		||||
    'loading'               => 'Načítání...',
 | 
			
		||||
    'from'                  => 'Od',
 | 
			
		||||
    'to'                    => 'Komu',
 | 
			
		||||
    'subject'               => 'Předmět',
 | 
			
		||||
    'body'                  => 'Tělo',
 | 
			
		||||
    'print'                 => 'Tisk',
 | 
			
		||||
    'download_pdf'          => 'Stáhnout pdf',
 | 
			
		||||
    'customize'             => 'Přizpůsobit',
 | 
			
		||||
    'search'                => 'Hledat',
 | 
			
		||||
    'search_text'           => 'Hledat tento text',
 | 
			
		||||
    'search_placeholder'    => 'Zadejte hledaný text..',
 | 
			
		||||
    'filter'                => 'Filtrovat',
 | 
			
		||||
    'help'                  => 'Nápověda',
 | 
			
		||||
@@ -123,7 +164,6 @@ return [
 | 
			
		||||
    'disable'               => 'Zakázat',
 | 
			
		||||
    'select_all'            => 'Vybrat vše',
 | 
			
		||||
    'unselect_all'          => 'Odznačit vše',
 | 
			
		||||
    'go_to'                 => 'Jdi na :name',
 | 
			
		||||
    'created_date'          => 'Datum vytvoření',
 | 
			
		||||
    'period'                => 'Období',
 | 
			
		||||
    'frequency'             => 'Frekvence',
 | 
			
		||||
@@ -133,13 +173,77 @@ return [
 | 
			
		||||
    'difference'            => 'Rozdíl',
 | 
			
		||||
    'footer'                => 'Zápatí',
 | 
			
		||||
    'start_date'            => 'Počáteční datum',
 | 
			
		||||
    'end_date'              => 'Koncové datum',
 | 
			
		||||
    'basis'                 => 'Základy',
 | 
			
		||||
    'accrual'               => 'Přírůstek',
 | 
			
		||||
    'cash'                  => 'Hotovost',
 | 
			
		||||
    'group_by'              => 'Seskupit podle',
 | 
			
		||||
    'accounting'            => 'Účetnictví',
 | 
			
		||||
    'sort'                  => 'Seřadit',
 | 
			
		||||
    'width'                 => 'Šířka',
 | 
			
		||||
    'month'                 => 'Měsíc',
 | 
			
		||||
    'year'                  => 'Rok',
 | 
			
		||||
    'type_item_name'        => 'Zadejte název položky',
 | 
			
		||||
    'no_data'               => 'Žádná data',
 | 
			
		||||
    'no_matching_data'      => 'Žádná odpovídající data',
 | 
			
		||||
    'clear_cache'           => 'Vyčistit vyrovnávací paměť',
 | 
			
		||||
    'go_to_dashboard'       => 'Jdi na dashboard',
 | 
			
		||||
    'create_first_invoice'  => 'Vytvořit Vaší první fakturu',
 | 
			
		||||
    'is'                    => 'je',
 | 
			
		||||
    'isnot'                 => 'není',
 | 
			
		||||
    'recurring_and_more'    => 'Opakující se a další..',
 | 
			
		||||
    'due'                   => 'Termín',
 | 
			
		||||
    'due_on'                => 'Splatné do',
 | 
			
		||||
    'amount_due'            => 'Dlužná částka',
 | 
			
		||||
    'financial_year'        => 'Finanční rok',
 | 
			
		||||
    'created'               => 'Vytvořeno',
 | 
			
		||||
    'state'                 => 'Provincie/stát',
 | 
			
		||||
    'zip_code'              => 'PSČ',
 | 
			
		||||
    'parent'                => 'Nadřazený',
 | 
			
		||||
    'split'                 => 'Rozdělit',
 | 
			
		||||
    'email_send_me'         => 'Pošlete si kopii na :email',
 | 
			
		||||
    'connect'               => 'Připojit',
 | 
			
		||||
    'assign'                => 'Přiřadit',
 | 
			
		||||
    'new'                   => 'Nové',
 | 
			
		||||
    'new_more'              => 'Nový...',
 | 
			
		||||
    'number'                => 'Číslo',
 | 
			
		||||
    'client_portal'         => 'Portál klienta',
 | 
			
		||||
    'issue_date'            => 'Datum vydání',
 | 
			
		||||
    'due_date'              => 'Datum splatnosti',
 | 
			
		||||
    'open'                  => 'Otevřít',
 | 
			
		||||
    'invite'                => 'Pozvat',
 | 
			
		||||
    'common'                => 'Běžný',
 | 
			
		||||
    'api'                   => 'API',
 | 
			
		||||
    'admin_panel'           => 'Panel administrátora',
 | 
			
		||||
    'special'               => 'Speciální',
 | 
			
		||||
    'distribution'          => 'Distribuce',
 | 
			
		||||
    'timeline'              => 'Časová osa',
 | 
			
		||||
    'incoming'              => 'Příchozí',
 | 
			
		||||
    'outgoing'              => 'Odchozí',
 | 
			
		||||
    'none'                  => 'Žádné',
 | 
			
		||||
    'preferences'           => 'Předvolby',
 | 
			
		||||
    'resend'                => 'Poslat znovu',
 | 
			
		||||
    'last_sent'             => 'Naposledy odeslané :date',
 | 
			
		||||
    'preview_in_window'     => 'Náhled v novém okně',
 | 
			
		||||
    'copied'                => 'Zkopírováno',
 | 
			
		||||
    'preview_mode'          => 'Režim náhledu',
 | 
			
		||||
    'go_back'               => 'Jít zpět na :type',
 | 
			
		||||
    'validation_error'      => 'Chyba ověření',
 | 
			
		||||
    'dismiss'               => 'Odmítnout',
 | 
			
		||||
    'size'                  => 'Velikost',
 | 
			
		||||
    'media'                 => 'Média',
 | 
			
		||||
 | 
			
		||||
    'card' => [
 | 
			
		||||
        'cards'                 => 'Karta|Karty',
 | 
			
		||||
        'name'                  => 'Jméno držitele karty',
 | 
			
		||||
        'number'                => 'Číslo karty',
 | 
			
		||||
        'expiration_date'       => 'Platnost do',
 | 
			
		||||
        'cvv'                   => 'CVV karty',
 | 
			
		||||
        'save'                  => 'Uložit kartu',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'title' => [
 | 
			
		||||
        'show'              => 'Zobrazit :type',
 | 
			
		||||
        'new'               => 'Nová(ý) :type',
 | 
			
		||||
        'edit'              => 'Upravit :type',
 | 
			
		||||
        'delete'            => 'Odstranit :type',
 | 
			
		||||
@@ -147,6 +251,9 @@ return [
 | 
			
		||||
        'send'              => 'Odeslat :type',
 | 
			
		||||
        'get'               => 'Získat :type',
 | 
			
		||||
        'add'               => 'Přidat :type',
 | 
			
		||||
        'manage'            => 'Spravovat :type',
 | 
			
		||||
        'invite'            => 'Pozvat :type',
 | 
			
		||||
        'closed'            => 'Uzavřeno :type',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form' => [
 | 
			
		||||
@@ -155,27 +262,55 @@ return [
 | 
			
		||||
            'field'         => '- Vyber :field -',
 | 
			
		||||
            'file'          => 'Vybrat soubor',
 | 
			
		||||
        ],
 | 
			
		||||
        'add'               => 'Přidat nové :field',
 | 
			
		||||
        'add_an'            => 'Přidat nová :field',
 | 
			
		||||
        'add_new'           => 'Přidat nové :field',
 | 
			
		||||
        'edit'              => 'Upravit :field',
 | 
			
		||||
        'contact_edit'      => 'Upravit :contact_name :field',
 | 
			
		||||
        'drop_file'         => 'Pro nahrání přetáhněte soubory sem',
 | 
			
		||||
        'choose'            => 'Vybrat :field',
 | 
			
		||||
        'choose_different'  => 'Vyberte si jiné :field',
 | 
			
		||||
        'choose_file'       => 'Vybrat soubor',
 | 
			
		||||
        'no_file_selected'  => 'Nebyl vybrán žádný soubor...',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'placeholder' => [
 | 
			
		||||
        'search'            => 'Zadejte hledaný text..',
 | 
			
		||||
        'search_and_filter' => 'Výsledky hledání nebo filtru...',
 | 
			
		||||
        'select_and_filter' => 'Vyberte jednu z dostupných možností níže',
 | 
			
		||||
        'enter_and_filter'  => 'Stiskněte enter pro filtrování výsledků, nebo nastavte nový filtr',
 | 
			
		||||
        'contact_search'    => 'Napište název :type',
 | 
			
		||||
        'item_search'       => 'Zadejte název položky',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'date_range' => [
 | 
			
		||||
        'today' => 'Dnes',
 | 
			
		||||
        'yesterday' => 'Včera',
 | 
			
		||||
        'last_days' => 'Posledních :day dnů',
 | 
			
		||||
        'this_month' => 'Aktuální měsíc',
 | 
			
		||||
        'last_month' => 'Minulý měsíc',
 | 
			
		||||
        'today'         => 'Dnes',
 | 
			
		||||
        'yesterday'     => 'Včera',
 | 
			
		||||
        'week_ago'      => 'Před týdnem',
 | 
			
		||||
        'last_days'     => 'Posledních :day dnů',
 | 
			
		||||
        'this_month'    => 'Aktuální měsíc',
 | 
			
		||||
        'last_month'    => 'Minulý měsíc',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'empty' => [
 | 
			
		||||
        'documentation' => 'Check out the <a href=":url" target="_blank" class="text-green">documentation</a> for more details.',
 | 
			
		||||
        'items' => 'Items can be products or services. You can use items when creating invoices and bills to have the price, tax etc fields populated.',
 | 
			
		||||
        'invoices' => 'Invoices can be one time or recurring. You can send them to customers and start accepting online payments.',
 | 
			
		||||
        'revenues' => 'Revenue is a paid income transaction. It can be an independent record (i.e. deposit) or attached to an invoice.',
 | 
			
		||||
        'customers' => 'Customers are required if you want to create invoices. They may also log in to Client Portal and see their balance.',
 | 
			
		||||
        'bills' => 'Bills can be one time or recurring. They indicate what you owe your vendors for the products or services you purchase.',
 | 
			
		||||
        'payments' => 'Payment is a paid expense transaction. It can be an independent record (i.e. food receipt) or attached to a bill.',
 | 
			
		||||
        'vendors' => 'Vendors are required if you want to create bills. You can see the balance you owe and filter reports by the vendor.',
 | 
			
		||||
        'documentation' => 'Pro více informací se podívejte na <a href=":url" target="_blank" class="text-green bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-green transition-backgroundSize">dokumentaci</a>.',
 | 
			
		||||
        'items' => 'Položky mohou být produkty nebo služby. Položky můžete použít při vytváření faktur vydaných či přijatých, aby byla pole s údaji o ceně, o dani atd. vyplněna.',
 | 
			
		||||
        'invoices' => 'Faktury vydané mohou být jednorázové nebo opakující se. Můžete je odeslat zákazníkům a začít přijímat online platby.',
 | 
			
		||||
        'revenues' => 'Příjem je zaplacená příjmová transakce. Může se jednat o nezávislý záznam (tj. vklad) nebo o záznam připojený k faktuře.',
 | 
			
		||||
        'customers' => 'Zákazníci jsou zapotřebí, pokud chcete vytvářet přijaté faktury. Mohou se také přihlásit do Klientského portálu a vidět svou bilanci.',
 | 
			
		||||
        'bills' => 'Faktury přijaté mohou být jednorázové nebo opakující se. Uvádějí, kolik dlužíte svým prodejcům za zakoupené produkty nebo služby.',
 | 
			
		||||
        'payments' => 'Platba je zaplacená výdajová transakce. Může se jednat o nezávislý záznam (např. účtenka za jídlo) nebo o záznam připojený k přijaté faktuře.',
 | 
			
		||||
        'vendors' => 'Dodavatelé jsou zapotřebí, pokud chcete vytvářet přijaté faktury. Můžete vidět zůstatek, který dlužíte a filtrovat zprávy podle dodavatele.',
 | 
			
		||||
        'transfers' => 'Převody vám umožňují přesouvat peníze z jednoho účtu na jiný, ať už používají stejnou měnu či nikoli.',
 | 
			
		||||
        'transactions' => 'Transakce vám umožňují vytvořit záznamy o příjmech nebo výdajích. Zde jsou také uvedeny platby faktur/ příchozích faktur.',
 | 
			
		||||
        'taxes' => 'Daně se používají k přidání dodatečných poplatků na faktury vydané a přijaté. Vaše finanční prostředky jsou těmito zákonem předepsanými daněmi ovlivněny.',
 | 
			
		||||
        'reconciliations' => 'Bankovní vyrovnání je proces prováděný s cílem zajistit správnost bankovních záznamů vaší společnosti.',
 | 
			
		||||
        'recurring_templates' => 'Opakující se šablona pro příjem nebo výdaje.',
 | 
			
		||||
 | 
			
		||||
        'actions' => [
 | 
			
		||||
            'new' =>    'Zadejte podrobnosti a vytvořte první :type',
 | 
			
		||||
            'import' => 'Importujte existující :type jedním kliknutím',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -4,13 +4,30 @@ return [
 | 
			
		||||
 | 
			
		||||
    'change_language'       => 'Zvolit jazyk',
 | 
			
		||||
    'last_login'            => 'Poslední přihlášení :time',
 | 
			
		||||
 | 
			
		||||
    'notifications' => [
 | 
			
		||||
        'counter'           => '{0} Nemáte žádné oznámení|{1} Máte :count oznámení|[2,*] Máte :count oznámení',
 | 
			
		||||
        'new_apps'          => '{1} :count nová aplikace je publikována|[2,*] :count publikovaných nových aplikací',
 | 
			
		||||
        'overdue_invoices'  => '{1} :count faktura po splatnosti|[2,*] :count faktury po splatnosti',
 | 
			
		||||
        'upcoming_bills'    => '{1} :count blížící se faktura|[2,*] :count blížící se faktury',
 | 
			
		||||
        'view_all'          => 'Zobrazit vše'
 | 
			
		||||
        'view_all'          => 'Zobrazit vše',
 | 
			
		||||
 | 
			
		||||
        'exports' => [
 | 
			
		||||
            'completed' => '{1} :count dokončený export|[2,*] :count dokončených exportů',
 | 
			
		||||
            'failed' => '{1} :count neúspěšný export|[2,*] :count neúspěšných exportů',
 | 
			
		||||
        ],
 | 
			
		||||
        'imports' => [
 | 
			
		||||
            'completed' => '{1} :count dokončený import|[2,*] :count dokončených importů',
 | 
			
		||||
            'failed' => '{1} :count neúspěšný import|[2,*] :count neúspěšných importů',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'docs_link'             => 'https://akaunting.com/docs',
 | 
			
		||||
    'support_link'          => 'https://akaunting.com/support',
 | 
			
		||||
 | 
			
		||||
    'favorite' => [
 | 
			
		||||
        'added_favorite'    => 'Přidáno do oblíbených',
 | 
			
		||||
        'add_favorite'      => 'Přidat do oblíbených',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,7 @@ return [
 | 
			
		||||
        'extension'         => 'Rozšíření :extension musí být nainstalováno a načteno!',
 | 
			
		||||
        'directory'         => 'Složka :directory musí být zapisovatelná!',
 | 
			
		||||
        'executable'        => 'Spustitelný soubor PHP CLI není definovaný/funkční nebo jeho verze není :php_version nebo vyšší! Požádejte, prosím, poskytovatele hostingu, aby správně nastavila proměnnou PHP_BINARY nebo PHP_PATH.',
 | 
			
		||||
        'npm'               => '<b>Chybí JavaScript soubory!</b> <br><br><span>Měli byste spustit <em class="underline">npm install</em> a <em class="underline">npm run dev</em> příkaz.</span>', 
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'database' => [
 | 
			
		||||
@@ -43,4 +44,8 @@ return [
 | 
			
		||||
        'connection'        => 'Chyba: Nelze se připojit k databázi! Prosím, ujistěte se, že údaje jsou správné.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'update' => [
 | 
			
		||||
        'core'              => 'Je dostupná nová verze! Aktualizujte prosím <a href=":url">vaši instalaci.</a>',
 | 
			
		||||
        'module'            => 'Je dostupná nová verze :module! Aktualizujte prosím <a href=":url">vaši instalaci</a>',
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -4,10 +4,12 @@ return [
 | 
			
		||||
 | 
			
		||||
    'invoice_number'        => 'Číslo faktury',
 | 
			
		||||
    'invoice_date'          => 'Datum faktury',
 | 
			
		||||
    'invoice_amount'        => 'Částka faktury',
 | 
			
		||||
    'total_price'           => 'Celková cena',
 | 
			
		||||
    'due_date'              => 'Datum splatnosti',
 | 
			
		||||
    'order_number'          => 'Číslo objednávky',
 | 
			
		||||
    'bill_to'               => 'Faktura pro',
 | 
			
		||||
    'cancel_date'           => 'Zrušit datum',
 | 
			
		||||
 | 
			
		||||
    'quantity'              => 'Množství',
 | 
			
		||||
    'price'                 => 'Cena',
 | 
			
		||||
@@ -18,6 +20,7 @@ return [
 | 
			
		||||
    'total'                 => 'Celkem',
 | 
			
		||||
 | 
			
		||||
    'item_name'             => 'Název položky|Název položek',
 | 
			
		||||
    'recurring_invoices'    => 'Opakující se faktura|Opakující se faktury',
 | 
			
		||||
 | 
			
		||||
    'show_discount'         => 'Sleva :discount%',
 | 
			
		||||
    'add_discount'          => 'Přidat slevu',
 | 
			
		||||
@@ -39,9 +42,16 @@ return [
 | 
			
		||||
    'send_invoice'          => 'Odeslání faktury',
 | 
			
		||||
    'get_paid'              => 'Uhrazení faktury',
 | 
			
		||||
    'accept_payments'       => 'Přijímat online platby',
 | 
			
		||||
    'payments_received'     => 'Obdržené platby',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'billing'           => 'Fakturační údaje jsou uvedeny ve vaší faktuře. Datum faktury se používá na nástěnce a reportech. Vyberte datum, které chcete zaplatit jako termín splatnosti.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
        'email_required'    => 'Zákazník nemá uvedenou e-mailovou adresu!',
 | 
			
		||||
        'totals_required'   => 'Součet faktury je vyžadován. Prosím upravte :type a znovu ji uložte.',
 | 
			
		||||
 | 
			
		||||
        'draft'             => 'Toto je <b>KONCEPT</b> faktury. Faktura bude promítnuta do grafů, jakmile bude odeslána.',
 | 
			
		||||
 | 
			
		||||
        'status' => [
 | 
			
		||||
@@ -55,6 +65,25 @@ return [
 | 
			
		||||
                'await'     => 'Čeká na platbu',
 | 
			
		||||
            ],
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'name_or_description_required' => 'Vaše faktura musí obsahovat alespoň jeden z <b>:name</b> nebo <b>:description</b>.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'slider' => [
 | 
			
		||||
        'create'            => ':user vytvořil tuto fakturu dne :date',
 | 
			
		||||
        'create_recurring'  => ':user vytvořil tuto opakovanou šablonu dne :date',
 | 
			
		||||
        'schedule'          => 'Opakovat každý :interval :frequency od :date',
 | 
			
		||||
        'children'          => ':count faktur(y) bylo(y) vytvořeno(y) automaticky',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'share' => [
 | 
			
		||||
        'show_link'         => 'Váš zákazník může zobrazit fakturu na tomto odkazu',
 | 
			
		||||
        'copy_link'         => 'Zkopírujte odkaz a sdílejte jej s Vaším zákazníkem.',
 | 
			
		||||
        'success_message'   => 'Odkaz pro sdílení byl zkopírován do schránky!',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'sticky' => [
 | 
			
		||||
        'description'       => 'Prohlížíte, jak Váš zákazník uvidí webovou verzi Vaší faktury.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,16 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'sale_price'           => 'Prodejní cena',
 | 
			
		||||
    'purchase_price'        => 'Nákupní cena',
 | 
			
		||||
    'sale_price'                => 'Prodejní cena',
 | 
			
		||||
    'purchase_price'            => 'Nákupní cena',
 | 
			
		||||
    'enter_item_description'    => 'Zadejte popis položky',
 | 
			
		||||
    'billing'                   => 'Fakturace',
 | 
			
		||||
    'sale_information'          => 'Informace o prodeji',
 | 
			
		||||
    'purchase_information'      => 'Informace o nákupu',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'               => 'Vyberte kategorii pro podrobnější přehledy. Popis bude vyplněn, až bude položka vybrána ve faktuře nebo účtu.',
 | 
			
		||||
        'billing'               => 'Informace o prodeji jsou používány ve fakturách a informace o nákup se používají v účtech. Daň bude aplikována jak na faktury, tak na účty.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -8,9 +8,16 @@ return [
 | 
			
		||||
        'deleted'           => ':type odstraněno!',
 | 
			
		||||
        'duplicated'        => ':type duplikováno!',
 | 
			
		||||
        'imported'          => ':type importováno!',
 | 
			
		||||
        'import_queued'     => ':type import byl naplánován! Po dokončení obdržíte e-mail.',
 | 
			
		||||
        'exported'          => ':type exportován!',
 | 
			
		||||
        'export_queued'     => ':type export aktuální stránky byl naplánován! Až bude připraven ke stažení, obdržíte e-mail.',
 | 
			
		||||
        'enabled'           => ':type aktivován!',
 | 
			
		||||
        'disabled'          => ':type deaktivován!',
 | 
			
		||||
        'connected'         => ':type připojen!',
 | 
			
		||||
        'invited'           => ':type pozván!',
 | 
			
		||||
        'ended'             => ':type ukončen!',
 | 
			
		||||
 | 
			
		||||
        'clear_all'         => 'Skvělé! Vyčistili jste všechny své :type .',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'error' => [
 | 
			
		||||
@@ -19,10 +26,13 @@ return [
 | 
			
		||||
        'customer'          => 'Chyba: uživatel nebyl vytvořen! Uživatel :name již používá tuto emailovou adresu.',
 | 
			
		||||
        'no_file'           => 'Chyba: Nebyl vybrán žádný soubor!',
 | 
			
		||||
        'last_category'     => 'Chyba: Nemohu smazat poslední kategorii :type ! ',
 | 
			
		||||
        'transfer_category' => 'Chyba: Nemohu odstranit převod <b>:type</b> kategorie!',
 | 
			
		||||
        'change_type'       => 'Chyba: Nelze změnit typ, je k :text relativní!',
 | 
			
		||||
        'invalid_apikey'    => 'Chyba: Zadaný API klíč je neplatný!',
 | 
			
		||||
        'import_column'     => 'Chyba: :message Tabulka :sheet. Řádek: :line.',
 | 
			
		||||
        'import_sheet'      => 'Chyba: Tabulka je neplatná. Prosím, zkontrolujte vzorový soubor.',
 | 
			
		||||
        'same_amount'       => 'Chyba: Celková částka rozdělení musí být přesně stejná jako :transaction celkem: :amount',
 | 
			
		||||
        'over_match'        => 'Chyba: :type není připojen! Zadaná částka nesmí překročit celkovou platbu: :amount',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'warning' => [
 | 
			
		||||
@@ -32,6 +42,7 @@ return [
 | 
			
		||||
        'reconciled_doc'    => 'Varování: Nemáte oprávnění měnit/mazat :type, protože obsahuje vyrovnané transakce!',
 | 
			
		||||
        'disable_code'      => 'Upozornění: Není možné zakázat nebo změnit měnu <b>:name</b>, protože je spjata s :text.',
 | 
			
		||||
        'payment_cancel'    => 'Upozornění: Zrušili jste aktuální :method placení!',
 | 
			
		||||
        'missing_transfer'  => 'Varování: Převod související s touto transakcí chybí. Měli byste zvážit odstranění této transakce.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -4,17 +4,56 @@ return [
 | 
			
		||||
 | 
			
		||||
    'api_key'               => 'Klíč API',
 | 
			
		||||
    'my_apps'               => 'Moje aplikace',
 | 
			
		||||
    'checkout'              => 'Objednat',
 | 
			
		||||
    'documentation'         => 'Dokumentace',
 | 
			
		||||
 | 
			
		||||
    'home'                  => 'Domů',
 | 
			
		||||
    'tiles'                 => 'Seznam',
 | 
			
		||||
    'item'                  => 'Detaily aplikace',
 | 
			
		||||
    'pre_sale'              => 'Předběžný',
 | 
			
		||||
    'no_apps'               => 'Podívejte se na nejprofesionálnější aplikace pro Vaše podnikání a získejte je za nejlepší cenu.',
 | 
			
		||||
    'learn_more'            => 'Zjistit více',
 | 
			
		||||
    'see_apps'              => 'Zobrazit aplikace',
 | 
			
		||||
    'no_apps_marketing'     => 'Dělejte svůj obchod profesionálně',
 | 
			
		||||
    'premium_banner'        => 'PŘEJDĚTE NA PREMIUM JEŠTĚ DNES',
 | 
			
		||||
    'see_all'               => 'Zobrazit vše',
 | 
			
		||||
    'see_all_type'          => 'Zobrazit vše :type',
 | 
			
		||||
    'saving'                => 'Ušetříte :saved-price za rok!',
 | 
			
		||||
    'top_paid'              => 'Nejprodávanější',
 | 
			
		||||
    'new'                   => 'Nové',
 | 
			
		||||
    'top_free'              => 'Nejlepší bezplatné',
 | 
			
		||||
    'free'                  => 'ZDARMA',
 | 
			
		||||
    'monthly'               => 'Měsíčně',
 | 
			
		||||
    'yearly'                => 'Ročně',
 | 
			
		||||
    'yearly_pricing'        => 'Roční cena',
 | 
			
		||||
    'monthly_price'         => 'od :price',
 | 
			
		||||
    'per_month'             => 'za měsíc',
 | 
			
		||||
    'once'                  => 'jednou',
 | 
			
		||||
    'billed_monthly'        => 'Účtováno měsíčně',
 | 
			
		||||
    'billed_yearly'         => 'Účtováno ročně',
 | 
			
		||||
    'billed_once'           => 'Placeno jednou',
 | 
			
		||||
    'save_year'             => 'Ušetříte <strong>:price</strong> za rok!',
 | 
			
		||||
    'if_paid_year'          => 'Nebo <strong>:price/mo</strong> pokud je placeno ročně',
 | 
			
		||||
    'install'               => 'Instalovat',
 | 
			
		||||
    'buy_now'               => 'Koupit',
 | 
			
		||||
    'get_api_key'           => '<a href=":url" target="_blank">Klikněte zde</a> pro získání API klíče.',
 | 
			
		||||
    'no_apps'               => 'V této kategorii zatím nejsou žádné aplikace.',
 | 
			
		||||
    'become_developer'      => 'Jste vývojář/ka? <a href=":url" target="_blank">Zde</a> se dozvíte, jak vytvořit a hned začít prodávat vaší aplikaci!',
 | 
			
		||||
    'recommended_apps'      => 'Doporučené aplikace',
 | 
			
		||||
    'can_not_install'       => 'Měsíční předplatné jsou k dispozici pouze pro Cloudovou službu. <a href="https://akaunting.com/upgrade-to-yearly" target="_blank">Další informace</a>',
 | 
			
		||||
    'apps_managing'         => 'Podívejte se na nejpopulárnější aplikace a začněte dnes profesionálně spravovat své finance.',
 | 
			
		||||
    'ready'                 => 'Připraveno',
 | 
			
		||||
    'popular_this_week'     => 'Populární tento týden',
 | 
			
		||||
    'install_cloud'         => 'Použít v cloudové službě',
 | 
			
		||||
    'get_cloud'             => 'Získat cloudouvou službu',
 | 
			
		||||
    'get_premium_cloud'     => 'Získejte prémiový cloud',
 | 
			
		||||
    'switch_to_cloud'       => 'Přepnout na cloud',
 | 
			
		||||
    'hosted_on_akaunting'   => 'Hostováno na akaunting.com',
 | 
			
		||||
    'information_on_preme'  => ':period volba je k dispozici pouze na <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>cloudu.</strong></a>',
 | 
			
		||||
    'information_monthly'   => 'Tato možnost je platná pouze pro <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>cloudovou službu</strong></a>',
 | 
			
		||||
    'only_works_cloud'      => 'Tato aplikace je dostupná pouze na <strong>cloudu</strong>.',
 | 
			
		||||
    'only_premium_plan'     => 'Tato aplikace je dostupná pouze na <strong>premium cloudu</strong>.',
 | 
			
		||||
    'not_found'             => 'Nebyla nalezena žádná aplikace',
 | 
			
		||||
 | 
			
		||||
    'about'                 => 'O aplikaci',
 | 
			
		||||
 | 
			
		||||
@@ -25,13 +64,22 @@ return [
 | 
			
		||||
    'view'                  => 'Zobrazit',
 | 
			
		||||
    'back'                  => 'Zpět',
 | 
			
		||||
 | 
			
		||||
    'use_app'               => 'Začnít používat aplikaci nyní',
 | 
			
		||||
 | 
			
		||||
    'see_more'              => 'Zobrazit více',
 | 
			
		||||
 | 
			
		||||
    'installed'             => ':module nainstalován',
 | 
			
		||||
    'uninstalled'           => ':module odinstalováno',
 | 
			
		||||
    //'updated'               => ':module updated',
 | 
			
		||||
    'updated_2'             => ':module aktualizován',
 | 
			
		||||
    'enabled'               => ':module povolen',
 | 
			
		||||
    'disabled'              => ':module zakázán',
 | 
			
		||||
    'per_month'             => 'za měsíc',
 | 
			
		||||
    'pre_sale_uninstall'    => 'Nepropásněte zvýhodněnou cenu v předprodeji!',
 | 
			
		||||
    'pre_sale_install'      => 'Získáte aplikaci při ukončení předprodeje.',
 | 
			
		||||
 | 
			
		||||
    'tab' => [
 | 
			
		||||
        'features'          => 'Vlastnosti',
 | 
			
		||||
        'screenshots'       => 'Snímky obrazovky',
 | 
			
		||||
        'installation'      => 'Instalace',
 | 
			
		||||
        'faq'               => 'Často kladené dotazy',
 | 
			
		||||
        'changelog'         => 'Seznam změn',
 | 
			
		||||
@@ -49,6 +97,7 @@ return [
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'errors' => [
 | 
			
		||||
        'purchase'          => 'Měli byste si zakoupit/obnovit :module!',
 | 
			
		||||
        'download'          => 'Nelze stáhnout :module',
 | 
			
		||||
        'zip'               => 'Není možné vytvořit zip soubor :module',
 | 
			
		||||
        'unzip'             => 'Nelze rozbalit: modul',
 | 
			
		||||
@@ -56,6 +105,10 @@ return [
 | 
			
		||||
        'finish'            => 'Není možné dokončit instalaci :module',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'warning' => [
 | 
			
		||||
        'latest_version'    => 'Používáte nejnovější verzi :module, žádné aktualizace nejsou k dispozici.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'badge' => [
 | 
			
		||||
        'installed'         => 'Nainstalováno',
 | 
			
		||||
        'pre_sale'          => 'Předběžný',
 | 
			
		||||
 
 | 
			
		||||
@@ -6,5 +6,213 @@ return [
 | 
			
		||||
    'hello'               => 'Ahoj!',
 | 
			
		||||
    'salutation'          => 'S pozdravem,<br> :company_name',
 | 
			
		||||
    'subcopy'             => 'Pokud vám nefunguje tlačítko ":text", zkopírujte a vložte adresu URL do prohlížeče: [:url](:url)',
 | 
			
		||||
    'mark_read'           => 'Označit jako přečtené',
 | 
			
		||||
    'mark_read_all'       => 'Označit vše jako přečtené',
 | 
			
		||||
    'empty'               => 'Bezva, žádná oznámení!',
 | 
			
		||||
    'new_apps'            => ':app je k dispozici. <a href=":url">Pojďme se podívat</a>!',
 | 
			
		||||
 | 
			
		||||
    'update' => [
 | 
			
		||||
 | 
			
		||||
        'mail' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => '⚠️ Aktualizace se nezdařila na :domain',
 | 
			
		||||
            'description'   => 'Aktualizace :alias z :current_version na :new_version selhala v <strong>:step</strong> krok s následující zprávou: :error_message',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'slack' => [
 | 
			
		||||
 | 
			
		||||
            'description'   => 'Aktualizace se nezdařila na :domain',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'import' => [
 | 
			
		||||
 | 
			
		||||
        'completed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Import dokončen',
 | 
			
		||||
            'description'   => 'Import byl dokončen a záznamy jsou k dispozici ve vašem panelu.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'failed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Import se nezdařil',
 | 
			
		||||
            'description'   => 'Není možné importovat soubor z důvodu následujících důvodů:',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'export' => [
 | 
			
		||||
 | 
			
		||||
        'completed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Export je připraven',
 | 
			
		||||
            'description'   => 'Exportovaný soubor je připraven ke stažení z následujícího odkazu:',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'failed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Export selhal',
 | 
			
		||||
            'description'   => 'Není možné vytvořit exportovaný soubor z důvodu následujícího důvodu:',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'email' => [
 | 
			
		||||
 | 
			
		||||
        'invalid' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Neplatný :type e-mail',
 | 
			
		||||
            'description'   => ':email byla nahlášena jako neplatný a osoba byla deaktivována. Zkontrolujte prosím následující chybovou zprávu a opravte e-mailovou adresu:',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'menu' => [
 | 
			
		||||
 | 
			
		||||
        'export_completed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Export je připraven',
 | 
			
		||||
            'description'   => 'Váš <strong>:type</strong> exportovaný soubor je připraven na <a href=":url" target="_blank"><strong>stažení</strong></a>.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'export_failed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Export selhal',
 | 
			
		||||
            'description'   => 'Není možné vytvořit exportní soubor z důvodu několika problémů. Podívejte se na váš e-mail pro detaily.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'import_completed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Import dokončen',
 | 
			
		||||
            'description'   => 'Vaše <strong>:type</strong> vložená data <strong>:count</strong> jsou úspěšně importována.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'import_failed' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Import se nezdařil',
 | 
			
		||||
            'description'   => 'Není možné importovat soubor z důvodu několika problémů. Podívejte se na váš e-mail pro detaily.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'new_apps' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Nová aplikace',
 | 
			
		||||
            'description'   => '<strong>:name</strong> aplikace je zastaralá. Můžete <a href=":url">kliknout zde</a> a zobrazit podrobnosti.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_new_customer' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Nová faktura',
 | 
			
		||||
            'description'   => '<strong>:invoice_number</strong> faktura je vytvořena. Můžete <a href=":invoice_portal_link">kliknout zde</a> a zobrazit podrobnosti a pokračovat v platbě.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_remind_customer' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Faktura po splatnosti',
 | 
			
		||||
            'description'   => '<strong>:invoice_number</strong> faktura byla splatná <strong>:invoice_due_date</strong>. Můžete <a href=":invoice_portal_link">kliknout zde</a> a zobrazit podrobnosti a pokračovat v platbě.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_remind_admin' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Faktura po splatnosti',
 | 
			
		||||
            'description'   => '<strong>:invoice_number</strong> faktura byla splatná <strong>:invoice_due_date</strong>. Můžete <a href=":invoice_admin_link">kliknout zde</a> pro zobrazení podrobností.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_recur_customer' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Nová opakující se faktura',
 | 
			
		||||
            'description'   => '<strong>:invoice_number</strong> faktura je vytvořena na základě vašeho opakujícího plánu. Můžete <a href=":invoice_portal_link">kliknout zde</a> pro zobrazení podrobností a pokračovat v platbě.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_recur_admin' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Nová opakující se faktura',
 | 
			
		||||
            'description'   => '<strong>:invoice_number</strong> faktura je vytvořena na základě opakovacího plánu <strong>:customer_name</strong> . Můžete <a href=":invoice_admin_link">kliknout zde</a> pro zobrazení podrobností.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_view_admin' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Faktura zobrazena',
 | 
			
		||||
            'description'   => '<strong>:customer_name</strong> si prohlédl fakturu <strong>:invoice_number</strong> . Můžete <a href=":invoice_admin_link">kliknout zde</a> pro zobrazení podrobností.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'revenue_new_customer' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Platba přijata',
 | 
			
		||||
            'description'   => 'Děkujeme vám za platbu faktury <strong>:invoice_number</strong> . Můžete <a href=":invoice_portal_link">kliknout zde</a> pro zobrazení podrobností.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_payment_customer' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Platba přijata',
 | 
			
		||||
            'description'   => 'Děkujeme vám za platbu faktury <strong>:invoice_number</strong> . Můžete <a href=":invoice_portal_link">kliknout zde</a> pro zobrazení podrobností.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invoice_payment_admin' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Platba přijata',
 | 
			
		||||
            'description'   => ':customer_name zaznamenal platbu za fakturu <strong>:invoice_number</strong> . Můžete <a href=":invoice_admin_link">kliknout zde</a> pro zobrazení podrobností.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'bill_remind_admin' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Faktura po splatnosti',
 | 
			
		||||
            'description'   => '<strong>:bill_number</strong> účet byl uhrazen <strong>:bill_due_date</strong>. Můžete <a href=":bill_admin_link">kliknout zde</a> a zobrazit podrobnosti.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'bill_recur_admin' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Nový opakující se účet',
 | 
			
		||||
            'description'   => '<strong>:bill_number</strong> účet je vytvořen na základě opakování <strong>:vendor_name</strong> . Můžete <a href=":bill_admin_link">kliknout zde</a> a zobrazit podrobnosti.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invalid_email' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Neplatný :type e-mail',
 | 
			
		||||
            'description'   => 'E-mailová adresa <strong>:email</strong> byla nahlášena jako neplatná a osoba byla deaktivována. Prosím zkontrolujte a opravte e-mailovou adresu.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
 | 
			
		||||
        'mark_read'             => ':type přečte toto oznámení!',
 | 
			
		||||
        'mark_read_all'         => ':type je načtení všech oznámení!',
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'browser' => [
 | 
			
		||||
 | 
			
		||||
        'firefox' => [
 | 
			
		||||
 | 
			
		||||
            'title' => 'Nastavení Firefox ikony',
 | 
			
		||||
            'description'  => '<span class="font-medium">Pokud se vaše ikony nezobrazují prosím;</span> <br /> <span class="font-medium">Prosím povolte stránkám vybrat si vlastní písma, místo vašeho výběru nad</span> <br /><br /> <span class="font-bold"> Nastavení (Nastavení) > Písma > Pokročilé </span>',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										53
									
								
								resources/lang/cs-CZ/portal.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								resources/lang/cs-CZ/portal.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'profile'               => 'Profil',
 | 
			
		||||
    'invoices'              => 'Faktury',
 | 
			
		||||
    'payments'              => 'Platby',
 | 
			
		||||
    'payment_received'      => 'Platba byla přijata, děkujeme!',
 | 
			
		||||
    'create_your_invoice'   => 'Nyní vytvořte vlastní fakturu - je to zdarma',
 | 
			
		||||
    'get_started'           => 'Začněte zdarma',
 | 
			
		||||
    'billing_address'       => 'Fakturační adresa',
 | 
			
		||||
    'see_all_details'       => 'Zobrazit všechny údaje o účtu',
 | 
			
		||||
    'all_payments'          => 'Přihlaste se pro zobrazení všech plateb',
 | 
			
		||||
    'received_date'         => 'Datum přijetí',
 | 
			
		||||
    'redirect_description'  => 'Pro provedení platby budete přesměrováni na webovou stránku :name.',
 | 
			
		||||
 | 
			
		||||
    'last_payment'          => [
 | 
			
		||||
        'title'             => 'Poslední platba provedena',
 | 
			
		||||
        'description'       => 'Tuto platbu jste provedli dne :date',
 | 
			
		||||
        'not_payment'       => 'Zatím jste neprovedli žádnou platbu.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'outstanding_balance'   => [
 | 
			
		||||
        'title'             => 'Zůstatek',
 | 
			
		||||
        'description'       => 'Váš zůstatek je:',
 | 
			
		||||
        'not_payment'       => 'Zatím nemáte zbývající zůstatek.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'latest_invoices'       => [
 | 
			
		||||
        'title'             => 'Poslední faktury',
 | 
			
		||||
        'description'       => ':date - Bylo vám účtováno číslo faktury :invoice_number.',
 | 
			
		||||
        'no_data'           => 'Zatím nemáte fakturu.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_history'       => [
 | 
			
		||||
        'title'             => 'Historie faktur',
 | 
			
		||||
        'description'       => ':date - Bylo vám účtováno číslo faktury :invoice_number.',
 | 
			
		||||
        'no_data'           => 'Zatím nemáte historii faktur.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'payment_history'       => [
 | 
			
		||||
        'title'             => 'Historie plateb',
 | 
			
		||||
        'description'       => ':date - Provedli jste platbu ve výši :amount.',
 | 
			
		||||
        'invoice_description'=> ':date - Provedli jste platbu ve výši :amount za číslo faktury :invoice_number.',
 | 
			
		||||
 | 
			
		||||
        'no_data'           => 'Zatím nemáte historii plateb.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'payment_detail'        => [
 | 
			
		||||
        'description'       => 'Provedli jste platbu :amount dne :date pro tuto fakturu.'
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -14,5 +14,9 @@ return [
 | 
			
		||||
    'cleared_amount'        => 'Zaúčtovaná částka',
 | 
			
		||||
    'deposit'               => 'Vklad',
 | 
			
		||||
    'withdrawal'            => 'Výběr',
 | 
			
		||||
    'reconciled_amount'     => 'Ověřeno',
 | 
			
		||||
    'in_progress'           => 'Probíhá',
 | 
			
		||||
    'save_draft'            => 'Uložit jako koncept',
 | 
			
		||||
    'irreconcilable'        => 'Neověřené',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,28 @@ return [
 | 
			
		||||
    'weeks'                 => 'Týden(Týdny)',
 | 
			
		||||
    'months'                => 'Měsíc(e)',
 | 
			
		||||
    'years'                 => 'Rok(y)',
 | 
			
		||||
    'frequency'             => 'Frekvence',
 | 
			
		||||
    'duration'              => 'Doba trvání',
 | 
			
		||||
    'last_issued'           => 'Naposledy vydáno',
 | 
			
		||||
    'after'                 => 'Po',
 | 
			
		||||
    'on'                    => 'Na',
 | 
			
		||||
    'never'                 => 'Nikdy',
 | 
			
		||||
    'ends_after'            => 'Končí po :times',
 | 
			
		||||
    'ends_never'            => 'Nikdy nekončí',
 | 
			
		||||
    'ends_date'             => 'Končí :date',
 | 
			
		||||
    'next_date'             => 'Další :date',
 | 
			
		||||
    'end'                   => 'Ukončit opakování',
 | 
			
		||||
    'child'                 => ':url byl automaticky vytvořen :date',
 | 
			
		||||
    'message'               => 'Toto je opakovaný :type. Další :type bude automaticky generován dne :date',
 | 
			
		||||
    'message_parent'        => ':type byl automaticky generován z :link',
 | 
			
		||||
    'send_email_auto'       => 'Automaticky odeslat e-mail',
 | 
			
		||||
 | 
			
		||||
    'frequency_type'        => 'Opakovat tento :type',
 | 
			
		||||
    'limit_date'            => 'Vytvořit první :type',
 | 
			
		||||
    'limit_middle'          => 'a konec',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'schedule'          => 'Vyberte podmínky a počáteční a koncový čas, abyste se ujistili, že váš zákazník obdrží váš :type ve správný den.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,26 +2,42 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'this_year'                 => 'Aktuální rok',
 | 
			
		||||
    'previous_year'             => 'Předchozí rok',
 | 
			
		||||
    'this_quarter'              => 'Aktuální čtvrtletí',
 | 
			
		||||
    'previous_quarter'          => 'Předchozí čtvrtletí',
 | 
			
		||||
    'last_12_months'            => 'Posledních 12 měsíců',
 | 
			
		||||
    'profit_loss'               => 'Zisk a ztráty',
 | 
			
		||||
    'gross_profit'              => 'Hrubý zisk',
 | 
			
		||||
    'net_profit'                => 'Čistý zisk',
 | 
			
		||||
    'total_expenses'            => 'Celkové výdaje',
 | 
			
		||||
    'net'                       => 'NETTO',
 | 
			
		||||
    'income_expense'            => 'Příjmy a výdaje',
 | 
			
		||||
    'income_summary'            => 'Přehled příjmů',
 | 
			
		||||
    'expense_summary'           => 'Přehled výdajů',
 | 
			
		||||
    'income_expense_summary'    => 'Příjmy vs Výdaje',
 | 
			
		||||
    'tax_summary'               => 'Souhrn daně',
 | 
			
		||||
    'years'                         => 'Rok|Roky',
 | 
			
		||||
    'preferences'                   => 'Předvolba|Předvolby',
 | 
			
		||||
    'this_year'                     => 'Aktuální rok',
 | 
			
		||||
    'previous_year'                 => 'Předchozí rok',
 | 
			
		||||
    'this_quarter'                  => 'Aktuální čtvrtletí',
 | 
			
		||||
    'previous_quarter'              => 'Předchozí čtvrtletí',
 | 
			
		||||
    'last_12_months'                => 'Posledních 12 měsíců',
 | 
			
		||||
    'profit_loss'                   => 'Zisk a ztráty',
 | 
			
		||||
    'income_summary'                => 'Přehled příjmů',
 | 
			
		||||
    'expense_summary'               => 'Přehled výdajů',
 | 
			
		||||
    'income_expense_summary'        => 'Příjmy vs Výdaje',
 | 
			
		||||
    'tax_summary'                   => 'Souhrn daně',
 | 
			
		||||
    'gross_profit'                  => 'Hrubý zisk',
 | 
			
		||||
    'net_profit'                    => 'Čistý zisk',
 | 
			
		||||
    'total_expenses'                => 'Celkové výdaje',
 | 
			
		||||
    'net'                           => 'NETTO',
 | 
			
		||||
    'income_expense'                => 'Příjmy a výdaje',
 | 
			
		||||
    'pin'                           => 'Připnout hlášení',
 | 
			
		||||
 | 
			
		||||
    'charts' => [
 | 
			
		||||
        'line'                  => 'Čárový',
 | 
			
		||||
        'bar'                   => 'Sloupcový',
 | 
			
		||||
        'pie'                   => 'Koláčový',
 | 
			
		||||
    'income_expense_description'    => 'Získejte přehled o svých příjmech a výdajích.',
 | 
			
		||||
    'accounting_description'        => 'Získejte jasnou představu o tom, jak vaše podnikání funguje.',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'                   => 'Zde můžete zadat obecné informace o sestavě, jako je název, typ, popis, atd.',
 | 
			
		||||
        'preferences'               => 'Předvolby vám pomohou přizpůsobit vaše přehledy.'
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'charts' => [
 | 
			
		||||
        'line'                      => 'Čárový',
 | 
			
		||||
        'bar'                       => 'Sloupcový',
 | 
			
		||||
        'pie'                       => 'Koláčový',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'pin_text' => [
 | 
			
		||||
        'unpin_report'              => 'Odepnout hlášení',
 | 
			
		||||
        'pin_report'                => 'Připnout hlášení',
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -3,100 +3,151 @@
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'company' => [
 | 
			
		||||
        'description'       => 'Změnit název společnosti, e-mail, adresu, číslo daně atd',
 | 
			
		||||
        'name'              => 'Název',
 | 
			
		||||
        'email'             => 'E-mail',
 | 
			
		||||
        'phone'             => 'Telefon',
 | 
			
		||||
        'address'           => 'Adresa',
 | 
			
		||||
        'logo'              => 'Logo',
 | 
			
		||||
        'description'                   => 'Změnit název společnosti, e-mail, adresu, číslo daně atd',
 | 
			
		||||
        'search_keywords'               => 'společnost, jméno, e-mail, telefon, adresa, země, daňové číslo, logo, město, stát, okres, PSČ',
 | 
			
		||||
        'name'                          => 'Název',
 | 
			
		||||
        'email'                         => 'E-mail',
 | 
			
		||||
        'phone'                         => 'Telefon',
 | 
			
		||||
        'address'                       => 'Adresa',
 | 
			
		||||
        'edit_your_business_address'    => 'Upravit adresu Vaší společnosti',
 | 
			
		||||
        'logo'                          => 'Logo',
 | 
			
		||||
 | 
			
		||||
        'form_description' => [
 | 
			
		||||
            'general'                   => 'Tyto informace jsou viditelné v záznamech, které vytváříte.',
 | 
			
		||||
            'address'                   => 'Adresa bude použita na fakturách, účtech a dalších záznamech, které vydáváte.',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'localisation' => [
 | 
			
		||||
        'description'       => 'Nastavit fiskální rok, časové pásmo, formát data a další lokální',
 | 
			
		||||
        'financial_start'   => 'Začátek rozpočtového roku',
 | 
			
		||||
        'timezone'          => 'Časové pásmo',
 | 
			
		||||
        'description'                   => 'Nastavit fiskální rok, časové pásmo, formát data a další nastavení lokalizace',
 | 
			
		||||
        'search_keywords'               => 'finanční, rok, začátek, označení, čas, zóna, datum, formát, oddělovač, sleva, procenta',
 | 
			
		||||
        'financial_start'               => 'Začátek rozpočtového roku',
 | 
			
		||||
        'timezone'                      => 'Časové pásmo',
 | 
			
		||||
        'financial_denote' => [
 | 
			
		||||
            'title'                     => 'Označení účetního roku',
 | 
			
		||||
            'begins'                    => 'Podle roku, ve kterém začíná',
 | 
			
		||||
            'ends'                      => 'Podle roku, ve kterém končí',
 | 
			
		||||
        ],
 | 
			
		||||
        'preferred_date'                => 'Upřednostňované datum',
 | 
			
		||||
        'date' => [
 | 
			
		||||
            'format'        => 'Formát data',
 | 
			
		||||
            'separator'     => 'Oddělovač data',
 | 
			
		||||
            'dash'          => 'Pomlčka (-)',
 | 
			
		||||
            'dot'           => 'Tečka (.)',
 | 
			
		||||
            'comma'         => 'Čárka (,)',
 | 
			
		||||
            'slash'         => 'Lomítko (/)',
 | 
			
		||||
            'space'         => 'Mezera ( )',
 | 
			
		||||
            'format'                    => 'Formát data',
 | 
			
		||||
            'separator'                 => 'Oddělovač data',
 | 
			
		||||
            'dash'                      => 'Pomlčka (-)',
 | 
			
		||||
            'dot'                       => 'Tečka (.)',
 | 
			
		||||
            'comma'                     => 'Čárka (,)',
 | 
			
		||||
            'slash'                     => 'Lomítko (/)',
 | 
			
		||||
            'space'                     => 'Mezera ( )',
 | 
			
		||||
        ],
 | 
			
		||||
        'percent' => [
 | 
			
		||||
            'title'         => 'Pozice (%) procenta',
 | 
			
		||||
            'before'        => 'Před číslem',
 | 
			
		||||
            'after'         => 'Za číslem',
 | 
			
		||||
            'title'                     => 'Pozice (%) procenta',
 | 
			
		||||
            'before'                    => 'Před číslem',
 | 
			
		||||
            'after'                     => 'Za číslem',
 | 
			
		||||
        ],
 | 
			
		||||
        'discount_location' => [
 | 
			
		||||
            'name'          => 'Umístění slevy',
 | 
			
		||||
            'item'          => 'Na řádku',
 | 
			
		||||
            'total'         => 'Celkem',
 | 
			
		||||
            'both'          => 'Řádek i celkem',
 | 
			
		||||
            'name'                      => 'Umístění slevy',
 | 
			
		||||
            'item'                      => 'Na řádku',
 | 
			
		||||
            'total'                     => 'Celkem',
 | 
			
		||||
            'both'                      => 'Řádek i celkem',
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'form_description' => [
 | 
			
		||||
            'fiscal'                    => 'Nastavte účetní období, které vaše společnost používá pro zdaňování a vykazování.',
 | 
			
		||||
            'date'                      => 'Vyberte formát data, který chcete vidět všude v rozhraní.',
 | 
			
		||||
            'other'                     => 'Vyberte, kde je zobrazen procentuální znak pro daně. Můžete povolit slevy na řádkových položkách a na součtu faktur a přijatých faktur.',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice' => [
 | 
			
		||||
        'description'       => 'Přizpůsobit prefix faktury, číslo, termín, zápatí atd',
 | 
			
		||||
        'prefix'            => 'Předpona předčíslí',
 | 
			
		||||
        'digit'             => 'Předčíslí',
 | 
			
		||||
        'next'              => 'Následující číslo',
 | 
			
		||||
        'logo'              => 'Logo',
 | 
			
		||||
        'custom'            => 'Vlastní',
 | 
			
		||||
        'item_name'         => 'Název položky',
 | 
			
		||||
        'item'              => 'Položky',
 | 
			
		||||
        'product'           => 'Produkty',
 | 
			
		||||
        'service'           => 'Služby',
 | 
			
		||||
        'price_name'        => 'Název ceny',
 | 
			
		||||
        'price'             => 'Cena',
 | 
			
		||||
        'rate'              => 'Sazba',
 | 
			
		||||
        'quantity_name'     => 'Název množství',
 | 
			
		||||
        'quantity'          => 'Množství',
 | 
			
		||||
        'payment_terms'     => 'Platební podmínky',
 | 
			
		||||
        'title'             => 'Název',
 | 
			
		||||
        'subheading'        => 'Podtitul',
 | 
			
		||||
        'due_receipt'       => 'Termín dle účtenky',
 | 
			
		||||
        'due_days'          => 'Termín do :days',
 | 
			
		||||
        'choose_template'   => 'Zvolte šablonu faktury',
 | 
			
		||||
        'default'           => 'Výchozí',
 | 
			
		||||
        'classic'           => 'Klasické',
 | 
			
		||||
        'modern'            => 'Moderní',
 | 
			
		||||
        'hide'              => [
 | 
			
		||||
            'item_name'         => 'Skrýt jméno položky',
 | 
			
		||||
            'item_description'  => 'Skrýt popisek položky',
 | 
			
		||||
            'quantity'          => 'Skrýt množství',
 | 
			
		||||
            'price'             => 'Skrýt cenu',
 | 
			
		||||
            'amount'            => 'Skrýt částku',
 | 
			
		||||
        'description'                   => 'Přizpůsobit prefix faktury, číslo, termín, zápatí atd',
 | 
			
		||||
        'search_keywords'               => 'přizpůsobení, faktura, číslo, předčíslí, číslice, další, logo, jméno, cena, množství, šablona, titul, titul za jménem, zápatí, poznámka, schovat, splatnost, barva, platba, výrazy, sloupec',
 | 
			
		||||
        'prefix'                        => 'Předpona předčíslí',
 | 
			
		||||
        'digit'                         => 'Předčíslí',
 | 
			
		||||
        'next'                          => 'Následující číslo',
 | 
			
		||||
        'logo'                          => 'Logo',
 | 
			
		||||
        'custom'                        => 'Vlastní',
 | 
			
		||||
        'item_name'                     => 'Název položky',
 | 
			
		||||
        'item'                          => 'Položky',
 | 
			
		||||
        'product'                       => 'Produkty',
 | 
			
		||||
        'service'                       => 'Služby',
 | 
			
		||||
        'price_name'                    => 'Název ceny',
 | 
			
		||||
        'price'                         => 'Cena',
 | 
			
		||||
        'rate'                          => 'Sazba',
 | 
			
		||||
        'quantity_name'                 => 'Název množství',
 | 
			
		||||
        'quantity'                      => 'Množství',
 | 
			
		||||
        'payment_terms'                 => 'Platební podmínky',
 | 
			
		||||
        'title'                         => 'Název',
 | 
			
		||||
        'subheading'                    => 'Podtitul',
 | 
			
		||||
        'due_receipt'                   => 'Termín dle účtenky',
 | 
			
		||||
        'due_days'                      => 'Termín do :days',
 | 
			
		||||
        'choose_template'               => 'Zvolte šablonu faktury',
 | 
			
		||||
        'default'                       => 'Výchozí',
 | 
			
		||||
        'classic'                       => 'Klasické',
 | 
			
		||||
        'modern'                        => 'Moderní',
 | 
			
		||||
        'hide' => [
 | 
			
		||||
            'item_name'                 => 'Skrýt jméno položky',
 | 
			
		||||
            'item_description'          => 'Skrýt popisek položky',
 | 
			
		||||
            'quantity'                  => 'Skrýt množství',
 | 
			
		||||
            'price'                     => 'Skrýt cenu',
 | 
			
		||||
            'amount'                    => 'Skrýt částku',
 | 
			
		||||
        ],
 | 
			
		||||
        'column'                        => 'Sloupec | Sloupce',
 | 
			
		||||
 | 
			
		||||
        'form_description' => [
 | 
			
		||||
            'general'                   => 'Nastavte výchozí hodnoty pro formátování čísel faktur a platebních podmínek.',
 | 
			
		||||
            'template'                  => 'Vyberte jednu ze šablon níže pro vaše faktury.',
 | 
			
		||||
            'default'                   => 'Výběrem výchozích hodnot faktur budou předvyplněny titulky, podhlaví, poznámky a zápatí. Nepotřebujete tedy upravovat faktury pokaždé, abyste mohli vypadat profesionálněji.',
 | 
			
		||||
            'column'                    => 'Přizpůsobte si názvy sloupců faktur. Pokud chcete skrýt popisy a částky v řádcích, můžete je změnit zde.',
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'transfer' => [
 | 
			
		||||
        'choose_template'               => 'Vyberte šablonu převodu',
 | 
			
		||||
        'second'                        => 'Druhý',
 | 
			
		||||
        'third'                         => 'Třetí',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'default' => [
 | 
			
		||||
        'description'       => 'Výchozí účet, měna, jazyk vaší společnosti',
 | 
			
		||||
        'list_limit'        => 'Záznamů na stránku',
 | 
			
		||||
        'use_gravatar'      => 'Použít Gravatar',
 | 
			
		||||
        'income_category'   => 'Kategorie příjmu',
 | 
			
		||||
        'expense_category'  => 'Kategorie výdaje',
 | 
			
		||||
        'description'                   => 'Výchozí účet, měna, jazyk vaší společnosti',
 | 
			
		||||
        'search_keywords'               => 'účet, měna, jazyk, daň, platba, metoda, stránkování',
 | 
			
		||||
        'list_limit'                    => 'Záznamů na stránku',
 | 
			
		||||
        'use_gravatar'                  => 'Použít Gravatar',
 | 
			
		||||
        'income_category'               => 'Kategorie příjmu',
 | 
			
		||||
        'expense_category'              => 'Kategorie výdaje',
 | 
			
		||||
 | 
			
		||||
        'form_description' => [
 | 
			
		||||
            'general'                   => 'Vyberte výchozí účet, daň a způsob platby pro rychlé vytváření záznamů. Nástěnka a reporty jsou zobrazeny pod výchozí měnou.',
 | 
			
		||||
            'category'                  => 'Vyberte výchozí kategorie pro urychlení tvorby záznamů.',
 | 
			
		||||
            'other'                     => 'Přizpůsobte výchozí nastavení jazyka společnosti a jak funguje stránkování. ',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'email' => [
 | 
			
		||||
        'description'       => 'Změnit protokol a šablony e-mailů',
 | 
			
		||||
        'protocol'          => 'Protokol',
 | 
			
		||||
        'php'               => 'PHP Mail',
 | 
			
		||||
        'description'                   => 'Změnit protokol a šablony e-mailů',
 | 
			
		||||
        'search_keywords'               => 'email, odesílnání, protokol, smtp, host, heslo',
 | 
			
		||||
        'protocol'                      => 'Protokol',
 | 
			
		||||
        'php'                           => 'PHP Mail',
 | 
			
		||||
        'smtp' => [
 | 
			
		||||
            'name'          => 'SMTP',
 | 
			
		||||
            'host'          => 'SMTP hostitel',
 | 
			
		||||
            'port'          => 'SMTP port',
 | 
			
		||||
            'username'      => 'SMTP uživatelské jméno',
 | 
			
		||||
            'password'      => 'Heslo SMTP',
 | 
			
		||||
            'encryption'    => 'Zabezpečení SMTP',
 | 
			
		||||
            'none'          => 'Žádný',
 | 
			
		||||
            'name'                      => 'SMTP',
 | 
			
		||||
            'host'                      => 'SMTP hostitel',
 | 
			
		||||
            'port'                      => 'SMTP port',
 | 
			
		||||
            'username'                  => 'SMTP uživatelské jméno',
 | 
			
		||||
            'password'                  => 'Heslo SMTP',
 | 
			
		||||
            'encryption'                => 'Zabezpečení SMTP',
 | 
			
		||||
            'none'                      => 'Žádný',
 | 
			
		||||
        ],
 | 
			
		||||
        'sendmail'                      => 'Sendmail',
 | 
			
		||||
        'sendmail_path'                 => 'Sendmail cesta',
 | 
			
		||||
        'log'                           => 'Log e-mailů',
 | 
			
		||||
        'email_service'                 => 'E-mailová služba',
 | 
			
		||||
        'email_templates'               => 'Šablony e-mailů',
 | 
			
		||||
 | 
			
		||||
        'form_description' => [
 | 
			
		||||
            'general'                   => 'Posílejte pravidelnou emailovou adresu vašemu týmu a kontaktům. Nastavení protokolu a SMTP můžete nastavit.',
 | 
			
		||||
        ],
 | 
			
		||||
        'sendmail'          => 'Sendmail',
 | 
			
		||||
        'sendmail_path'     => 'Sendmail cesta',
 | 
			
		||||
        'log'               => 'Log e-mailů',
 | 
			
		||||
 | 
			
		||||
        'templates' => [
 | 
			
		||||
            'description'               => 'Změnit šablony e-mailů',
 | 
			
		||||
            'search_keywords'           => 'email, šablona, předmět, tělo, značka',
 | 
			
		||||
            'subject'                   => 'Předmět',
 | 
			
		||||
            'body'                      => 'Tělo zprávy',
 | 
			
		||||
            'tags'                      => '<strong>Dostupné štítky:</strong> :tag_list',
 | 
			
		||||
@@ -105,34 +156,48 @@ return [
 | 
			
		||||
            'invoice_remind_admin'      => 'Šablona připomenutí faktury (posíláno správci)',
 | 
			
		||||
            'invoice_recur_customer'    => 'Šablona opakující se faktury (posíláno zákazníkovi)',
 | 
			
		||||
            'invoice_recur_admin'       => 'Šablona pro opakování faktury (posíláno správci)',
 | 
			
		||||
            'invoice_view_admin'        => 'Zobrazení šablony faktury (odeslána administrátorovi)',
 | 
			
		||||
            'invoice_payment_customer'  => 'Šablona příjmu platby (posíláno zákazníkovi)',
 | 
			
		||||
            'invoice_payment_admin'     => 'Šablona příjmu platby (posíláno správci)',
 | 
			
		||||
            'bill_remind_admin'         => 'Šablona připomenutí účtu (posíláno správci)',
 | 
			
		||||
            'bill_recur_admin'          => 'Šablona opakovaného účtu (posíláno správci)',
 | 
			
		||||
            'payment_received_customer' => 'Šablona potvrzení platby (odeslána zákazníkovi)',
 | 
			
		||||
            'payment_made_vendor'       => 'Šablona platby (odeslána prodejci)',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'scheduling' => [
 | 
			
		||||
        'name'              => 'Plánování',
 | 
			
		||||
        'description'       => 'Automatické připomenutí a příkaz pro opakování',
 | 
			
		||||
        'send_invoice'      => 'Odesílat upozornění o fakturách',
 | 
			
		||||
        'invoice_days'      => 'Odeslat po splatnosti (dnů)',
 | 
			
		||||
        'send_bill'         => 'Odeslat upozornění na dodavatelské faktury',
 | 
			
		||||
        'bill_days'         => 'Odeslat před splatností (dnů)',
 | 
			
		||||
        'cron_command'      => 'Příkaz Cronu',
 | 
			
		||||
        'schedule_time'     => 'Hodina spuštění',
 | 
			
		||||
        'name'                          => 'Plánování',
 | 
			
		||||
        'description'                   => 'Automatické připomenutí a příkaz pro opakování',
 | 
			
		||||
        'search_keywords'               => 'automatické, připomenutí, opakování, cron, příkaz',
 | 
			
		||||
        'send_invoice'                  => 'Odesílat upozornění o fakturách',
 | 
			
		||||
        'invoice_days'                  => 'Odeslat po splatnosti (dnů)',
 | 
			
		||||
        'send_bill'                     => 'Odeslat upozornění na dodavatelské faktury',
 | 
			
		||||
        'bill_days'                     => 'Odeslat před splatností (dnů)',
 | 
			
		||||
        'cron_command'                  => 'Příkaz Cronu',
 | 
			
		||||
        'command'                       => 'Příkaz',
 | 
			
		||||
        'schedule_time'                 => 'Hodina spuštění',
 | 
			
		||||
 | 
			
		||||
        'form_description' => [
 | 
			
		||||
            'invoice'                   => 'Povolte nebo vypněte a nastavte připomenutí vašich faktur po splatnosti.',
 | 
			
		||||
            'bill'                      => 'Povolte nebo vypněte a nastavte připomenutí vašich přijatách faktur před jejich splatností.',
 | 
			
		||||
            'cron'                      => 'Zkopírujte cron příkaz, který by měl server spustit. Nastavte čas pro spuštění události.',
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'categories' => [
 | 
			
		||||
        'description'       => 'Neomezené kategorie příjmů, nákladů a položek',
 | 
			
		||||
        'description'                   => 'Neomezené kategorie příjmů, nákladů a položek',
 | 
			
		||||
        'search_keywords'               => 'kategorie, příjmy, náklady, položka',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'currencies' => [
 | 
			
		||||
        'description'       => 'Vytvářejte a spravujte měny a nastavte kurzy',
 | 
			
		||||
        'description'                   => 'Vytvářejte a spravujte měny a nastavte kurzy',
 | 
			
		||||
        'search_keywords'               => 'výchozí, měna, měny, kód, kurz, symbol, přesnost, pozice, desetinná místa, tisíce, destiná čárka, oddělovač tisíců',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'taxes' => [
 | 
			
		||||
        'description'       => 'Pevné, normální, inkluzivní a složené daňové sazby',
 | 
			
		||||
        'description'                   => 'Pevné, normální, inkluzivní a složené daňové sazby',
 | 
			
		||||
        'search_keywords'               => 'daň, sazba, typ, pevná, zahrnující, složená, srážka',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -9,4 +9,12 @@ return [
 | 
			
		||||
    'compound'              => 'Složená daň',
 | 
			
		||||
    'fixed'                 => 'Pevné',
 | 
			
		||||
    'withholding'           => 'Srážková daň u zdroje',
 | 
			
		||||
    'no_taxes'              => 'Žádné daně',
 | 
			
		||||
    'create_task'           => 'Vytvořte novou daň a kdykoliv upravte v nastavení.',
 | 
			
		||||
    'new_tax'               => 'Nová daň',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Inkluzivní daň je vypočtena na cenu položky. Složená daň je vypočítána navíc k ostatním daním. Pevná daň se používá jako částka, nikoli procento.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								resources/lang/cs-CZ/transactions.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								resources/lang/cs-CZ/transactions.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'payment_received'      => 'Platba přijata',
 | 
			
		||||
    'payment_made'          => 'Platba vytvořena',
 | 
			
		||||
    'paid_by'               => 'Zaplaceno od',
 | 
			
		||||
    'paid_to'               => 'Zaplaceno',
 | 
			
		||||
    'related_invoice'       => 'Související faktura',
 | 
			
		||||
    'related_bill'          => 'Související přijatá faktura',
 | 
			
		||||
    'recurring_income'      => 'Opakované příjmy',
 | 
			
		||||
    'recurring_expense'     => 'Opakované výdaje',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Zde můžete zadat obecné informace o transakcích, jako je datum, částka, účet, popis, atd.',
 | 
			
		||||
        'assign_income'     => 'Vyberte kategorii a zákazníka, aby vaše reporty byly podrobnější.',
 | 
			
		||||
        'assign_expense'    => 'Vyberte kategorii a dodavatele pro podrobnější přehledy.',
 | 
			
		||||
        'other'             => 'Zadejte číslo a odkaz pro zachování transakce propojené s vašimi záznamy.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'slider' => [
 | 
			
		||||
        'create'            => ':user vytvořil tuto transakci dne :date',
 | 
			
		||||
        'attachments'       => 'Stáhnout soubory připojené k této transakci',
 | 
			
		||||
        'create_recurring'  => ':user vytvořil tuto opakovanou šablonu dne :date',
 | 
			
		||||
        'schedule'          => 'Opakovat každý :interval :frequency od :date',
 | 
			
		||||
        'children'          => ':count transakcí bylo vytvořeno automaticky',
 | 
			
		||||
        'transfer_headline' => '<div> <span class="font-bold"> Od: </span> :from_account </div> <div> <span class="font-bold"> na: </span> :to_account </div>',
 | 
			
		||||
        'transfer_desc'     => 'Převod vytvořen :date.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'share' => [
 | 
			
		||||
        'income' => [
 | 
			
		||||
            'show_link'     => 'Váš zákazník může zobrazit transakci na tomto odkazu',
 | 
			
		||||
            'copy_link'     => 'Zkopírujte odkaz a sdílejte jej se svým zákazníkem.',
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'expense' => [
 | 
			
		||||
            'show_link'     => 'Váš dodavatel může zobrazit transakci na tomto odkazu',
 | 
			
		||||
            'copy_link'     => 'Zkopírujte odkaz a sdílejte jej s vaším dodavatelem.',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'sticky' => [
 | 
			
		||||
        'description'       => 'Prohlížíte, jak bude Váš zákazník vidět webovou verzi vaší platby.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -2,11 +2,33 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'details'               => 'Detail|Detaily',
 | 
			
		||||
 | 
			
		||||
    'from_account'          => 'Z účtu',
 | 
			
		||||
    'to_account'            => 'Na účet',
 | 
			
		||||
    'from_rate'             => 'Od hodnoty',
 | 
			
		||||
    'to_rate'               => 'Do hodnoty',
 | 
			
		||||
    'from_account_rate'     => 'Z podílu účtu',
 | 
			
		||||
    'to_account_rate'       => 'K podílu účtu',
 | 
			
		||||
    'from_amount'           => 'Od částky',
 | 
			
		||||
    'to_amount'             => 'Do částky',
 | 
			
		||||
    'issued_at'             => 'Datum vydání',
 | 
			
		||||
    'rate'                  => 'Sazba',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Převeďte peníze mezi účty s různými měnami a převeďte měnu pomocí libovolného kurzu.',
 | 
			
		||||
        'other'             => 'Vyberte způsob převodu jako platební metodu pro podrobnější přehledy.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
        'delete'            => ':from na :to (:amount)',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'slider' => [
 | 
			
		||||
        'create'            => ':user vytvořil tento převod dne :date',
 | 
			
		||||
        'transactions'      => 'Seznam transakcí souvisejících s tímto převodem',
 | 
			
		||||
        'transactions_desc' => ':number transakce pro :account',
 | 
			
		||||
        'attachments'       => 'Stáhnout soubory připojené k tomuto převodu',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ return [
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    'accepted' => ':attribute musí být přijat.',
 | 
			
		||||
    'accepted_if' => ':attribute musí být přijat, pokud :other je :value.',
 | 
			
		||||
    'active_url' => ':attribute není platná URL adresa.',
 | 
			
		||||
    'after' => ':attribute musí být datum po :date.',
 | 
			
		||||
    'after_or_equal' => ':attribute musí být datum po nebo rovné :date.',
 | 
			
		||||
@@ -24,10 +25,10 @@ return [
 | 
			
		||||
    'before' => ':attribute musí být datum před :date.',
 | 
			
		||||
    'before_or_equal' => ':attribute musí být datum před nebo rovné :date.',
 | 
			
		||||
    'between' => [
 | 
			
		||||
        'numeric' => ':attribute musí být hodnota mezi :min a :max.',
 | 
			
		||||
        'file' => ':attribute musí být větší než :min a menší než :max kilobytů.',
 | 
			
		||||
        'string' => ':attribute musí být delší než :min a kratší než :max znaků.',
 | 
			
		||||
        'array' => ':attribute musí obsahovat nejméně :min a nesmí obsahovat více než :max prvků.',
 | 
			
		||||
        'file' => ':attribute musí být větší než :min a menší než :max kilobytů.',
 | 
			
		||||
        'numeric' => ':attribute musí být hodnota mezi :min a :max.',
 | 
			
		||||
        'string' => ':attribute musí být delší než :min a kratší než :max znaků.',
 | 
			
		||||
    ],
 | 
			
		||||
    'boolean' => ':attribute musí být true nebo false.',
 | 
			
		||||
    'confirmed' => 'Potvrzení :attribute nesouhlasí.',
 | 
			
		||||
@@ -35,27 +36,31 @@ return [
 | 
			
		||||
    'date' => ':attribute musí být platné datum.',
 | 
			
		||||
    'date_equals' => ':attribute musí být datum shodné s :date.',
 | 
			
		||||
    'date_format' => ':attribute není platný formát data podle :format.',
 | 
			
		||||
    'declined' => ':attribute musí být zamítnut.',
 | 
			
		||||
    'declined_if' => ':attribute musí být odmítnut, pokud :other je :value.',
 | 
			
		||||
    'different' => ':attribute a :other se musí <strong>lišit</strong>.',
 | 
			
		||||
    'digits' => ':attribute musí obsahovat :digits číslic.',
 | 
			
		||||
    'digits_between' => ':attribute musí být dlouhé nejméně :min a nejvíce :max pozic.',
 | 
			
		||||
    'dimensions' => 'Obrázek :attribute má neplatné rozměry.',
 | 
			
		||||
    'distinct' => ':attribute má duplicitní hodnotu.',
 | 
			
		||||
    'doesnt_start_with' => ':attribute nesmí začínat jedním z následujících :values.',
 | 
			
		||||
    'email' => ':attribute musí být platná <strong>e-mailová adresa</strong>.',
 | 
			
		||||
    'ends_with' => ':attribute musí končit jednou z následujících hodnot: :values',
 | 
			
		||||
    'enum' => 'Vybraný :attribute je neplatný.',
 | 
			
		||||
    'exists' => 'Zvolená hodnota pro :attribute není platná.',
 | 
			
		||||
    'file' => ':attribute musí být soubor <strong></strong>.',
 | 
			
		||||
    'filled' => ':attribute musí mít <strong>hodnotu</strong>.',
 | 
			
		||||
    'gt' => [
 | 
			
		||||
        'numeric' => ':attribute musí být větší než :value.',
 | 
			
		||||
        'file' => 'Velikost souboru :attribute musí být větší než :value kB.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být větší než :value.',
 | 
			
		||||
        'array' => 'Pole :attribute musí mít více prvků než :value.',
 | 
			
		||||
        'file' => 'Velikost souboru :attribute musí být větší než :value kB.',
 | 
			
		||||
        'numeric' => ':attribute musí být větší než :value.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být větší než :value.',
 | 
			
		||||
    ],
 | 
			
		||||
    'gte' => [
 | 
			
		||||
        'numeric' => ':attribute musí být větší nebo rovno :value.',
 | 
			
		||||
        'file' => 'Velikost souboru :attribute musí být větší nebo rovno :value kB.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být větší nebo rovno :value.',
 | 
			
		||||
        'array' => 'Pole :attribute musí mít :value prvků nebo více.',
 | 
			
		||||
        'file' => 'Velikost souboru :attribute musí být větší nebo rovno :value kB.',
 | 
			
		||||
        'numeric' => ':attribute musí být větší nebo rovno :value.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být větší nebo rovno :value.',
 | 
			
		||||
    ],
 | 
			
		||||
    'image' => ':attribute musí být obrázek <strong></strong>.',
 | 
			
		||||
    'in' => 'Zvolená hodnota pro :attribute je neplatná.',
 | 
			
		||||
@@ -66,54 +71,63 @@ return [
 | 
			
		||||
    'ipv6' => ':attribute musí být platná IPv6 adresa.',
 | 
			
		||||
    'json' => ':attribute není platný řetězec JSON.',
 | 
			
		||||
    'lt' => [
 | 
			
		||||
        'numeric' => ':attribute musí být menší než :value.',
 | 
			
		||||
        'file' => 'Velikost souboru :attribute musí být menší než :value kB.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být menší než :value.',
 | 
			
		||||
        'array' => 'Pole :attribute musí mít méně prvků než :value.',
 | 
			
		||||
        'file' => 'Velikost souboru :attribute musí být menší než :value kB.',
 | 
			
		||||
        'numeric' => ':attribute musí být menší než :value.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být menší než :value.',
 | 
			
		||||
    ],
 | 
			
		||||
    'lte' => [
 | 
			
		||||
        'numeric' => ':attribute musí být menší nebo rovno než :value.',
 | 
			
		||||
        'file' => ':attribute musí být menší nebo rovno než :value kB',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být menší nebo rovno než :value.',
 | 
			
		||||
        'array' => ':attribute nesmí obsahovat více než :value položek.',
 | 
			
		||||
        'file' => ':attribute musí být menší nebo rovno než :value kB',
 | 
			
		||||
        'numeric' => ':attribute musí být menší nebo rovno než :value.',
 | 
			
		||||
        'string' => 'Počet znaků :attribute musí být menší nebo rovno než :value.',
 | 
			
		||||
    ],
 | 
			
		||||
    'mac_address' => ':attribute musí být platná MAC adresa.',
 | 
			
		||||
    'max' => [
 | 
			
		||||
        'numeric' => ':attribute musí být nižší než :max.',
 | 
			
		||||
        'file' => ':attribute musí být menší než :max kilobytů.',
 | 
			
		||||
        'string' => ':attribute musí být kratší než :max znaků.',
 | 
			
		||||
        'array' => ':attribute nesmí obsahovat více než :max prvků.',
 | 
			
		||||
        'file' => ':attribute musí být menší než :max kilobytů.',
 | 
			
		||||
        'numeric' => ':attribute musí být nižší než :max.',
 | 
			
		||||
        'string' => ':attribute musí být kratší než :max znaků.',
 | 
			
		||||
    ],
 | 
			
		||||
    'mimes' => ':attribute není soubor jednoho z následujících typů :values.',
 | 
			
		||||
    'mimetypes' => ':attribute není soubor jednoho z následujících typů :values.',
 | 
			
		||||
    'min' => [
 | 
			
		||||
        'numeric' => ':attribute musí být větší než :min.',
 | 
			
		||||
        'file' => ':attribute musí být větší než :min kilobytů.',
 | 
			
		||||
        'string' => ':attribute musí být delší než :min znaků.',
 | 
			
		||||
        'array' => ':attribute musí obsahovat více než :min prvků.',
 | 
			
		||||
        'file' => ':attribute musí být větší než :min kilobytů.',
 | 
			
		||||
        'numeric' => ':attribute musí být větší než :min.',
 | 
			
		||||
        'string' => ':attribute musí být delší než :min znaků.',
 | 
			
		||||
    ],
 | 
			
		||||
    'multiple_of' => ':attribute musí být násobek :value.',
 | 
			
		||||
    'not_in' => 'Zvolená hodnota pro :attribute je neplatná.',
 | 
			
		||||
    'not_regex' => 'Formát :attribute je neplatný.',
 | 
			
		||||
    'numeric' => ':attribute musí být číslo.',
 | 
			
		||||
    'password' => 'Zadané heslo není správné.',
 | 
			
		||||
    'password' => [
 | 
			
		||||
        'letters' => ':attribute musí obsahovat alespoň jedno písmeno.',
 | 
			
		||||
        'mixed' => ':attribute musí obsahovat alespoň jedno velké písmeno a jedno malé písmeno.',
 | 
			
		||||
        'numbers' => ':attribute musí obsahovat alespoň jedno číslo.',
 | 
			
		||||
        'symbols' => ':attribute musí obsahovat alespoň jeden symbol.',
 | 
			
		||||
        'uncompromised' => 'Uvedený :attribute se objevil v úniku dat. Zvolte prosím jiný :attribute.',
 | 
			
		||||
    ],
 | 
			
		||||
    'present' => ':attribute políčko musí být <strong>vyplněno</strong>.',
 | 
			
		||||
    'prohibited' => 'Pole :attribute je zakázáno.',
 | 
			
		||||
    'prohibited_if' => ':attribute je zakázáno pokud :other je :value.',
 | 
			
		||||
    'prohibited_unless' => ':attribute je zakázáno pokud :other není v :values.',
 | 
			
		||||
    'prohibits' => 'Pole :attribute zakazuje :other být přítomno.',
 | 
			
		||||
    'regex' => 'Formát :attribute je <strong>neplatný</strong>.',
 | 
			
		||||
    'required' => ':attribute musí být <strong>vyplněno</strong>.',
 | 
			
		||||
    'required_array_keys' => ':attribute musí obsahovat záznamy pro: :values.',
 | 
			
		||||
    'required_if' => ':attribute musí být vyplněno pokud :other je :value.',
 | 
			
		||||
    'required_unless' => ':attribute musí být vyplněno pokud :other není :values.',
 | 
			
		||||
    'required_with' => ':attribute musí být vyplněno pokud :values je vyplněno.',
 | 
			
		||||
    'required_with_all' => ':attribute musí být vyplněno pokud je vyplněno :values.',
 | 
			
		||||
    'required_without' => ':attribute musí být vyplněno pokud :values není vyplněno.',
 | 
			
		||||
    'required_without_all' => ':attribute musí být vyplněno pokud není žádné z :values zvoleno.',
 | 
			
		||||
    'prohibited' => 'Pole :attribute je zakázáno.',
 | 
			
		||||
    'prohibited_if' => ':attribute je zakázáno pokud :other je :value.',
 | 
			
		||||
    'prohibited_unless' => ':attribute je zakázáno pokud :other není v :values.',
 | 
			
		||||
    'same' => ':attribute a :other se musí shodovat.',
 | 
			
		||||
    'size' => [
 | 
			
		||||
        'numeric' => ':attribute musí být přesně :size.',
 | 
			
		||||
        'file' => ':attribute musí mít přesně :size kilobytů.',
 | 
			
		||||
        'string' => ':attribute musí být dlouhý <strong>:size znaků</strong>.',
 | 
			
		||||
        'array' => ':attribute musí obsahovat právě :size prvků.',
 | 
			
		||||
        'file' => ':attribute musí mít přesně :size kilobytů.',
 | 
			
		||||
        'numeric' => ':attribute musí být přesně :size.',
 | 
			
		||||
        'string' => ':attribute musí být dlouhý <strong>:size znaků</strong>.',
 | 
			
		||||
    ],
 | 
			
		||||
    'starts_with' => ':attribute musí začínat jednou z těchto hodnot: :values.',
 | 
			
		||||
    'string' => ':attribute musí být <strong>řetězec</strong>.',
 | 
			
		||||
@@ -141,6 +155,7 @@ return [
 | 
			
		||||
        'invalid_currency'      => 'Kód :attribute není platný.',
 | 
			
		||||
        'invalid_amount'        => 'Zvolená hodnota pro :attribute je neplatná.',
 | 
			
		||||
        'invalid_extension'     => 'Přípona souboru je neplatná.',
 | 
			
		||||
        'invalid_dimension'     => ':attribute musí mít maximálně :width x :height px.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								resources/lang/cs-CZ/vendors.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								resources/lang/cs-CZ/vendors.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Kontaktní informace vašeho dodavatele se zobrazí v účtech a jejich profilech. V účtech můžete přidat jejich kontaktní údaje a jejich logo.',
 | 
			
		||||
        'billing'           => 'Daňové číslo se zobrazí v každém Vámi vystaveném účtu. Vybraná měna se stává výchozí měnou tohoto dodavatele.',
 | 
			
		||||
        'address'           => 'Adresa je vyžadována pro účty, takže je třeba přidat fakturační údaje pro vašeho dodavatele.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
        'bills'             => 'Pro tohoto dodavatele zatím neexistuje žádná faktura. Vytvořte novou.',
 | 
			
		||||
        'transactions'      => 'Pro tohoto dodavatele zatím není žádná transakce. Nyní vytvořte novou.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -2,23 +2,33 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'currencies'                => 'Měny',
 | 
			
		||||
    'total_income'              => 'Celkové příjmy',
 | 
			
		||||
    'receivables'               => 'Pohledávky',
 | 
			
		||||
    'open_invoices'             => 'Otevřené faktury',
 | 
			
		||||
    'overdue_invoices'          => 'Faktury po splatnosti',
 | 
			
		||||
    'total_expenses'            => 'Celkové výdaje',
 | 
			
		||||
    'payables'                  => 'Závazky',
 | 
			
		||||
    'open_bills'                => 'Otevřené faktury',
 | 
			
		||||
    'overdue_bills'             => 'Faktury po splatnosti',
 | 
			
		||||
    'total_profit'              => 'Celkový zisk',
 | 
			
		||||
    'open_profit'               => 'Otevřený zisk',
 | 
			
		||||
    'overdue_profit'            => 'Zisk po splatnosti',
 | 
			
		||||
    'cash_flow'                 => 'Peněžní tok',
 | 
			
		||||
    'no_profit_loss'            => 'Bez ztráty zisku',
 | 
			
		||||
    'income_by_category'        => 'Příjmy podle kategorie',
 | 
			
		||||
    'profit_loss'               => 'Zisk a ztráta',
 | 
			
		||||
    'expenses_by_category'      => 'Výdaje podle kategorie',
 | 
			
		||||
    'account_balance'           => 'Zůstatek na účtu',
 | 
			
		||||
    'latest_income'             => 'Nejnovější příjmy',
 | 
			
		||||
    'latest_expenses'           => 'Nejnovější výdaje',
 | 
			
		||||
    'bank_feeds'                => 'Připojit bankovní účty',
 | 
			
		||||
    'currencies'                => 'Měny',
 | 
			
		||||
 | 
			
		||||
    'view_report'               => 'Zobrazit report',
 | 
			
		||||
    'total_unpaid_invoices'     => 'Nezaplacené faktury celkem',
 | 
			
		||||
    'total_unpaid_bills'        => 'Celkové nezaplacené přijaté faktury',
 | 
			
		||||
 | 
			
		||||
    'description' => [
 | 
			
		||||
        'receivables'           => 'Částka, kterou ještě obdržíte od vašich zákazníků',
 | 
			
		||||
        'payables'              => 'Částka, kterou ještě musíte zaplatit svým dodavatelům',
 | 
			
		||||
        'cash_flow'             => 'Pžíchozí a odchozí hotovost',
 | 
			
		||||
        'profit_loss'           => 'Výnosy a náklady včetně nezaplacených faktur a účtů',
 | 
			
		||||
        'expenses_by_category'  => 'Nejvyšší výdaje v různých kategoriích',
 | 
			
		||||
        'account_balance'       => 'Aktuální zůstatek Vašich bankovních účtů',
 | 
			
		||||
        'bank_feeds'            => 'Automaticky importovat vaše transakce do Akaunting </br>propojením vašich bankovních účtů',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'periods' => [
 | 
			
		||||
        'overdue_1_30'          => '1–30 dnů po splatnosti',
 | 
			
		||||
        'overdue_30_60'         => '30–60 dnů po splatnosti',
 | 
			
		||||
        'overdue_60_90'         => '60–90 dnů po splatnosti',
 | 
			
		||||
        'overdue_90_un'         => 'více jak 90 dnů po splatnosti',
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -20,4 +20,7 @@ return [
 | 
			
		||||
        'unreconcile'   => 'Er du sikker på du vil fjerne <b>afstemningen</b> på den valgte post?|Er du sikker på du vil fjerne <b>afstemningen</b> på de valgte poster?',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'success' => [
 | 
			
		||||
        'general'       => ':count registrer :type.',
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ return [
 | 
			
		||||
    'default_account'       => 'Standardkonto',
 | 
			
		||||
    'incoming'              => 'Eingehende',
 | 
			
		||||
    'outgoing'              => 'Ausgehende',
 | 
			
		||||
    'see_performance'       => 'Einkommen vs Ausgaben',
 | 
			
		||||
    'see_performance'       => 'Einnahmen / Ausgaben',
 | 
			
		||||
    'create_report'         => 'Wenn Sie die Einnahmen vs Ausgaben für dieses Konto sehen möchten, können Sie eine Bericht-Instanz erstellen.',
 | 
			
		||||
    'banks'                 => 'Bank|Banken',
 | 
			
		||||
    'credit_cards'          => 'Kreditkarte|Kreditkarten',
 | 
			
		||||
@@ -24,8 +24,8 @@ return [
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
        'transactions'      => 'Es gibt noch keine Transaktionen auf diesem Konto. Erfassen Sie jetzt eine neue.',
 | 
			
		||||
        'transfers'         => 'Es gibt noch keine Überweisung nach/von diesem Konto. Erfassen Sie jetzt eine neue.',
 | 
			
		||||
        'transactions'      => 'Es gibt noch keine Transaktionen nach/von diesem Konto. Erstellen Sie jetzt eine neue.',
 | 
			
		||||
        'transfers'         => 'Es gibt noch keine Umbuchungen zu diesem Konto. Erfassen Sie jetzt eine neue Umbuchung.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@ return [
 | 
			
		||||
    'can_login'                 => 'Login erlauben?',
 | 
			
		||||
    'can_login_description'     => 'Senden Sie diesem Benutzer eine Einladung, sich im Client Portal anzumelden.',
 | 
			
		||||
    'user_created'              => 'Benutzer angelegt',
 | 
			
		||||
    'client_portal_description' => 'Das Kundenportal ist ein Umfeld, in dem Sie Transaktionen und Rechnungen mit Ihren Kunden teilen können, wo Sie Beziehungen zu Ihrem Unternehmen verfolgen, bezahlen. Sie können sich jederzeit mit ihrem Passwort anmelden.',
 | 
			
		||||
    'client_portal_description' => 'Das Kundenportal bietet Ihren Kunden eine Übersicht aller Beziehungen zu Ihrem Unternehmen. Nach der Anmeldung kann der Kunde alle Transaktionen und Rechnungen einsehen und bezahlen.',
 | 
			
		||||
 | 
			
		||||
    'error' => [
 | 
			
		||||
        'email'                 => 'Diese Email ist bereits in Benutzung.',
 | 
			
		||||
@@ -17,7 +17,7 @@ return [
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'               => 'Die Kontaktinformationen Ihres Kunden werden in Rechnungen und deren Profilen angezeigt. Sie können Ihren Kunden auch erlauben, sich einzuloggen, um die Rechnungen zu verfolgen, die Sie ihnen gesendet haben, indem Sie das Kästchen unten anklicken.',
 | 
			
		||||
        'general'               => 'Die Kontaktinformationen des Kunden werden in Rechnungen und Profilen angezeigt. Sie können Ihren Kunden erlauben, sich anzumelden, um ausgestellte Rechnungen zu verfolgen.',
 | 
			
		||||
        'billing'               => 'Die Steuernummer erscheint in jeder an den Kunden ausgestellten Rechnung. Die ausgewählte Währung wird zur Standardwährung für diesen Kunden.',
 | 
			
		||||
        'address'               => 'Die Adresse wird für die Rechnungen benötigt, daher müssen Sie die genaue Rechnungsadresse für Ihren Kunden angeben.',
 | 
			
		||||
    ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@ return [
 | 
			
		||||
    'reports' => [
 | 
			
		||||
        'income'            => 'Monatliche Zusammenfassung der Einnahmen nach Kategorie.',
 | 
			
		||||
        'expense'           => 'Monatliche Zusammenfassung der Ausgaben nach Kategorie.',
 | 
			
		||||
        'income_expense'    => 'Monatlicher Vergleich Einkommen vs Ausgaben nach Kategorie.',
 | 
			
		||||
        'income_expense'    => 'Monatlicher Vergleich Einnahmen / Ausgaben nach Kategorie.',
 | 
			
		||||
        'tax'               => 'Vierteljährliche Steuerzusammenfassung.',
 | 
			
		||||
        'profit_loss'       => 'Quartalsweise Gewinn & Verlust nach Kategorie.',
 | 
			
		||||
    ],
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ return [
 | 
			
		||||
    'due_date'              => 'Fälligkeitsdatum',
 | 
			
		||||
    'order_number'          => 'Bestellnummer',
 | 
			
		||||
    'bill_to'               => 'Rechnung an',
 | 
			
		||||
    'cancel_date'           => 'Datum abbrechen',
 | 
			
		||||
    'cancel_date'           => 'Storniert am',
 | 
			
		||||
 | 
			
		||||
    'quantity'              => 'Menge',
 | 
			
		||||
    'price'                 => 'Preis',
 | 
			
		||||
 
 | 
			
		||||
@@ -10,15 +10,15 @@ return [
 | 
			
		||||
    'previous_quarter'              => 'Letztes Quartal',
 | 
			
		||||
    'last_12_months'                => 'Die letzten 12 Monate',
 | 
			
		||||
    'profit_loss'                   => 'Gewinn & Verlust',
 | 
			
		||||
    'income_summary'                => 'Einkommensübersicht',
 | 
			
		||||
    'income_summary'                => 'Einnahmenübersicht',
 | 
			
		||||
    'expense_summary'               => 'Ausgabenübersicht',
 | 
			
		||||
    'income_expense_summary'        => 'Einkommen vs Ausgaben',
 | 
			
		||||
    'income_expense_summary'        => 'Einnahmen / Ausgaben',
 | 
			
		||||
    'tax_summary'                   => 'Steuerzusammenfassung',
 | 
			
		||||
    'gross_profit'                  => 'Bruttoertrag',
 | 
			
		||||
    'net_profit'                    => 'Reingewinn',
 | 
			
		||||
    'total_expenses'                => 'Gesamtausgaben',
 | 
			
		||||
    'net'                           => 'Netto',
 | 
			
		||||
    'income_expense'                => 'Einkommen vs Ausgaben',
 | 
			
		||||
    'income_expense'                => 'Einnahmen & Ausgaben',
 | 
			
		||||
    'pin'                           => 'Bericht anheften',
 | 
			
		||||
 | 
			
		||||
    'income_expense_description'    => 'Erhalten Sie einen Überblick über Ihre Einnahmen und Ausgaben.',
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ return [
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Hier können Sie die allgemeinen Transaktionsinformationen wie Datum, Betrag, Konto, Beschreibung usw. eingeben.',
 | 
			
		||||
        'assign_income'     => 'Wählen Sie eine Kategorie und einen Kunden aus, um Ihre Berichte detaillierter zu gestalten.',
 | 
			
		||||
        'assign_expense'    => 'Wählen Sie eine Kategorie und einen Kreditor, um Ihre Berichte detaillierter zu gestalten.',
 | 
			
		||||
        'assign_expense'    => 'Wählen Sie eine Kategorie und einen Lieferanten, um Ihre Berichte detaillierter zu gestalten.',
 | 
			
		||||
        'other'             => 'Geben Sie eine Referenz ein, um die Transaktion mit Ihren Datensätzen zu verknüpfen.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
@@ -35,8 +35,8 @@ return [
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'expense' => [
 | 
			
		||||
            'show_link'     => 'Ihr Kreditor kann die Transaktion unter diesem Link ansehen',
 | 
			
		||||
            'copy_link'     => 'Kopieren Sie den Link und teilen Sie ihn mit Ihrem Kreditor.',
 | 
			
		||||
            'show_link'     => 'Ihr Lieferant kann die Transaktion unter diesem Link ansehen',
 | 
			
		||||
            'copy_link'     => 'Kopieren und teilen Sie den Link mit Ihrem Lieferanten.',
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,14 +3,14 @@
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Hier können Sie alle Kontaktinformationen zum Kreditor hinzufügen, z.B. die Adresse oder/und das Logo',
 | 
			
		||||
        'billing'           => 'Die Steuernummer erscheint auf jeder ausgestellten Rechnung. Die ausgewählte Währung wird zur Standardwährung für diesen Kreditor.',
 | 
			
		||||
        'address'           => 'Die Adresse wird für die Rechnungen benötigt, daher müssen Sie die Rechnungsadresse für den Kreditor hinzufügen.',
 | 
			
		||||
        'general'           => 'Die Kontaktinformationen Ihres Lieferanten werden in Rechnungen und Profilen angezeigt. Sie können die Kontaktinformationen und das Logo des Lieferanten hinzufügen.',
 | 
			
		||||
        'billing'           => 'Die Steuernummer erscheint auf jeder Eingangsrechnung. Die ausgewählte Währung wird zur Standardwährung für diesen Lieferanten.',
 | 
			
		||||
        'address'           => 'Eine Rechnungsadresse ist für das Erfassen von Eingangsrechnungen erforderlich. Bitte ergänzen Sie die Rechnungsadresse des Lieferanten.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
        'bills'             => 'Sie haben noch keine Rechnung von diesem Kreditor erhalten. Erfassen Sie jetzt eine neue Rechnung.',
 | 
			
		||||
        'transactions'      => 'Es gibt noch keine Transaktionen zu diesem Kreditor. Erfassen Sie jetzt eine neue.',
 | 
			
		||||
        'bills'             => 'Sie haben noch keine Rechnung von diesem Lieferanten erhalten. Erfassen Sie jetzt eine neue Rechnung.',
 | 
			
		||||
        'transactions'      => 'Es gibt noch keine Transaktionen zu diesem Lieferanten. Erfassen Sie jetzt eine neue Transaktion.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -11,17 +11,17 @@ return [
 | 
			
		||||
    'bank_feeds'                => 'Bankkonten verbinden',
 | 
			
		||||
    'currencies'                => 'Währungen',
 | 
			
		||||
 | 
			
		||||
    'view_report'               => 'Bericht Anzeigen',
 | 
			
		||||
    'total_unpaid_invoices'     => 'Gesamte unbezahlte Rechnungen (Debitoren)',
 | 
			
		||||
    'total_unpaid_bills'        => 'Gesamte unbezahlte Rechnungen (Kreditoren)',
 | 
			
		||||
    'view_report'               => 'Bericht anzeigen',
 | 
			
		||||
    'total_unpaid_invoices'     => 'Gesamtbetrag offener Ausgangsrechnungen',
 | 
			
		||||
    'total_unpaid_bills'        => 'Gesamtbetrag offener Eingangsrechnungen',
 | 
			
		||||
 | 
			
		||||
    'description' => [
 | 
			
		||||
        'receivables'           => 'Betrag, den Sie noch von Ihren Kunden erhalten müssen',
 | 
			
		||||
        'payables'              => 'Betrag, den Sie noch an Ihre Kreditoren bezahlen müssen',
 | 
			
		||||
        'cash_flow'             => 'Bargeld, das in Ihr Unternehmen ein- und ausgeht',
 | 
			
		||||
        'profit_loss'           => 'Einnahmen und Ausgaben einschließlich unbezahlter Rechnungen',
 | 
			
		||||
        'expenses_by_category'  => 'Top-Ausgaben in verschiedenen Kategorien',
 | 
			
		||||
        'account_balance'       => 'Aktueller Kontostand Ihrer Bankkonten',
 | 
			
		||||
        'receivables'           => 'Ausstehende Einnahmen, die Ihnen Ihre Kunden schulden.',
 | 
			
		||||
        'payables'              => 'Ausstehende Ausgaben, die Sie Ihren Lieferanten schulden.',
 | 
			
		||||
        'cash_flow'             => 'Zahlungseingänge und -ausgänge in Ihrem Unternehmen.',
 | 
			
		||||
        'profit_loss'           => 'Einnahmen und Ausgaben, einschließlich unbezahlter Rechnungen.',
 | 
			
		||||
        'expenses_by_category'  => 'Höchste Ausgaben in verschiedenen Kategorien.',
 | 
			
		||||
        'account_balance'       => 'Aktueller Kontostand Ihrer Bankkonten.',
 | 
			
		||||
        'bank_feeds'            => 'Importieren Sie Ihre Transaktionen automatisch in Akaunting, </br>indem Sie Ihre Bankkonten verbinden',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,12 @@ return [
 | 
			
		||||
    'billing'                   => 'Billing',
 | 
			
		||||
    'advanced'                  => 'Advanced',
 | 
			
		||||
 | 
			
		||||
    'item_price_hidden'         => 'This column is hidden on your :type.',
 | 
			
		||||
 | 
			
		||||
    'actions' => [
 | 
			
		||||
        'cancel'                => 'Cancel',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_detail' => [
 | 
			
		||||
        'marked'                => '<b>You</b> marked this invoice as',
 | 
			
		||||
        'services'              => 'Services',
 | 
			
		||||
@@ -83,4 +89,5 @@ return [
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'empty_attachments'         => 'There are no files attached to this :type.',
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -72,6 +72,7 @@ return [
 | 
			
		||||
    'attachments'           => 'Attachment|Attachments',
 | 
			
		||||
    'histories'             => 'History|Histories',
 | 
			
		||||
    'your_notifications'    => 'Your notification|Your notifications',
 | 
			
		||||
    'employees'             => 'Employee|Employees',
 | 
			
		||||
 | 
			
		||||
    'welcome'               => 'Welcome',
 | 
			
		||||
    'banking'               => 'Banking',
 | 
			
		||||
@@ -228,6 +229,9 @@ return [
 | 
			
		||||
    'preview_mode'          => 'Preview Mode',
 | 
			
		||||
    'go_back'               => 'Go back to :type',
 | 
			
		||||
    'validation_error'      => 'Validation error',
 | 
			
		||||
    'dismiss'               => 'Dismiss',
 | 
			
		||||
    'size'                  => 'Size',
 | 
			
		||||
    'media'                 => 'Media',
 | 
			
		||||
 | 
			
		||||
    'card' => [
 | 
			
		||||
        'cards'                 => 'Card|Cards',
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ return [
 | 
			
		||||
    'send_invoice'          => 'Send Invoice',
 | 
			
		||||
    'get_paid'              => 'Get Paid',
 | 
			
		||||
    'accept_payments'       => 'Accept Online Payments',
 | 
			
		||||
    'payment_received'      => 'Payment received',
 | 
			
		||||
    'payments_received'     => 'Payments received',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'billing'           => 'Billing details appear in your invoice. Invoice Date is used in the dashboard and reports. Select the date you expect to get paid as the Due Date.',
 | 
			
		||||
@@ -50,6 +50,8 @@ return [
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
        'email_required'    => 'No email address for this customer!',
 | 
			
		||||
        'totals_required'   => 'Invoice totals are required Please edit the :type and save it again.',
 | 
			
		||||
 | 
			
		||||
        'draft'             => 'This is a <b>DRAFT</b> invoice and will be reflected to charts after it gets sent.',
 | 
			
		||||
 | 
			
		||||
        'status' => [
 | 
			
		||||
@@ -63,6 +65,8 @@ return [
 | 
			
		||||
                'await'     => 'Awaiting payment',
 | 
			
		||||
            ],
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'name_or_description_required' => 'Your invoice must show at least one of the <b>:name</b> or <b>:description</b>.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'slider' => [
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,8 @@ return [
 | 
			
		||||
        'not_user_company'  => 'Error: You are not allowed to manage this company!',
 | 
			
		||||
        'customer'          => 'Error: User not created! :name already uses this email address.',
 | 
			
		||||
        'no_file'           => 'Error: No file selected!',
 | 
			
		||||
        'last_category'     => 'Error: Can not delete the last :type category!',
 | 
			
		||||
        'last_category'     => 'Error: Can not delete the last <b>:type</b> category!',
 | 
			
		||||
        'transfer_category' => 'Error: Can not delete the transfer <b>:type</b> category!',
 | 
			
		||||
        'change_type'       => 'Error: Can not change the type because it has :text related!',
 | 
			
		||||
        'invalid_apikey'    => 'Error: The API Key entered is invalid!',
 | 
			
		||||
        'import_column'     => 'Error: :message Column name: :column. Line number: :line.',
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,6 @@ return [
 | 
			
		||||
    'billed_once'           => 'Billed Once',
 | 
			
		||||
    'save_year'             => 'You save <strong>:price</strong> a year!',
 | 
			
		||||
    'if_paid_year'          => 'Or <strong>:price/mo</strong> if paid yearly',
 | 
			
		||||
    'information_monthly'   => 'This option is valid only for <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>Cloud Service</strong></a>',
 | 
			
		||||
    'install'               => 'Install',
 | 
			
		||||
    'buy_now'               => 'Buy Now',
 | 
			
		||||
    'get_api_key'           => '<a href=":url" target="_blank" class="text-green">Click here</a> to get your API key.',
 | 
			
		||||
@@ -50,6 +49,8 @@ return [
 | 
			
		||||
    'get_premium_cloud'     => 'Get Premium Cloud',
 | 
			
		||||
    'switch_to_cloud'       => 'Switch to Cloud',
 | 
			
		||||
    'hosted_on_akaunting'   => 'Hosted on akaunting.com',
 | 
			
		||||
    'information_on_preme'  => ':period option is available only on <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>Cloud.</strong></a>',
 | 
			
		||||
    'information_monthly'   => 'This option is valid only for <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>Cloud Service</strong></a>',
 | 
			
		||||
    'only_works_cloud'      => 'This app is available only on <strong>Cloud</strong>.',
 | 
			
		||||
    'only_premium_plan'     => 'This app is available only on <strong>Premium Cloud</strong>.',
 | 
			
		||||
    'not_found'             => 'No app found',
 | 
			
		||||
 
 | 
			
		||||
@@ -63,6 +63,17 @@ return [
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'email' => [
 | 
			
		||||
 | 
			
		||||
        'invalid' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Invalid :type Email',
 | 
			
		||||
            'description'   => 'The :email email address has been reported as invalid, and the person has been disabled. Please check the following error message and fix the email address:',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'menu' => [
 | 
			
		||||
 | 
			
		||||
        'export_completed' => [
 | 
			
		||||
@@ -88,7 +99,7 @@ return [
 | 
			
		||||
 | 
			
		||||
        'import_failed' => [
 | 
			
		||||
 | 
			
		||||
            'subject'       => 'Import failed',
 | 
			
		||||
            'title'         => 'Import failed',
 | 
			
		||||
            'description'   => 'Not able to import the file due to several issues. Check out your email for the details.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
@@ -177,6 +188,13 @@ return [
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invalid_email' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Invalid :type Email',
 | 
			
		||||
            'description'   => 'The <strong>:email</strong> email address has been reported as invalid, and the person has been disabled. Please check and fix the email address.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,7 @@ return [
 | 
			
		||||
    'child'                 => ':url was automatically created on :date',
 | 
			
		||||
    'message'               => 'This is a recurring :type and the next :type will be automatically generated on :date',
 | 
			
		||||
    'message_parent'        => 'This :type was automatically generated from :link',
 | 
			
		||||
    'send_email_auto'       => 'Send email automatically',
 | 
			
		||||
 | 
			
		||||
    'frequency_type'        => 'Repeat this :type',
 | 
			
		||||
    'limit_date'            => 'Create first :type on',
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'account_name'          => 'نام حساب',
 | 
			
		||||
    'account_balance'       => 'موجودی حساب',
 | 
			
		||||
    'number'                => 'شماره حساب',
 | 
			
		||||
    'opening_balance'       => 'موجودی حساب',
 | 
			
		||||
    'current_balance'       => 'موجودی',
 | 
			
		||||
@@ -14,5 +15,17 @@ return [
 | 
			
		||||
    'outgoing'              => 'خروجی',
 | 
			
		||||
    'see_performance'       => 'دیدن عملکرد',
 | 
			
		||||
    'create_report'         => 'اگر مایل هستید عملکرد حساب را ببینید. میتوانید نمونهای از گزارش ورودی نسب به خروجی ایجاد کنید.',
 | 
			
		||||
    'banks'                 => 'بانک|بانکها',
 | 
			
		||||
    'credit_cards'          => 'کارت اعتباری|کارتهای اعتباری',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'از کارت اعتباری برای موجودی منفی باز استفاده کنید. شماره برای تطبیق صحیح حساب ها ضروری است. اگر در غیر این صورت انتخاب نشده باشد، حساب پیش فرض تمام تراکنش ها را ثبت می کند.',
 | 
			
		||||
        'bank'              => 'ممکن است چندین حساب بانکی در بیش از یک بانک داشته باشید. ثبت اطلاعات مربوط به بانک شما، تطبیق تراکنش های داخل بانک را آسان تر می کند.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
        'transactions'      => 'هنوز هیچ تراکنشی در این حساب نیست. یک تراکنش جدید ایجاد کن.',
 | 
			
		||||
        'transfers'         => 'هنوز هیچ انتقالی از/به این حساب صورت نگرفته است. یک انتقال جدید ایجاد کن.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								resources/lang/fa-IR/categories.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								resources/lang/fa-IR/categories.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'collapse'              => 'بستن و جمع کردن',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'دسته بندی به شما کمک می کند اقلام، درآمدها، هزینه ها و سایر سوابق خود را طبقهبندی کنید.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'AF' => 'افغانستان',
 | 
			
		||||
    'AX' => 'جزایر آلاند',
 | 
			
		||||
    'AL' => 'آلبانی',
 | 
			
		||||
@@ -119,6 +120,7 @@ return [
 | 
			
		||||
    'KZ' => 'قزاقستان',
 | 
			
		||||
    'KE' => 'کنیا',
 | 
			
		||||
    'KI' => 'کیریباتی',
 | 
			
		||||
    'XK' => 'کوزوو',
 | 
			
		||||
    'KW' => 'کویت',
 | 
			
		||||
    'KG' => 'قرقیزستان',
 | 
			
		||||
    'LA' => 'لائوس',
 | 
			
		||||
@@ -250,4 +252,5 @@ return [
 | 
			
		||||
    'YE' => 'یمن',
 | 
			
		||||
    'ZM' => 'زامبیا',
 | 
			
		||||
    'ZW' => 'زیمبابوه',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -19,8 +19,8 @@ return [
 | 
			
		||||
    'credit_cards'          => 'Carte de Crédit|Cartes de Crédit',
 | 
			
		||||
 | 
			
		||||
    'form_description' => [
 | 
			
		||||
        'general'           => 'Utilisez le type de carte de crédit pour le solde d\'ouverture négatif. Le numéro est essentiel pour concilier les comptes correctement. Le compte par défaut enregistrera toutes les transactions si ce n\'est pas le cas.',
 | 
			
		||||
        'bank'              => 'Il se peut que vous ayez plusieurs comptes bancaires dans plusieurs banques. L\'enregistrement des informations sur votre banque facilitera la mise en correspondance des transactions au sein de votre banque.',
 | 
			
		||||
        'general'           => 'Le type "carte de crédit" doit être utilisé avec un solde d\'ouverture négatif. Le numéro de compte est essentiel pour permettre la réconciliation des comptes. Le compte par défaut enregistrera toutes les transactions, à moins qu\'un choix différent ne soit fait lors de l\'enregistrement d\'une transaction.',
 | 
			
		||||
        'bank'              => 'Il est possible que vous ayez plusieurs comptes bancaires dans différentes banques. L\'enregistrement des informations sur votre banque facilitera le rapprochement des transactions avec celle-ci.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'no_records' => [
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ return [
 | 
			
		||||
    'error' => [
 | 
			
		||||
        'self_delete'       => 'Erreur : Vous ne pouvez pas vous supprimer vous-même !',
 | 
			
		||||
        'self_disable'      => 'Erreur : Vous ne pouvez pas vous désactiver vous-même !',
 | 
			
		||||
        'unassigned'        => 'Erreur: La société :company ne peut pas être désassignée ! La société :company doit être assignée au moins un utilisateur.',
 | 
			
		||||
        'unassigned'        => 'Erreur: La société :company ne peut pas être désassignée ! La société :company doit être assignée à au moins un utilisateur.',
 | 
			
		||||
        'no_company'        => 'Erreur : Aucune entreprise associée à votre compte. Veuillez contacter votre administrateur système.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,12 @@ return [
 | 
			
		||||
    'billing'                   => 'Facturation',
 | 
			
		||||
    'advanced'                  => 'Avancé',
 | 
			
		||||
 | 
			
		||||
    'item_price_hidden'         => 'Cette colonne est cachée sur votre :type.',
 | 
			
		||||
 | 
			
		||||
    'actions' => [
 | 
			
		||||
        'cancel'                => 'Annuler',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice_detail' => [
 | 
			
		||||
        'marked'                => '<b> Vous </b> avez marqué cette facture comme',
 | 
			
		||||
        'services'              => 'Services',
 | 
			
		||||
@@ -83,4 +89,5 @@ return [
 | 
			
		||||
        ],
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'empty_attachments'         => 'Il n\'y a aucun fichier attaché à ce :type.',
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ return [
 | 
			
		||||
        '404'       => 'Nous n\'avons pas trouvé la page que vous cherchiez.',
 | 
			
		||||
        '500'       => 'Nous allons travailler à corriger cela tout de suite.',
 | 
			
		||||
        'record'    => 'Nous n\'avons pas pu trouver l\'enregistrement que vous cherchiez.',
 | 
			
		||||
        'amount'    => 'Ce compte est désactivé. Veuillez contacter l’administrateur système.',
 | 
			
		||||
        'amount'    => 'Cette page contient des montants invalides ! Veuillez contacter l’administrateur système.',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ return [
 | 
			
		||||
    'recurring_expenses'    => 'Dépense récurrente|Dépenses récurrentes',
 | 
			
		||||
    'bills'                 => 'Facture|Factures',
 | 
			
		||||
    'recurring_bills'       => 'Facture récurrente|Factures récurrentes',
 | 
			
		||||
    'vendors'               => 'Vendeur|Vendeurs',
 | 
			
		||||
    'vendors'               => 'Fournisseur|Fournisseurs',
 | 
			
		||||
    'accounts'              => 'Compte|Comptes',
 | 
			
		||||
    'transfers'             => 'Transfert|Transferts',
 | 
			
		||||
    'income_transfers'      => 'Transfert de revenus|Transferts de revenus',
 | 
			
		||||
@@ -72,6 +72,7 @@ return [
 | 
			
		||||
    'attachments'           => 'Pièce jointe|Pièces jointes',
 | 
			
		||||
    'histories'             => 'Historique|Historiques',
 | 
			
		||||
    'your_notifications'    => 'Votre notification|Vos notifications',
 | 
			
		||||
    'employees'             => 'Employé.e|Employé.e.s',
 | 
			
		||||
 | 
			
		||||
    'welcome'               => 'Bienvenue',
 | 
			
		||||
    'banking'               => 'Banque',
 | 
			
		||||
@@ -111,7 +112,7 @@ return [
 | 
			
		||||
    'delete_confirm'        => 'Valider la suppression de :name :type ?',
 | 
			
		||||
    'name'                  => 'Nom',
 | 
			
		||||
    'email'                 => 'Email',
 | 
			
		||||
    'tax_number'            => 'Numéro de taxe',
 | 
			
		||||
    'tax_number'            => 'SIRET',
 | 
			
		||||
    'phone'                 => 'Téléphone',
 | 
			
		||||
    'address'               => 'Adresse',
 | 
			
		||||
    'website'               => 'Site web',
 | 
			
		||||
@@ -228,6 +229,9 @@ return [
 | 
			
		||||
    'preview_mode'          => 'Mode Aperçu',
 | 
			
		||||
    'go_back'               => 'Revenir à :type',
 | 
			
		||||
    'validation_error'      => 'Erreur de validation',
 | 
			
		||||
    'dismiss'               => 'Masquer',
 | 
			
		||||
    'size'                  => 'Taille',
 | 
			
		||||
    'media'                 => 'Média',
 | 
			
		||||
 | 
			
		||||
    'card' => [
 | 
			
		||||
        'cards'                 => 'Carte|Cartes',
 | 
			
		||||
@@ -253,7 +257,7 @@ return [
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'form' => [
 | 
			
		||||
        'enter'             => 'Entrez :field',
 | 
			
		||||
        'enter'             => 'Entrez :field',
 | 
			
		||||
        'select' => [
 | 
			
		||||
            'field'         => '- Selectionner :field -',
 | 
			
		||||
            'file'          => 'Selectionner un fichier',
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ return [
 | 
			
		||||
        'customer'          => 'Erreur : Utilisateur non créé ! :name utilise déjà cette adresse email.',
 | 
			
		||||
        'no_file'           => 'Erreur : Aucun fichier sélectionné !',
 | 
			
		||||
        'last_category'     => 'Erreur : impossible de supprimer la dernière catégorie de type :type !',
 | 
			
		||||
        'transfer_category' => 'Erreur: Impossible de supprimer la catégorie de transfert <b>:type</b>!',
 | 
			
		||||
        'change_type'       => 'Erreur : Impossible de changer le type car il est lié à :text !',
 | 
			
		||||
        'invalid_apikey'    => 'Erreur : La clé API saisie n\'est pas valide !',
 | 
			
		||||
        'import_column'     => 'Erreur : :message Nom de la feuille : :sheet. Numéro de ligne : :line.',
 | 
			
		||||
@@ -35,8 +36,8 @@ return [
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'warning' => [
 | 
			
		||||
        'deleted'           => 'Avertissement : Vous n’êtes pas autorisé à supprimer <b>:name</b> parce qu’il est associé à :texte.',
 | 
			
		||||
        'disabled'          => 'Avertissement : Vous n’êtes pas autorisé à désactiver <b>:name</b> parce qu’il est associé à :texte.',
 | 
			
		||||
        'deleted'           => 'Avertissement : Vous n’êtes pas autorisé à supprimer <b>:name</b> parce qu’il est associé à :text.',
 | 
			
		||||
        'disabled'          => 'Avertissement : Vous n’êtes pas autorisé à désactiver <b>:name</b> parce qu’il est associé à :text.',
 | 
			
		||||
        'reconciled_tran'   => 'Avertissement : Vous n\'êtes pas autorisé à modifier/supprimer cette transaction car elle a été réconciliée !',
 | 
			
		||||
        'reconciled_doc'    => 'Avertissement : Vous n\'êtes pas autorisé à changer/supprimer :type car il a réconcilié les transactions !',
 | 
			
		||||
        'disable_code'      => 'Avertissement : vous n’êtes pas autorisé à désactiver ou modifier la devise de <b>:name</b> car elle est liée à :text.',
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,6 @@ return [
 | 
			
		||||
    'billed_once'           => 'Facturé une fois',
 | 
			
		||||
    'save_year'             => 'Vous économisez <strong>:price</strong> par an !',
 | 
			
		||||
    'if_paid_year'          => 'Ou <strong>:price/mo</strong> si payé annuellement',
 | 
			
		||||
    'information_monthly'   => 'Cette option n\'est valide que pour le <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>Cloud Service</strong></a>',
 | 
			
		||||
    'install'               => 'Installation',
 | 
			
		||||
    'buy_now'               => 'Acheter maintenant',
 | 
			
		||||
    'get_api_key'           => '<a href=":url" target="_blank">Cliquez ici</a> pour obtenir votre clé API.
 | 
			
		||||
@@ -51,6 +50,8 @@ return [
 | 
			
		||||
    'get_premium_cloud'     => 'Obtenez le Cloud Premium',
 | 
			
		||||
    'switch_to_cloud'       => 'Passer au Cloud',
 | 
			
		||||
    'hosted_on_akaunting'   => 'Hébergé sur akaunting.com',
 | 
			
		||||
    'information_on_preme'  => 'L\'option :period n\'est disponible que sur le <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>Cloud.</strong></a>',
 | 
			
		||||
    'information_monthly'   => 'Cette option n\'est valide que pour le <a href=":url" target="_blank" class="to-black-400 hover:bg-full-2 bg-no-repeat bg-0-2 bg-0-full bg-gradient-to-b from-transparent transition-backgroundSize"><strong>Cloud Service</strong></a>',
 | 
			
		||||
    'only_works_cloud'      => 'Cette application ne fonctionne que sur le <strong>Service Cloud</strong>.',
 | 
			
		||||
    'only_premium_plan'     => 'Cette application ne fonctionne que sur le <strong>Cloud Premium Service</strong>.',
 | 
			
		||||
    'not_found'             => 'Aucune application trouvée',
 | 
			
		||||
 
 | 
			
		||||
@@ -63,6 +63,17 @@ return [
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'email' => [
 | 
			
		||||
 | 
			
		||||
        'invalid' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Courriel :type invalide',
 | 
			
		||||
            'description'   => 'L\'adresse email :email a été signalée comme invalide et le compte de la personne a été désactivé. Veuillez vérifier le message d\'erreur suivant et corriger l\'adresse e-mail :',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'menu' => [
 | 
			
		||||
 | 
			
		||||
        'export_completed' => [
 | 
			
		||||
@@ -88,7 +99,7 @@ return [
 | 
			
		||||
 | 
			
		||||
        'import_failed' => [
 | 
			
		||||
 | 
			
		||||
            'subject'       => 'Importation échouée',
 | 
			
		||||
            'title'         => 'Échec de l\'importation',
 | 
			
		||||
            'description'   => 'Impossible d\'importer le fichier en raison de plusieurs problèmes. Consultez votre e-mail pour plus de détails.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
@@ -177,6 +188,13 @@ return [
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'invalid_email' => [
 | 
			
		||||
 | 
			
		||||
            'title'         => 'Courriel :type invalide',
 | 
			
		||||
            'description'   => 'L\'adresse e-mail <strong>:email</strong> a été signalée comme invalide et le compte de la personne a été désactivé. Veuillez vérifier et corriger l\'adresse e-mail.',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'messages' => [
 | 
			
		||||
@@ -185,4 +203,16 @@ return [
 | 
			
		||||
        'mark_read_all'         => ':type est en train de lire toutes les notifications !',
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'browser' => [
 | 
			
		||||
 | 
			
		||||
        'firefox' => [
 | 
			
		||||
 | 
			
		||||
            'title' => 'Configuration des icônes dans Firefox',
 | 
			
		||||
            'description'  => '<span class="font-medium">Si vos icônes n\'apparaissent pas, merci d\'activer;</span> <br /> <span class="font-medium">Autoriser les pages web à utiliser leurs propres polices au lieu de celles choisies ci-dessus</span> <br /><br /> <span class="font-bold">dans Paramètres > Général > Polices > Avancé </span>',
 | 
			
		||||
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,7 @@ return [
 | 
			
		||||
    'child'                 => ':url a été créé automatiquement le :date',
 | 
			
		||||
    'message'               => 'Il s\'agit d\'un :type récurrent et le prochain :type sera automatiquement généré le :date',
 | 
			
		||||
    'message_parent'        => 'Ce :type a été généré automatiquement à partir de :link',
 | 
			
		||||
    'send_email_auto'       => 'Envoyer un courriel automatiquement',
 | 
			
		||||
 | 
			
		||||
    'frequency_type'        => 'Répéter ce :type',
 | 
			
		||||
    'limit_date'            => 'Créer le premier :type le',
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'company' => [
 | 
			
		||||
        'description'                   => 'Changer le nom de la société, l\'email, l\'adresse, le numéro de taxe, etc',
 | 
			
		||||
        'description'                   => 'Changer le nom de la société, l\'email, l\'adresse, le numéro SIRET, etc',
 | 
			
		||||
        'search_keywords'               => 'société, nom, courriel, téléphone, adresse, pays, numéro SIRET, logo, ville, ville, état, province, code postal',
 | 
			
		||||
        'name'                          => 'Nom',
 | 
			
		||||
        'email'                         => 'Email',
 | 
			
		||||
@@ -58,7 +58,7 @@ return [
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'invoice' => [
 | 
			
		||||
        'description'                   => 'Personnaliser le préfixe de la facture, le numéro , les termes, le pied de page, etc',
 | 
			
		||||
        'description'                   => 'Personnaliser le préfixe de la facture, le numéro, les conditions, le pied de page, etc',
 | 
			
		||||
        'search_keywords'               => 'personnaliser, facture, numéro, préfixe, chiffre, suivant, logo, nom, prix, quantité, modèle, titre, sous-en-tête, pied de page, note, masquer, couleurs, paiement, conditions, colonne',
 | 
			
		||||
        'prefix'                        => 'Préfixe de numérotation',
 | 
			
		||||
        'digit'                         => 'Nombre de chiffres',
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ return [
 | 
			
		||||
        'create'            => ':user a créé ce transfert le :date',
 | 
			
		||||
        'transactions'      => 'Liste des opérations liées à ce transfert',
 | 
			
		||||
        'transactions_desc' => ':number transaction pour :account',
 | 
			
		||||
        'attachments'       => 'Télécharger les fichiers attachés à cette transaction',
 | 
			
		||||
        'attachments'       => 'Télécharger les fichiers attachés à ce transfert',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user