mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-11 16:14:18 -08:00
Merge remote-tracking branch 'origin/develop'
This commit is contained in:
commit
83708e1be9
|
@ -2943,6 +2943,15 @@
|
|||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "qay21",
|
||||
"name": "Quentin Aymard",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/87803479?v=4",
|
||||
"profile": "https://github.com/qay21",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
![Build Status](https://app.chipperci.com/projects/0e5f8979-31eb-4ee6-9abf-050b76ab0383/status/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/snipe-it/localized.svg)](https://crowdin.com/project/snipe-it) [![Docker Pulls](https://img.shields.io/docker/pulls/snipe/snipe-it.svg)](https://hub.docker.com/r/snipe/snipe-it/) [![Twitter Follow](https://img.shields.io/twitter/follow/snipeitapp.svg?style=social)](https://twitter.com/snipeitapp) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/553ce52037fc43ea99149785afcfe641)](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade)
|
||||
[![All Contributors](https://img.shields.io/badge/all_contributors-324-orange.svg?style=flat-square)](#contributors) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/yZFtShAcKk) [![huntr](https://cdn.huntr.dev/huntr_security_badge_mono.svg)](https://huntr.dev)
|
||||
[![All Contributors](https://img.shields.io/badge/all_contributors-325-orange.svg?style=flat-square)](#contributors) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/yZFtShAcKk) [![huntr](https://cdn.huntr.dev/huntr_security_badge_mono.svg)](https://huntr.dev)
|
||||
|
||||
## Snipe-IT - Open Source Asset Management System
|
||||
|
||||
|
@ -145,7 +145,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
|
|||
| [<img src="https://avatars.githubusercontent.com/u/28321?v=4" width="110px;"/><br /><sub>Chris Hartjes</sub>](http://www.littlehart.net/atthekeyboard)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chartjes "Code") | [<img src="https://avatars.githubusercontent.com/u/2404584?v=4" width="110px;"/><br /><sub>geo-chen</sub>](https://github.com/geo-chen)<br />[💻](https://github.com/snipe/snipe-it/commits?author=geo-chen "Code") | [<img src="https://avatars.githubusercontent.com/u/6006620?v=4" width="110px;"/><br /><sub>Phan Nguyen</sub>](https://github.com/nh314)<br />[💻](https://github.com/snipe/snipe-it/commits?author=nh314 "Code") | [<img src="https://avatars.githubusercontent.com/u/115993812?v=4" width="110px;"/><br /><sub>Iisakki Jaakkola</sub>](https://github.com/StarlessNights)<br />[💻](https://github.com/snipe/snipe-it/commits?author=StarlessNights "Code") | [<img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="110px;"/><br /><sub>Ikko Ashimine</sub>](https://bandism.net/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=eltociear "Code") | [<img src="https://avatars.githubusercontent.com/u/56871540?v=4" width="110px;"/><br /><sub>Lukas Fehling</sub>](https://github.com/lukasfehling)<br />[💻](https://github.com/snipe/snipe-it/commits?author=lukasfehling "Code") | [<img src="https://avatars.githubusercontent.com/u/1975990?v=4" width="110px;"/><br /><sub>Fernando Almeida</sub>](https://github.com/fernando-almeida)<br />[💻](https://github.com/snipe/snipe-it/commits?author=fernando-almeida "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/116301219?v=4" width="110px;"/><br /><sub>akemidx</sub>](https://github.com/akemidx)<br />[💻](https://github.com/snipe/snipe-it/commits?author=akemidx "Code") | [<img src="https://avatars.githubusercontent.com/u/144778?v=4" width="110px;"/><br /><sub>Oguz Bilgic</sub>](http://oguz.site)<br />[💻](https://github.com/snipe/snipe-it/commits?author=oguzbilgic "Code") | [<img src="https://avatars.githubusercontent.com/u/9262438?v=4" width="110px;"/><br /><sub>Scooter Crawford</sub>](https://github.com/scoo73r)<br />[💻](https://github.com/snipe/snipe-it/commits?author=scoo73r "Code") | [<img src="https://avatars.githubusercontent.com/u/5957345?v=4" width="110px;"/><br /><sub>subdriven</sub>](https://github.com/subdriven)<br />[💻](https://github.com/snipe/snipe-it/commits?author=subdriven "Code") | [<img src="https://avatars.githubusercontent.com/u/658865?v=4" width="110px;"/><br /><sub>Andrew Savinykh</sub>](https://github.com/AndrewSav)<br />[💻](https://github.com/snipe/snipe-it/commits?author=AndrewSav "Code") | [<img src="https://avatars.githubusercontent.com/u/1155067?v=4" width="110px;"/><br /><sub>Tadayuki Onishi</sub>](https://kenchan0130.github.io)<br />[💻](https://github.com/snipe/snipe-it/commits?author=kenchan0130 "Code") | [<img src="https://avatars.githubusercontent.com/u/112496896?v=4" width="110px;"/><br /><sub>Florian</sub>](https://github.com/floschoepfer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=floschoepfer "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/7305753?v=4" width="110px;"/><br /><sub>Spencer Long</sub>](http://spencerlong.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=spencerrlongg "Code") | [<img src="https://avatars.githubusercontent.com/u/1141514?v=4" width="110px;"/><br /><sub>Marcus Moore</sub>](https://github.com/marcusmoore)<br />[💻](https://github.com/snipe/snipe-it/commits?author=marcusmoore "Code") | [<img src="https://avatars.githubusercontent.com/u/570639?v=4" width="110px;"/><br /><sub>Martin Meredith</sub>](https://github.com/Mezzle)<br /> | [<img src="https://avatars.githubusercontent.com/u/5731963?v=4" width="110px;"/><br /><sub>dboth</sub>](http://dboth.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dboth "Code") | [<img src="https://avatars.githubusercontent.com/u/87536651?v=4" width="110px;"/><br /><sub>Zachary Fleck</sub>](https://github.com/zacharyfleck)<br />[💻](https://github.com/snipe/snipe-it/commits?author=zacharyfleck "Code") | [<img src="https://avatars.githubusercontent.com/u/74609912?v=4" width="110px;"/><br /><sub>VIKAAS-A</sub>](https://github.com/vikaas-cyper)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vikaas-cyper "Code") | [<img src="https://avatars.githubusercontent.com/u/88882041?v=4" width="110px;"/><br /><sub>Abdul Kareem</sub>](https://github.com/ak-piracha)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ak-piracha "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/111287779?v=4" width="110px;"/><br /><sub>NojoudAlshehri</sub>](https://github.com/NojoudAlshehri)<br />[💻](https://github.com/snipe/snipe-it/commits?author=NojoudAlshehri "Code") | [<img src="https://avatars.githubusercontent.com/u/54367449?v=4" width="110px;"/><br /><sub>Stefan Stidl</sub>](https://github.com/stefanstidlffg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=stefanstidlffg "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/111287779?v=4" width="110px;"/><br /><sub>NojoudAlshehri</sub>](https://github.com/NojoudAlshehri)<br />[💻](https://github.com/snipe/snipe-it/commits?author=NojoudAlshehri "Code") | [<img src="https://avatars.githubusercontent.com/u/54367449?v=4" width="110px;"/><br /><sub>Stefan Stidl</sub>](https://github.com/stefanstidlffg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=stefanstidlffg "Code") | [<img src="https://avatars.githubusercontent.com/u/87803479?v=4" width="110px;"/><br /><sub>Quentin Aymard</sub>](https://github.com/qay21)<br />[💻](https://github.com/snipe/snipe-it/commits?author=qay21 "Code") |
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
|
|
@ -38,6 +38,16 @@ class Importer extends Component
|
|||
public $field_map; // we need a separate variable for the field-mapping, because the keys in the normal array are too complicated for Livewire to understand
|
||||
public $file_id; // TODO: I can't figure out *why* we need this, but it really seems like we do. I can't seem to pull the id from the activeFile for some reason?
|
||||
|
||||
// Make these variables public - we set the properties in the constructor so we can localize them (versus the old static arrays)
|
||||
public $accessories_fields;
|
||||
public $assets_fields;
|
||||
public $users_fields;
|
||||
public $licenses_fields;
|
||||
public $locations_fields;
|
||||
public $consumables_fields;
|
||||
public $components_fields;
|
||||
public $aliases_fields;
|
||||
|
||||
protected $rules = [
|
||||
'files.*.file_path' => 'required|string',
|
||||
'files.*.created_at' => 'required|string',
|
||||
|
@ -57,189 +67,34 @@ class Importer extends Component
|
|||
return json_encode(array_filter($tmp));
|
||||
}
|
||||
|
||||
// all of these 'statics', alas, may have to change to something else to handle translations?
|
||||
// I'm not sure. Maybe I use them to 'populate' the translations? TBH, I don't know yet.
|
||||
static $general = [
|
||||
'category' => 'Category',
|
||||
'company' => 'Company',
|
||||
'email' => 'Email',
|
||||
'item_name' => 'Item Name',
|
||||
'location' => 'Location',
|
||||
'maintained' => 'Maintained',
|
||||
'manufacturer' => 'Manufacturer',
|
||||
'order_number' => 'Order Number',
|
||||
'purchase_cost' => 'Purchase Cost',
|
||||
'purchase_date' => 'Purchase Date',
|
||||
'quantity' => 'Quantity',
|
||||
'requestable' => 'Requestable',
|
||||
'serial' => 'Serial Number',
|
||||
'supplier' => 'Supplier',
|
||||
'username' => 'Username',
|
||||
'department' => 'Department',
|
||||
];
|
||||
|
||||
static $accessories = [
|
||||
'model_number' => 'Model Number',
|
||||
'notes' => 'Notes',
|
||||
];
|
||||
|
||||
static $assets = [
|
||||
'asset_tag' => 'Asset Tag',
|
||||
'asset_model' => 'Model Name',
|
||||
'asset_notes' => 'Asset Notes',
|
||||
'model_notes' => 'Model Notes',
|
||||
'byod' => 'BYOD',
|
||||
'checkout_class' => 'Checkout Type',
|
||||
'checkout_location' => 'Checkout Location',
|
||||
'image' => 'Image Filename',
|
||||
'model_number' => 'Model Number',
|
||||
'full_name' => 'Full Name',
|
||||
'status' => 'Status',
|
||||
'warranty_months' => 'Warranty Months',
|
||||
'asset_eol_date' => 'EOL Date',
|
||||
];
|
||||
|
||||
static $consumables = [
|
||||
'item_no' => "Item Number",
|
||||
'model_number' => "Model Number",
|
||||
'notes' => 'Notes',
|
||||
'min_amt' => "Minimum Quantity",
|
||||
];
|
||||
|
||||
static $licenses = [
|
||||
'asset_tag' => 'Assigned To Asset',
|
||||
'expiration_date' => 'Expiration Date',
|
||||
'full_name' => 'Full Name',
|
||||
'license_email' => 'Licensed To Email',
|
||||
'license_name' => 'Licensed To Name',
|
||||
'purchase_order' => 'Purchase Order',
|
||||
'reassignable' => 'Reassignable',
|
||||
'seats' => 'Seats',
|
||||
'notes' => 'Notes',
|
||||
];
|
||||
|
||||
static $users = [
|
||||
'employee_num' => 'Employee Number',
|
||||
'first_name' => 'First Name',
|
||||
'last_name' => 'Last Name',
|
||||
'notes' => 'Notes',
|
||||
'jobtitle' => 'Job Title',
|
||||
'phone_number' => 'Phone Number',
|
||||
'manager_first_name' => 'Manager First Name',
|
||||
'manager_last_name' => 'Manager Last Name',
|
||||
'activated' => 'Activated',
|
||||
'address' => 'Address',
|
||||
'city' => 'City',
|
||||
'state' => 'State',
|
||||
'country' => 'Country',
|
||||
'zip' => 'Zip',
|
||||
'vip' => 'VIP',
|
||||
'remote' => 'Remote',
|
||||
];
|
||||
|
||||
static $locations = [
|
||||
'name' => 'Name',
|
||||
'address' => 'Address',
|
||||
'address2' => 'Address 2',
|
||||
'city' => 'City',
|
||||
'state' => 'State',
|
||||
'country' => 'Country',
|
||||
'zip' => 'Zip',
|
||||
'currency' => 'Currency',
|
||||
'ldap_ou' => 'LDAP OU',
|
||||
'manager_username' => 'Manager Username',
|
||||
'manager' => 'Manager',
|
||||
'parent_location' => 'Parent Location',
|
||||
'notes' => 'Notes',
|
||||
];
|
||||
|
||||
//array of "real fieldnames" to a list of aliases for that field
|
||||
static $aliases = [
|
||||
'model_number' =>
|
||||
[
|
||||
'model',
|
||||
'model no',
|
||||
'model no.',
|
||||
'model number',
|
||||
'model num',
|
||||
'model num.'
|
||||
],
|
||||
'warranty_months' =>
|
||||
[
|
||||
'Warranty',
|
||||
'Warranty Months'
|
||||
],
|
||||
'qty' =>
|
||||
[
|
||||
'QTY',
|
||||
'Quantity'
|
||||
],
|
||||
'zip' =>
|
||||
[
|
||||
'Postal Code',
|
||||
'Post Code'
|
||||
],
|
||||
'min_amt' =>
|
||||
[
|
||||
'Min Amount',
|
||||
'Min QTY'
|
||||
],
|
||||
'next_audit_date' =>
|
||||
[
|
||||
'Next Audit',
|
||||
],
|
||||
'address2' =>
|
||||
[
|
||||
'Address 2',
|
||||
'Address2',
|
||||
],
|
||||
'ldap_ou' =>
|
||||
[
|
||||
'LDAP OU',
|
||||
'OU',
|
||||
],
|
||||
'parent_location' =>
|
||||
[
|
||||
'Parent',
|
||||
'Parent Location',
|
||||
],
|
||||
'manager' =>
|
||||
[
|
||||
'Managed By',
|
||||
'Manager Name',
|
||||
'Manager Full Name',
|
||||
],
|
||||
'manager_username' =>
|
||||
[
|
||||
'Manager Username',
|
||||
],
|
||||
|
||||
|
||||
];
|
||||
|
||||
private function getColumns($type)
|
||||
{
|
||||
switch ($type) {
|
||||
case 'asset':
|
||||
$results = self::$general + self::$assets;
|
||||
$results = $this->assets_fields;
|
||||
break;
|
||||
case 'accessory':
|
||||
$results = self::$general + self::$accessories;
|
||||
$results = $this->accessories_fields;
|
||||
break;
|
||||
case 'consumable':
|
||||
$results = self::$general + self::$consumables;
|
||||
$results = $this->consumables_fields;
|
||||
break;
|
||||
case 'component':
|
||||
$results = $this->components_fields;
|
||||
break;
|
||||
case 'license':
|
||||
$results = self::$general + self::$licenses;
|
||||
$results = $this->licenses_fields;
|
||||
break;
|
||||
case 'user':
|
||||
$results = self::$general + self::$users;
|
||||
$results = $this->users_fields;
|
||||
break;
|
||||
case 'location':
|
||||
$results = self::$general + self::$locations;
|
||||
$results = $this->locations_fields;
|
||||
break;
|
||||
default:
|
||||
$results = self::$general;
|
||||
$results = [];
|
||||
}
|
||||
asort($results, SORT_FLAG_CASE | SORT_STRING);
|
||||
if ($type == "asset") {
|
||||
|
@ -268,7 +123,7 @@ class Importer extends Component
|
|||
continue;
|
||||
} else {
|
||||
//no, this key is *INVALID* for this import type. Better set it to null
|
||||
// and we'll hope that the aliases or something else picks it up.
|
||||
// and we'll hope that the $aliases_fields or something else picks it up.
|
||||
$this->field_map[$i] = null; // fingers crossed! But it's not likely, tbh.
|
||||
} // TODO - strictly speaking, this isn't necessary here I don't think.
|
||||
}
|
||||
|
@ -279,8 +134,8 @@ class Importer extends Component
|
|||
continue 2; //don't bother with the alias check, go to the next header
|
||||
}
|
||||
}
|
||||
// if you got here, we didn't find a match. Try the aliases
|
||||
foreach (self::$aliases as $key => $alias_values) {
|
||||
// if you got here, we didn't find a match. Try the $aliases_fields
|
||||
foreach ($this->aliases_fields as $key => $alias_values) {
|
||||
foreach ($alias_values as $alias_value) {
|
||||
if (strcasecmp($alias_value, $header) === 0) { // aLsO CaSe-INSENSitiVE!
|
||||
// Make *absolutely* sure that this key actually _exists_ in this import type -
|
||||
|
@ -319,6 +174,301 @@ class Importer extends Component
|
|||
'location' => trans('general.locations'),
|
||||
];
|
||||
|
||||
/**
|
||||
* These are the item-type specific columns
|
||||
*/
|
||||
$this->accessories_fields = [
|
||||
'company' => trans('general.company'),
|
||||
'location' => trans('general.location'),
|
||||
'quantity' => trans('general.qty'),
|
||||
'item_name' => trans('general.item_name_var', ['item' => trans('general.accessory')]),
|
||||
'model_number' => trans('general.model_no'),
|
||||
'notes' => trans('general.notes'),
|
||||
'category' => trans('general.category'),
|
||||
'supplier' => trans('general.supplier'),
|
||||
'min_amt' => trans('mail.min_QTY'),
|
||||
'purchase_cost' => trans('general.purchase_cost'),
|
||||
'purchase_date' => trans('general.purchase_date'),
|
||||
'manufacturer' => trans('general.manufacturer'),
|
||||
'order_number' => trans('general.order_number'),
|
||||
];
|
||||
|
||||
$this->assets_fields = [
|
||||
'company' => trans('general.company'),
|
||||
'location' => trans('general.location'),
|
||||
'item_name' => trans('general.item_name_var', ['item' => trans('general.asset')]),
|
||||
'asset_tag' => trans('general.asset_tag'),
|
||||
'asset_model' => trans('general.model_name'),
|
||||
'byod' => trans('general.byod'),
|
||||
'model_number' => trans('general.model_no'),
|
||||
'status' => trans('general.status'),
|
||||
'warranty_months' => trans('admin/hardware/form.warranty'),
|
||||
'category' => trans('general.category'),
|
||||
'requestable' => trans('admin/hardware/general.requestable'),
|
||||
'serial' => trans('general.serial_number'),
|
||||
'supplier' => trans('general.supplier'),
|
||||
'purchase_cost' => trans('general.purchase_cost'),
|
||||
'purchase_date' => trans('general.purchase_date'),
|
||||
'purchase_order' => trans('admin/licenses/form.purchase_order'),
|
||||
'asset_notes' => trans('general.item_notes', ['item' => trans('admin/hardware/general.asset')]),
|
||||
'model_notes' => trans('general.item_notes', ['item' => trans('admin/hardware/form.model')]),
|
||||
'manufacturer' => trans('general.manufacturer'),
|
||||
'order_number' => trans('general.order_number'),
|
||||
'notes' => trans('general.notes'),
|
||||
'image' => trans('general.importer.image_filename'),
|
||||
/**
|
||||
* Checkout fields:
|
||||
* Assets can be checked out to other assets, people, or locations, but we currently
|
||||
* only support checkout to people and locations in the importer
|
||||
**/
|
||||
'checkout_class' => trans('general.importer.checkout_type'),
|
||||
'first_name' => trans('general.importer.checked_out_to_first_name'),
|
||||
'last_name' => trans('general.importer.checked_out_to_last_name'),
|
||||
'full_name' => trans('general.importer.checked_out_to_fullname'),
|
||||
'email' => trans('general.importer.checked_out_to_email'),
|
||||
'username' => trans('general.importer.checked_out_to_username'),
|
||||
'checkout_location' => trans('general.importer.checkout_location'),
|
||||
];
|
||||
|
||||
$this->consumables_fields = [
|
||||
'company' => trans('general.company'),
|
||||
'location' => trans('general.location'),
|
||||
'quantity' => trans('general.qty'),
|
||||
'item_name' => trans('general.item_name_var', ['item' => trans('general.consumable')]),
|
||||
'model_number' => trans('general.model_no'),
|
||||
'notes' => trans('general.notes'),
|
||||
'min_amt' => trans('mail.min_QTY'),
|
||||
'category' => trans('general.category'),
|
||||
'purchase_cost' => trans('general.purchase_cost'),
|
||||
'purchase_date' => trans('general.purchase_date'),
|
||||
'checkout_class' => trans('general.importer.checkout_type'),
|
||||
'supplier' => trans('general.supplier'),
|
||||
'manufacturer' => trans('general.manufacturer'),
|
||||
'order_number' => trans('general.order_number'),
|
||||
'item_no' => trans('admin/consumables/general.item_no'),
|
||||
];
|
||||
|
||||
$this->components_fields = [
|
||||
'company' => trans('general.company'),
|
||||
'location' => trans('general.location'),
|
||||
'quantity' => trans('general.qty'),
|
||||
'item_name' => trans('general.item_name_var', ['item' => trans('general.component')]),
|
||||
'model_number' => trans('general.model_no'),
|
||||
'notes' => trans('general.notes'),
|
||||
'category' => trans('general.category'),
|
||||
'supplier' => trans('general.supplier'),
|
||||
'min_amt' => trans('mail.min_QTY'),
|
||||
'purchase_cost' => trans('general.purchase_cost'),
|
||||
'purchase_date' => trans('general.purchase_date'),
|
||||
'manufacturer' => trans('general.manufacturer'),
|
||||
'order_number' => trans('general.order_number'),
|
||||
'serial' => trans('general.serial_number'),
|
||||
];
|
||||
|
||||
$this->licenses_fields = [
|
||||
'company' => trans('general.company'),
|
||||
'location' => trans('general.location'),
|
||||
'item_name' => trans('general.item_name_var', ['item' => trans('general.license')]),
|
||||
'asset_tag' => trans('general.importer.checked_out_to_tag'),
|
||||
'expiration_date' => trans('admin/licenses/form.expiration'),
|
||||
'full_name' => trans('general.importer.checked_out_to_fullname'),
|
||||
'license_email' => trans('admin/licenses/form.to_email'),
|
||||
'license_name' => trans('admin/licenses/form.to_name'),
|
||||
'purchase_order' => trans('admin/licenses/form.purchase_order'),
|
||||
'reassignable' => trans('admin/licenses/form.reassignable'),
|
||||
'seats' => trans('admin/licenses/form.seats'),
|
||||
'notes' => trans('general.notes'),
|
||||
'category' => trans('general.category'),
|
||||
'supplier' => trans('general.supplier'),
|
||||
'purchase_cost' => trans('general.purchase_cost'),
|
||||
'purchase_date' => trans('general.purchase_date'),
|
||||
'maintained' => trans('admin/licenses/form.maintained'),
|
||||
'checkout_class' => trans('general.importer.checkout_type'),
|
||||
'serial' => trans('general.license_serial'),
|
||||
];
|
||||
|
||||
$this->users_fields = [
|
||||
'company' => trans('general.company'),
|
||||
'location' => trans('general.location'),
|
||||
'department' => trans('general.department'),
|
||||
'first_name' => trans('general.first_name'),
|
||||
'last_name' => trans('general.last_name'),
|
||||
'notes' => trans('general.notes'),
|
||||
'username' => trans('admin/users/table.username'),
|
||||
'jobtitle' => trans('admin/users/table.title'),
|
||||
'phone_number' => trans('admin/users/table.phone'),
|
||||
'manager_first_name' => trans('general.importer.manager_first_name'),
|
||||
'manager_last_name' => trans('general.importer.manager_last_name'),
|
||||
'activated' => trans('general.activated'),
|
||||
'address' => trans('general.address'),
|
||||
'city' => trans('general.city'),
|
||||
'state' => trans('general.state'),
|
||||
'country' => trans('general.country'),
|
||||
'zip' => trans('general.zip'),
|
||||
'vip' => trans('general.importer.vip'),
|
||||
'remote' => trans('admin/users/general.remote'),
|
||||
'email' => trans('admin/users/table.email'),
|
||||
'website' => trans('general.website'),
|
||||
'avatar' => trans('general.image'),
|
||||
'gravatar' => trans('general.importer.gravatar'),
|
||||
'start_date' => trans('general.start_date'),
|
||||
'end_date' => trans('general.end_date'),
|
||||
'employee_number' => trans('general.employee_number'),
|
||||
];
|
||||
|
||||
$this->locations_fields = [
|
||||
'name' => trans('general.item_name_var', ['item' => trans('general.location')]),
|
||||
'address' => trans('general.address'),
|
||||
'address2' => trans('general.importer.address2'),
|
||||
'city' => trans('general.city'),
|
||||
'state' => trans('general.state'),
|
||||
'country' => trans('general.country'),
|
||||
'zip' => trans('general.zip'),
|
||||
'currency' => trans('general.importer.currency'),
|
||||
'ldap_ou' => trans('admin/locations/table.ldap_ou'),
|
||||
'manager_username' => trans('general.importer.manager_username'),
|
||||
'manager' => trans('general.importer.manager_full_name'),
|
||||
'parent_location' => trans('admin/locations/table.parent'),
|
||||
];
|
||||
|
||||
// "real fieldnames" to a list of aliases for that field
|
||||
$this->aliases_fields = [
|
||||
'item_name' =>
|
||||
[
|
||||
'item name',
|
||||
'asset name',
|
||||
'accessory name',
|
||||
'user name',
|
||||
'consumable name',
|
||||
'component name',
|
||||
'name',
|
||||
],
|
||||
'item_no' => [
|
||||
'item number',
|
||||
'item no.',
|
||||
'item #',
|
||||
],
|
||||
'asset_model' =>
|
||||
[
|
||||
'model name',
|
||||
'model',
|
||||
],
|
||||
'gravatar' =>
|
||||
[
|
||||
'gravatar',
|
||||
],
|
||||
'currency' =>
|
||||
[
|
||||
'$',
|
||||
],
|
||||
'jobtitle' =>
|
||||
[
|
||||
'job title for user',
|
||||
'job title',
|
||||
],
|
||||
'username' =>
|
||||
[
|
||||
'user name',
|
||||
'username',
|
||||
trans('general.importer.checked_out_to_username'),
|
||||
],
|
||||
'first_name' =>
|
||||
[
|
||||
'first name',
|
||||
trans('general.importer.checked_out_to_first_name'),
|
||||
],
|
||||
'last_name' =>
|
||||
[
|
||||
'last name',
|
||||
'lastname',
|
||||
trans('general.importer.checked_out_to_last_name'),
|
||||
],
|
||||
'email' =>
|
||||
[
|
||||
'email',
|
||||
'e-mail',
|
||||
trans('general.importer.checked_out_to_email'),
|
||||
],
|
||||
'phone_number' =>
|
||||
[
|
||||
'phone',
|
||||
'phone number',
|
||||
'phone num',
|
||||
'telephone number',
|
||||
'telephone',
|
||||
'tel.',
|
||||
],
|
||||
'serial' =>
|
||||
[
|
||||
'serial number',
|
||||
'serial no.',
|
||||
'serial no',
|
||||
'product key',
|
||||
'key',
|
||||
],
|
||||
'model_number' =>
|
||||
[
|
||||
'model',
|
||||
'model no',
|
||||
'model no.',
|
||||
'model number',
|
||||
'model num',
|
||||
'model num.'
|
||||
],
|
||||
'warranty_months' =>
|
||||
[
|
||||
'Warranty',
|
||||
'Warranty Months'
|
||||
],
|
||||
'qty' =>
|
||||
[
|
||||
'QTY',
|
||||
'Quantity'
|
||||
],
|
||||
'zip' =>
|
||||
[
|
||||
'Postal Code',
|
||||
'Post Code',
|
||||
'Zip Code'
|
||||
],
|
||||
'min_amt' =>
|
||||
[
|
||||
'Min Amount',
|
||||
'Minimum Amount',
|
||||
'Min Quantity',
|
||||
'Minimum Quantity',
|
||||
],
|
||||
'next_audit_date' =>
|
||||
[
|
||||
'Next Audit',
|
||||
],
|
||||
'address2' =>
|
||||
[
|
||||
'Address 2',
|
||||
'Address2',
|
||||
],
|
||||
'ldap_ou' =>
|
||||
[
|
||||
'LDAP OU',
|
||||
'OU',
|
||||
],
|
||||
'parent_location' =>
|
||||
[
|
||||
'Parent',
|
||||
'Parent Location',
|
||||
],
|
||||
'manager' =>
|
||||
[
|
||||
'Managed By',
|
||||
'Manager Name',
|
||||
'Manager Full Name',
|
||||
],
|
||||
'manager_username' =>
|
||||
[
|
||||
'Manager Username',
|
||||
],
|
||||
];
|
||||
|
||||
$this->columnOptions[''] = $this->getColumns(''); //blank mode? I don't know what this is supposed to mean
|
||||
foreach($this->importTypes AS $type => $name) {
|
||||
$this->columnOptions[$type] = $this->getColumns($type);
|
||||
|
|
|
@ -132,10 +132,9 @@ class AssetImporter extends ItemImporter
|
|||
}
|
||||
}
|
||||
|
||||
// FIXME: this disables model validation. Need to find a way to avoid double-logs without breaking everything.
|
||||
// $asset->unsetEventDispatcher();
|
||||
|
||||
if ($asset->save()) {
|
||||
$asset->logCreate('Imported using csv importer');
|
||||
$asset->logCreate(trans('general.importer.import_note'));
|
||||
$this->log('Asset '.$this->item['name'].' with serial number '.$this->item['serial'].' was created');
|
||||
|
||||
// If we have a target to checkout to, lets do so.
|
||||
|
|
|
@ -27,60 +27,14 @@ abstract class Importer
|
|||
protected $updating;
|
||||
/**
|
||||
* Default Map of item fields->csv names
|
||||
*
|
||||
* This has been moved into Livewire/Importer.php to be more granular.
|
||||
* @todo - remove references to this property since we don't use it anymore.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $defaultFieldMap = [
|
||||
'asset_tag' => 'asset tag',
|
||||
'activated' => 'activated',
|
||||
'category' => 'category',
|
||||
'checkout_class' => 'checkout type', // Supports Location or User for assets. Using checkout_class instead of checkout_type because type exists on asset already.
|
||||
'checkout_location' => 'checkout location',
|
||||
'company' => 'company',
|
||||
'item_name' => 'item name',
|
||||
'item_number' => 'item number',
|
||||
'image' => 'image',
|
||||
'expiration_date' => 'expiration date',
|
||||
'location' => 'location',
|
||||
'notes' => 'notes',
|
||||
'license_email' => 'licensed to email',
|
||||
'license_name' => 'licensed to name',
|
||||
'maintained' => 'maintained',
|
||||
'manufacturer' => 'manufacturer',
|
||||
'asset_model' => 'model name',
|
||||
'model_number' => 'model number',
|
||||
'order_number' => 'order number',
|
||||
'purchase_cost' => 'purchase cost',
|
||||
'purchase_date' => 'purchase date',
|
||||
'purchase_order' => 'purchase order',
|
||||
'qty' => 'quantity',
|
||||
'reassignable' => 'reassignable',
|
||||
'requestable' => 'requestable',
|
||||
'seats' => 'seats',
|
||||
'serial' => 'serial number',
|
||||
'status' => 'status',
|
||||
'supplier' => 'supplier',
|
||||
'termination_date' => 'termination date',
|
||||
'warranty_months' => 'warranty',
|
||||
'full_name' => 'full name',
|
||||
'email' => 'email',
|
||||
'username' => 'username',
|
||||
'address' => 'address',
|
||||
'address2' => 'address2',
|
||||
'city' => 'city',
|
||||
'state' => 'state',
|
||||
'country' => 'country',
|
||||
'zip' => 'zip',
|
||||
'jobtitle' => 'job title',
|
||||
'employee_num' => 'employee number',
|
||||
'phone_number' => 'phone number',
|
||||
'first_name' => 'first name',
|
||||
'last_name' => 'last name',
|
||||
'department' => 'department',
|
||||
'manager_name' => 'manager full name',
|
||||
'manager_username' => 'manager username',
|
||||
'min_amt' => 'minimum quantity',
|
||||
'remote' => 'remote',
|
||||
'vip' => 'vip',
|
||||
|
||||
];
|
||||
/**
|
||||
* Map of item fields->csv names
|
||||
|
@ -288,6 +242,8 @@ abstract class Importer
|
|||
|
||||
$user_array = [
|
||||
'full_name' => $this->findCsvMatch($row, 'full_name'),
|
||||
'first_name' => $this->findCsvMatch($row, 'first_name'),
|
||||
'last_name' => $this->findCsvMatch($row, 'last_name'),
|
||||
'email' => $this->findCsvMatch($row, 'email'),
|
||||
'manager_id'=> '',
|
||||
'department_id' => '',
|
||||
|
@ -296,7 +252,6 @@ abstract class Importer
|
|||
'remote' => $this->fetchHumanBoolean(($this->findCsvMatch($row, 'remote'))),
|
||||
];
|
||||
|
||||
|
||||
if ($type == 'manager') {
|
||||
$user_array['full_name'] = $this->findCsvMatch($row, 'manager');
|
||||
$user_array['username'] = $this->findCsvMatch($row, 'manager_username');
|
||||
|
@ -312,8 +267,9 @@ abstract class Importer
|
|||
|
||||
|
||||
// If the full name and username is empty, bail out--we need this to extract first name (at the very least)
|
||||
if ((empty($user_array['username'])) && (empty($user_array['full_name']))) {
|
||||
$this->log('Insufficient user data provided (Full name or username is required) - skipping user creation.');
|
||||
if ((empty($user_array['username'])) && (empty($user_array['full_name'])) && (empty($user_array['first_name']))) {
|
||||
$this->log('Insufficient user data provided (Full name, first name or username is required) - skipping user creation.');
|
||||
\Log::debug('User array: ');
|
||||
\Log::debug(print_r($user_array, true));
|
||||
\Log::debug(print_r($row, true));
|
||||
return false;
|
||||
|
@ -325,10 +281,12 @@ abstract class Importer
|
|||
$user_array['email'] = User::generateEmailFromFullName($user_array['full_name']);
|
||||
}
|
||||
|
||||
if (empty($user_array['first_name'])) {
|
||||
// Get some fields for first name and last name based off of full name
|
||||
$user_formatted_array = User::generateFormattedNameFromFullName($user_array['full_name'], Setting::getSettings()->username_format);
|
||||
$user_array['first_name'] = $user_formatted_array['first_name'];
|
||||
$user_array['last_name'] = $user_formatted_array['last_name'];
|
||||
}
|
||||
|
||||
if (empty($user_array['username'])) {
|
||||
$user_array['username'] = $user_formatted_array['username'];
|
||||
|
|
|
@ -112,15 +112,11 @@ class ItemImporter extends Importer
|
|||
*/
|
||||
protected function determineCheckout($row)
|
||||
{
|
||||
// Locations don't get checked out to anyone/anything
|
||||
if (get_class($this) == LocationImporter::class) {
|
||||
return;
|
||||
}
|
||||
|
||||
// We only support checkout-to-location for asset, so short circuit otherwise.
|
||||
if (get_class($this) != AssetImporter::class) {
|
||||
return $this->createOrFetchUser($row);
|
||||
}
|
||||
|
||||
if (strtolower($this->item['checkout_class']) === 'location' && $this->findCsvMatch($row, 'checkout_location') != null ) {
|
||||
return Location::findOrFail($this->createOrFetchLocation($this->findCsvMatch($row, 'checkout_location')));
|
||||
}
|
||||
|
|
|
@ -46,12 +46,16 @@ class UserImporter extends ItemImporter
|
|||
$this->item['first_name'] = $this->findCsvMatch($row, 'first_name');
|
||||
$this->item['last_name'] = $this->findCsvMatch($row, 'last_name');
|
||||
$this->item['email'] = $this->findCsvMatch($row, 'email');
|
||||
$this->item['gravatar'] = $this->findCsvMatch($row, 'gravatar');
|
||||
$this->item['phone'] = $this->findCsvMatch($row, 'phone_number');
|
||||
$this->item['website'] = $this->findCsvMatch($row, 'website');
|
||||
$this->item['jobtitle'] = $this->findCsvMatch($row, 'jobtitle');
|
||||
$this->item['address'] = $this->findCsvMatch($row, 'address');
|
||||
$this->item['city'] = $this->findCsvMatch($row, 'city');
|
||||
$this->item['state'] = $this->findCsvMatch($row, 'state');
|
||||
$this->item['country'] = $this->findCsvMatch($row, 'country');
|
||||
$this->item['start_date'] = $this->findCsvMatch($row, 'start_date');
|
||||
$this->item['end_date'] = $this->findCsvMatch($row, 'end_date');
|
||||
$this->item['zip'] = $this->findCsvMatch($row, 'zip');
|
||||
$this->item['activated'] = ($this->fetchHumanBoolean($this->findCsvMatch($row, 'activated')) == 1) ? '1' : 0;
|
||||
$this->item['employee_num'] = $this->findCsvMatch($row, 'employee_num');
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
| CSV | Item | Applicable Types |
|
||||
|---------------------|------------------|-------------------------------------------|
|
||||
| activated | | User |
|
||||
| asset tag | asset_tag | Asset |
|
||||
| category | category | All |
|
||||
| company | company | All |
|
||||
| department_id | | User ? All |
|
||||
| item name | item_name | All |
|
||||
| image | image | Asset |
|
||||
| email | | |
|
||||
| expiration date | expiration_date | License |
|
||||
| location | location | All |
|
||||
| notes | notes | All |
|
||||
| licensed to email | license_email | License |
|
||||
| licensed to name | license_name | License |
|
||||
| maintained | maintained | License |
|
||||
| manager_id | | User |
|
||||
| manufacturer | manufacturer | All |
|
||||
| model name | asset_model | Asset |
|
||||
| model number | model_number | Asset |
|
||||
| order number | order_number | All ? |
|
||||
| purchase cost | purchase_cost | All ? |
|
||||
| purchase date | purchase_date | All ? |
|
||||
| purchase order | purchase_order | License |
|
||||
| quantity | qty | Accessory, Consumable, Component, License |
|
||||
| reassignable | reassignable | License |
|
||||
| requestable | requestable | Asset, Accessory? |
|
||||
| seats | seats | License |
|
||||
| serial number | serial | Asset, license |
|
||||
| status | status | Asset ? All |
|
||||
| supplier | supplier | Asset ? All |
|
||||
| minimum quantity | min_amt | Consumable |
|
||||
| termination date | termination_date | License |
|
||||
| warranty months | warranty_months | Asset |
|
||||
| User Related Fields | assigned_to | Asset |
|
||||
| name | | |
|
||||
| email | | |
|
||||
| username | | |
|
||||
| address | address | User |
|
||||
| city | city | User |
|
||||
| state | state | User |
|
||||
| country | country | User |
|
||||
| vip | vip | User |
|
||||
| byod | byod | Asset |
|
||||
|
|
@ -17,5 +17,6 @@ return array(
|
|||
'use_default_eula' => 'Gebruik eerder die <a href="#" data-toggle="modal" data-target="#eulaModal">primary standaard EULA</a>.',
|
||||
'use_default_eula_disabled' => '<del>Gebruik die primêre standaardverlof in plaas daarvan.</del> Geen primêre standaard EULA is ingestel nie. Voeg asseblief een by Instellings.',
|
||||
'clone' => 'Clone Accessory',
|
||||
'delete_disabled' => 'This accessory cannot be deleted yet because some items are still checked out.',
|
||||
|
||||
);
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Komponent is nie nagegaan nie, probeer asseblief weer',
|
||||
'success' => 'Komponent is suksesvol nagegaan.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer asseblief weer.'
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer asseblief weer.',
|
||||
'unavailable' => 'Not enough components remaining: :remaining remaining, :requested requested ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Verbruiksgoedere is nie nagegaan nie, probeer asseblief weer',
|
||||
'success' => 'Verbruiksgoedere is suksesvol nagegaan.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer asseblief weer.'
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer asseblief weer.',
|
||||
'unavailable' => 'There are not enough consumables for this checkout. Please check the quantity left. ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -49,4 +49,6 @@ return [
|
|||
'unique' => 'Unique',
|
||||
'display_in_user_view' => 'Allow the checked out user to view these values in their View Assigned Assets page',
|
||||
'display_in_user_view_table' => 'Visible to User',
|
||||
'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset',
|
||||
'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets',
|
||||
];
|
||||
|
|
|
@ -23,6 +23,7 @@ return [
|
|||
'restore' => 'Herstel bate',
|
||||
'pending' => 'hangende',
|
||||
'undeployable' => 'Undeployable',
|
||||
'undeployable_tooltip' => 'This asset has a status label that is undeployable and cannot be checked out at this time.',
|
||||
'view' => 'Bekyk bate',
|
||||
'csv_error' => 'You have an error in your CSV file:',
|
||||
'import_text' => '
|
||||
|
|
|
@ -8,6 +8,7 @@ return [
|
|||
'change' => 'In uit',
|
||||
'checkout_date' => 'Checkout Datum',
|
||||
'checkoutto' => 'Gekontroleer',
|
||||
'components_cost' => 'Total Components Cost',
|
||||
'current_value' => 'Current Value',
|
||||
'diff' => 'diff',
|
||||
'dl_csv' => 'Laai CSV af',
|
||||
|
|
|
@ -18,4 +18,30 @@ return array(
|
|||
'software_licenses' => 'Sagteware lisensies',
|
||||
'user' => 'gebruiker',
|
||||
'view' => 'Bekyk lisensie',
|
||||
'delete_disabled' => 'This license cannot be deleted yet because some seats are still checked out.',
|
||||
'bulk' =>
|
||||
[
|
||||
'checkin_all' => [
|
||||
'button' => 'Checkin All Seats',
|
||||
'modal' => 'This will action checkin one seat. | This action will checkin all :checkedout_seats_count seats for this license.',
|
||||
'enabled_tooltip' => 'Checkin ALL seats for this license from both users and assets',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently checked out',
|
||||
'success' => 'License successfully checked in! | All licenses were successfully checked in!',
|
||||
'log_msg' => 'Checked in via bulk license checkout in license GUI',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
'enabled_tooltip' => 'Checkout ALL seats (or as many as are available) to ALL users',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently available',
|
||||
'success' => 'License successfully checked out! | :count licenses were successfully checked out!',
|
||||
'error_no_seats' => 'There are no remaining seats left for this license.',
|
||||
'warn_not_enough_seats' => ':count users were assigned this license, but we ran out of available license seats.',
|
||||
'warn_no_avail_users' => 'Nothing to do. There are no users who do not already have this license assigned to them.',
|
||||
'log_msg' => 'Checked out via bulk license checkout in license GUI',
|
||||
|
||||
|
||||
],
|
||||
],
|
||||
);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
return array(
|
||||
|
||||
'support_url_help' => 'Use <code>{LOCALE}</code> and <code>{SERIAL}</code> in your URL as variables to have those values auto-populate when viewing assets.',
|
||||
'does_not_exist' => 'Vervaardiger bestaan nie.',
|
||||
'assoc_users' => 'Hierdie vervaardiger word tans geassosieer met ten minste een model en kan nie verwyder word nie. Dateer asseblief jou modelle op om nie meer hierdie vervaardiger te gebruik nie en probeer weer.',
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ return array(
|
|||
'support_email' => 'Ondersteunings-e-pos',
|
||||
'support_phone' => 'Ondersteuningsfoon',
|
||||
'support_url' => 'Ondersteunings-URL',
|
||||
'warranty_lookup_url' => 'Warranty Lookup URL',
|
||||
'update' => 'Update Fabrikant',
|
||||
'url' => 'URL',
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
'backups_restoring' => 'Restoring from Backup',
|
||||
'backups_upload' => 'Upload Backup',
|
||||
'backups_path' => 'Backups on the server are stored in <code>:path</code>',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.)<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_logged_out' => 'All existing users, including you, will be logged out once your restore is complete.',
|
||||
'backups_large' => 'Very large backups may time out on the restore attempt and may still need to be run via command line. ',
|
||||
'barcode_settings' => 'Barcode-instellings',
|
||||
|
@ -86,6 +86,8 @@ return [
|
|||
'ldap_settings' => 'LDAP-instellings',
|
||||
'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.',
|
||||
'ldap_client_tls_key' => 'LDAP Client-Side TLS key',
|
||||
'ldap_location' => 'LDAP Location',
|
||||
'ldap_location_help' => 'The Ldap Location field should be used if <strong>an OU is not being used in the Base Bind DN.</strong> Leave this blank if an OU search is being used.',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_manager' => 'LDAP Manager',
|
||||
|
@ -328,4 +330,9 @@ return [
|
|||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'ldap_settings_link' => 'LDAP Settings Page',
|
||||
'slack_test' => 'Test <i class="fab fa-slack"></i> Integration',
|
||||
'google_callback_help' => 'This should be entered as the callback URL in your Google OAuth app settings in your organization's <strong><a href="https://console.cloud.google.com/" target="_blank">Google developer console <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||
'google_login' => 'Google Workspace Login Settings',
|
||||
'enable_google_login' => 'Enable users to login with Google Workspace',
|
||||
'enable_google_login_help' => 'Users will not be automatically provisioned. They must have an existing account here AND in Google Workspace, and their username here must match their Google Workspace email address. ',
|
||||
|
||||
];
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'declined' => 'Jy het hierdie bate suksesvol geweier.',
|
||||
'bulk_manager_warn' => 'Jou gebruikers is suksesvol opgedateer, maar jou bestuurderinskrywing is nie gestoor nie, want die bestuurder wat jy gekies het, was ook in die gebruikerslys om geredigeer te word, en gebruikers mag nie hul eie bestuurder wees nie. Kies asseblief u gebruikers weer, behalwe die bestuurder.',
|
||||
'user_exists' => 'Gebruiker bestaan reeds!',
|
||||
'user_not_found' => 'Gebruiker [: id] bestaan nie.',
|
||||
'user_not_found' => 'User does not exist.',
|
||||
'user_login_required' => 'Die aanmeldingsveld is nodig',
|
||||
'user_password_required' => 'Die wagwoord is nodig.',
|
||||
'insufficient_permissions' => 'Onvoldoende Toestemmings.',
|
||||
|
|
|
@ -12,5 +12,8 @@ return [
|
|||
'remember_me' => 'Onthou my',
|
||||
'username_help_top' => 'Enter your <strong>username</strong> to be emailed a password reset link.',
|
||||
'username_help_bottom' => 'Your username and email address <em>may</em> be the same, but may not be, depending on your configuration. If you cannot remember your username, contact your administrator. <br><br><strong>Usernames without an associated email address will not be emailed a password reset link.</strong> ',
|
||||
'google_login' => 'Or login with Google Workspace',
|
||||
'google_login_failed' => 'Google Login failed, please try again.',
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ return [
|
|||
'debug_warning_text' => 'Hierdie program word uitgevoer in die produksiemodus met debugging aangeskakel. Dit kan sensitiewe data blootstel indien u aansoek vir die buitewêreld toeganklik is. Deaktiveer debug-modus deur die <code>APP_DEBUG</code>-waarde in jou <code>.env</code>-lêer te stel na <code>false</code>.',
|
||||
'delete' => 'verwyder',
|
||||
'delete_confirm' => 'Are you sure you wish to delete :item?',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This can not be undone.',
|
||||
'deleted' => 'geskrap',
|
||||
'delete_seats' => 'Plekke verwyder',
|
||||
'deletion_failed' => 'Deletion failed',
|
||||
|
@ -439,4 +440,13 @@ return [
|
|||
'setup_migration_output' => 'Migration output:',
|
||||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'importer_generic_error' => 'Your file import is complete, but we did receive an error. This is usually caused by third-party API throttling from a notification webhook (such as Slack) and would not have interfered with the import itself, but you should confirm this.',
|
||||
'confirm' => 'Confirm',
|
||||
'autoassign_licenses' => 'Auto-Assign Licenses',
|
||||
'autoassign_licenses_help' => 'Allow this user to have licenses assigned via the bulk-assign license UI or cli tools.',
|
||||
'autoassign_licenses_help_long' => 'This allows a user to be have licenses assigned via the bulk-assign license UI or cli tools. (For example, you might not want contractors to be auto-assigned a license you would provide to only staff members. You can still individually assign licenses to those users, but they will not be included in the Checkout License to All Users functions.)',
|
||||
'no_autoassign_licenses_help' => 'Do not include user for bulk-assigning through the license UI or cli tools.',
|
||||
'modal_confirm_generic' => 'Are you sure?',
|
||||
'cannot_be_deleted' => 'This item cannot be deleted',
|
||||
'undeployable_tooltip' => 'This item cannot be checked out. Check the quantity remaining.',
|
||||
|
||||
];
|
||||
|
|
|
@ -74,6 +74,7 @@ return [
|
|||
'your_credentials' => 'Jou Snipe-IT-referenties',
|
||||
'Accessory_Checkin_Notification' => 'Accessory checked in',
|
||||
'Asset_Checkin_Notification' => 'Asset checked in',
|
||||
'Asset_Checkout_Notification' => 'Asset checked out',
|
||||
'License_Checkin_Notification' => 'License checked in',
|
||||
'Expected_Checkin_Report' => 'Expected asset checkin report',
|
||||
'Expected_Checkin_Notification' => 'Reminder: :name checkin deadline approaching',
|
||||
|
|
|
@ -67,6 +67,8 @@ return [
|
|||
'array' => 'Die: Attribuut moet ten minste: min items hê.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
|
||||
'not_in' => 'Die gekose: attribuut is ongeldig.',
|
||||
'numeric' => 'Die: Attribuut moet \'n nommer wees.',
|
||||
'present' => 'Die: attribuut veld moet teenwoordig wees.',
|
||||
|
|
|
@ -17,5 +17,6 @@ return array(
|
|||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
|
||||
'clone' => 'Clone Accessory',
|
||||
'delete_disabled' => 'This accessory cannot be deleted yet because some items are still checked out.',
|
||||
|
||||
);
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Component was not checked out, please try again',
|
||||
'success' => 'Component checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.',
|
||||
'unavailable' => 'Not enough components remaining: :remaining remaining, :requested requested ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Consumable was not checked out, please try again',
|
||||
'success' => 'Consumable checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.',
|
||||
'unavailable' => 'There are not enough consumables for this checkout. Please check the quantity left. ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -49,4 +49,6 @@ return [
|
|||
'unique' => 'Unique',
|
||||
'display_in_user_view' => 'Allow the checked out user to view these values in their View Assigned Assets page',
|
||||
'display_in_user_view_table' => 'Visible to User',
|
||||
'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset',
|
||||
'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets',
|
||||
];
|
||||
|
|
|
@ -23,6 +23,7 @@ return [
|
|||
'restore' => 'Restore Asset',
|
||||
'pending' => 'Pending',
|
||||
'undeployable' => 'Undeployable',
|
||||
'undeployable_tooltip' => 'This asset has a status label that is undeployable and cannot be checked out at this time.',
|
||||
'view' => 'View Asset',
|
||||
'csv_error' => 'You have an error in your CSV file:',
|
||||
'import_text' => '
|
||||
|
|
|
@ -8,6 +8,7 @@ return [
|
|||
'change' => 'In/Out',
|
||||
'checkout_date' => 'Checkout Date',
|
||||
'checkoutto' => 'Checked Out',
|
||||
'components_cost' => 'Total Components Cost',
|
||||
'current_value' => 'Current Value',
|
||||
'diff' => 'Diff',
|
||||
'dl_csv' => 'Download CSV',
|
||||
|
|
|
@ -18,4 +18,30 @@ return array(
|
|||
'software_licenses' => 'Software Licenses',
|
||||
'user' => 'User',
|
||||
'view' => 'View License',
|
||||
'delete_disabled' => 'This license cannot be deleted yet because some seats are still checked out.',
|
||||
'bulk' =>
|
||||
[
|
||||
'checkin_all' => [
|
||||
'button' => 'Checkin All Seats',
|
||||
'modal' => 'This will action checkin one seat. | This action will checkin all :checkedout_seats_count seats for this license.',
|
||||
'enabled_tooltip' => 'Checkin ALL seats for this license from both users and assets',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently checked out',
|
||||
'success' => 'License successfully checked in! | All licenses were successfully checked in!',
|
||||
'log_msg' => 'Checked in via bulk license checkout in license GUI',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
'enabled_tooltip' => 'Checkout ALL seats (or as many as are available) to ALL users',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently available',
|
||||
'success' => 'License successfully checked out! | :count licenses were successfully checked out!',
|
||||
'error_no_seats' => 'There are no remaining seats left for this license.',
|
||||
'warn_not_enough_seats' => ':count users were assigned this license, but we ran out of available license seats.',
|
||||
'warn_no_avail_users' => 'Nothing to do. There are no users who do not already have this license assigned to them.',
|
||||
'log_msg' => 'Checked out via bulk license checkout in license GUI',
|
||||
|
||||
|
||||
],
|
||||
],
|
||||
);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
return array(
|
||||
|
||||
'support_url_help' => 'Use <code>{LOCALE}</code> and <code>{SERIAL}</code> in your URL as variables to have those values auto-populate when viewing assets.',
|
||||
'does_not_exist' => 'Manufacturer does not exist.',
|
||||
'assoc_users' => 'This manufacturer is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this manufacturer and try again. ',
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ return array(
|
|||
'support_email' => 'Support Email',
|
||||
'support_phone' => 'Support Phone',
|
||||
'support_url' => 'Support URL',
|
||||
'warranty_lookup_url' => 'Warranty Lookup URL',
|
||||
'update' => 'Update Manufacturer',
|
||||
'url' => 'URL',
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
'backups_restoring' => 'Restoring from Backup',
|
||||
'backups_upload' => 'Upload Backup',
|
||||
'backups_path' => 'Backups on the server are stored in <code>:path</code>',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.)<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_logged_out' => 'All existing users, including you, will be logged out once your restore is complete.',
|
||||
'backups_large' => 'Very large backups may time out on the restore attempt and may still need to be run via command line. ',
|
||||
'barcode_settings' => 'Barcode Settings',
|
||||
|
@ -86,6 +86,8 @@ return [
|
|||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.',
|
||||
'ldap_client_tls_key' => 'LDAP Client-Side TLS key',
|
||||
'ldap_location' => 'LDAP Location',
|
||||
'ldap_location_help' => 'The Ldap Location field should be used if <strong>an OU is not being used in the Base Bind DN.</strong> Leave this blank if an OU search is being used.',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_manager' => 'LDAP Manager',
|
||||
|
@ -328,4 +330,9 @@ return [
|
|||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'ldap_settings_link' => 'LDAP Settings Page',
|
||||
'slack_test' => 'Test <i class="fab fa-slack"></i> Integration',
|
||||
'google_callback_help' => 'This should be entered as the callback URL in your Google OAuth app settings in your organization's <strong><a href="https://console.cloud.google.com/" target="_blank">Google developer console <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||
'google_login' => 'Google Workspace Login Settings',
|
||||
'enable_google_login' => 'Enable users to login with Google Workspace',
|
||||
'enable_google_login_help' => 'Users will not be automatically provisioned. They must have an existing account here AND in Google Workspace, and their username here must match their Google Workspace email address. ',
|
||||
|
||||
];
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'declined' => 'You have successfully declined this asset.',
|
||||
'bulk_manager_warn' => 'Your users have been successfully updated, however your manager entry was not saved because the manager you selected was also in the user list to be edited, and users may not be their own manager. Please select your users again, excluding the manager.',
|
||||
'user_exists' => 'User already exists!',
|
||||
'user_not_found' => 'User [:id] does not exist.',
|
||||
'user_not_found' => 'User does not exist.',
|
||||
'user_login_required' => 'The login field is required',
|
||||
'user_password_required' => 'The password is required.',
|
||||
'insufficient_permissions' => 'Insufficient Permissions.',
|
||||
|
|
|
@ -12,5 +12,8 @@ return [
|
|||
'remember_me' => 'Remember Me',
|
||||
'username_help_top' => 'Enter your <strong>username</strong> to be emailed a password reset link.',
|
||||
'username_help_bottom' => 'Your username and email address <em>may</em> be the same, but may not be, depending on your configuration. If you cannot remember your username, contact your administrator. <br><br><strong>Usernames without an associated email address will not be emailed a password reset link.</strong> ',
|
||||
'google_login' => 'Or login with Google Workspace',
|
||||
'google_login_failed' => 'Google Login failed, please try again.',
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ return [
|
|||
'debug_warning_text' => 'This application is running in production mode with debugging enabled. This can expose sensitive data if your application is accessible to the outside world. Disable debug mode by setting the <code>APP_DEBUG</code> value in your <code>.env</code> file to <code>false</code>.',
|
||||
'delete' => 'Delete',
|
||||
'delete_confirm' => 'Are you sure you wish to delete :item?',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This can not be undone.',
|
||||
'deleted' => 'Deleted',
|
||||
'delete_seats' => 'Deleted Seats',
|
||||
'deletion_failed' => 'Deletion failed',
|
||||
|
@ -439,4 +440,13 @@ return [
|
|||
'setup_migration_output' => 'Migration output:',
|
||||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'importer_generic_error' => 'Your file import is complete, but we did receive an error. This is usually caused by third-party API throttling from a notification webhook (such as Slack) and would not have interfered with the import itself, but you should confirm this.',
|
||||
'confirm' => 'Confirm',
|
||||
'autoassign_licenses' => 'Auto-Assign Licenses',
|
||||
'autoassign_licenses_help' => 'Allow this user to have licenses assigned via the bulk-assign license UI or cli tools.',
|
||||
'autoassign_licenses_help_long' => 'This allows a user to be have licenses assigned via the bulk-assign license UI or cli tools. (For example, you might not want contractors to be auto-assigned a license you would provide to only staff members. You can still individually assign licenses to those users, but they will not be included in the Checkout License to All Users functions.)',
|
||||
'no_autoassign_licenses_help' => 'Do not include user for bulk-assigning through the license UI or cli tools.',
|
||||
'modal_confirm_generic' => 'Are you sure?',
|
||||
'cannot_be_deleted' => 'This item cannot be deleted',
|
||||
'undeployable_tooltip' => 'This item cannot be checked out. Check the quantity remaining.',
|
||||
|
||||
];
|
||||
|
|
|
@ -75,6 +75,7 @@ return [
|
|||
'your_credentials' => 'Your Snipe-IT credentials',
|
||||
'Accessory_Checkin_Notification' => 'Accessory checked in',
|
||||
'Asset_Checkin_Notification' => 'Asset checked in',
|
||||
'Asset_Checkout_Notification' => 'Asset checked out',
|
||||
'License_Checkin_Notification' => 'License checked in',
|
||||
'Expected_Checkin_Report' => 'Expected asset checkin report',
|
||||
'Expected_Checkin_Notification' => 'Reminder: :name checkin deadline approaching',
|
||||
|
|
|
@ -67,6 +67,8 @@ return [
|
|||
'array' => 'The :attribute must have at least :min items.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
|
|
|
@ -17,5 +17,6 @@ return array(
|
|||
'use_default_eula' => 'قم باستعمال <a href="#" data-toggle="modal" data-target="#eulaModal">اتفاقية ترخيص المستخدم الافتراضية الاساسية</a>.',
|
||||
'use_default_eula_disabled' => '<del>استخدام (اتفاقية ترخيص المستخدم) الافتراضية الأساسية بدلا من ذلك.</del> لم يتم تحديد (اتفاقية ترخيص المستخدم) الافتراضية الأساسية. الرجاء إضافتها في الإعدادات.',
|
||||
'clone' => 'استنساخ الملحق',
|
||||
'delete_disabled' => 'This accessory cannot be deleted yet because some items are still checked out.',
|
||||
|
||||
);
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'لم تتم عملية اخراج المكون، الرجاء المحاولة مرة اخرى',
|
||||
'success' => 'تم إخراج المكون بنجاح.',
|
||||
'user_does_not_exist' => 'هذا المستخدم خاطئ، الرجاء المحاولة مرة أخرى.'
|
||||
'user_does_not_exist' => 'هذا المستخدم خاطئ، الرجاء المحاولة مرة أخرى.',
|
||||
'unavailable' => 'لا توجد عناصر كافية remaining: :remaining متبقية، :requested مطلوبة ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'لم يتم إخراج المادة الإستهلاكية، الرجاء المحاولة مرة اخرى',
|
||||
'success' => 'تم إخراج المادة الإستهلاكية بنجاح.',
|
||||
'user_does_not_exist' => 'هذا المستخدم غير صحيح. الرجاء المحاولة مرة أخرى.'
|
||||
'user_does_not_exist' => 'هذا المستخدم غير صحيح. الرجاء المحاولة مرة أخرى.',
|
||||
'unavailable' => 'There are not enough consumables for this checkout. Please check the quantity left. ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -49,4 +49,6 @@ return [
|
|||
'unique' => 'غير مكرر',
|
||||
'display_in_user_view' => 'Allow the checked out user to view these values in their View Assigned Assets page',
|
||||
'display_in_user_view_table' => 'Visible to User',
|
||||
'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset',
|
||||
'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets',
|
||||
];
|
||||
|
|
|
@ -48,7 +48,7 @@ return [
|
|||
'asset_location_update_default' => 'Update only default location',
|
||||
'asset_not_deployable' => 'That asset status is not deployable. This asset cannot be checked out.',
|
||||
'asset_deployable' => 'That status is deployable. This asset can be checked out.',
|
||||
'processing_spinner' => 'Processing... (This might take a bit of time on large files)',
|
||||
'processing_spinner' => 'معالجة... (قد يستغرق هذا بعض الوقت على ملفات كبيرة)',
|
||||
'optional_infos' => 'Optional Information',
|
||||
'order_details' => 'Order Related Information'
|
||||
];
|
||||
|
|
|
@ -23,6 +23,7 @@ return [
|
|||
'restore' => 'استعادة الأصل',
|
||||
'pending' => 'قيد الانتظار',
|
||||
'undeployable' => 'غير قابل للتوزيع',
|
||||
'undeployable_tooltip' => 'This asset has a status label that is undeployable and cannot be checked out at this time.',
|
||||
'view' => 'عرض الأصل',
|
||||
'csv_error' => 'You have an error in your CSV file:',
|
||||
'import_text' => '
|
||||
|
|
|
@ -8,6 +8,7 @@ return [
|
|||
'change' => 'ادخال \\ اخراج',
|
||||
'checkout_date' => 'تاريخ الاخراج',
|
||||
'checkoutto' => 'الاخراج',
|
||||
'components_cost' => 'Total Components Cost',
|
||||
'current_value' => 'Current Value',
|
||||
'diff' => 'الفرق',
|
||||
'dl_csv' => 'التنزيل كملف CSV',
|
||||
|
|
|
@ -18,4 +18,30 @@ return array(
|
|||
'software_licenses' => 'تراخيص البرامج',
|
||||
'user' => 'مستخدم',
|
||||
'view' => 'عرض الترخيص',
|
||||
'delete_disabled' => 'This license cannot be deleted yet because some seats are still checked out.',
|
||||
'bulk' =>
|
||||
[
|
||||
'checkin_all' => [
|
||||
'button' => 'Checkin All Seats',
|
||||
'modal' => 'This will action checkin one seat. | This action will checkin all :checkedout_seats_count seats for this license.',
|
||||
'enabled_tooltip' => 'Checkin ALL seats for this license from both users and assets',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently checked out',
|
||||
'success' => 'License successfully checked in! | All licenses were successfully checked in!',
|
||||
'log_msg' => 'Checked in via bulk license checkout in license GUI',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
'enabled_tooltip' => 'Checkout ALL seats (or as many as are available) to ALL users',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently available',
|
||||
'success' => 'License successfully checked out! | :count licenses were successfully checked out!',
|
||||
'error_no_seats' => 'There are no remaining seats left for this license.',
|
||||
'warn_not_enough_seats' => ':count users were assigned this license, but we ran out of available license seats.',
|
||||
'warn_no_avail_users' => 'Nothing to do. There are no users who do not already have this license assigned to them.',
|
||||
'log_msg' => 'Checked out via bulk license checkout in license GUI',
|
||||
|
||||
|
||||
],
|
||||
],
|
||||
);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
return array(
|
||||
|
||||
'support_url_help' => 'Use <code>{LOCALE}</code> and <code>{SERIAL}</code> in your URL as variables to have those values auto-populate when viewing assets.',
|
||||
'does_not_exist' => 'الشركة المصنعة غير موجودة.',
|
||||
'assoc_users' => 'هذه الشركة المصنعة مرتبطة حاليا مع موديل واحد على الأقل وبالتالي لا يمكن حذفها. يرجى تحديث الموديلات الخاصة بك بحيث لا تشير لهذه الشركة المصنعة وحاول مرة أخرى. ',
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ return array(
|
|||
'support_email' => 'دعم البريد الإلكتروني',
|
||||
'support_phone' => 'دعم الهاتف',
|
||||
'support_url' => 'رابط الدعم التقني',
|
||||
'warranty_lookup_url' => 'Warranty Lookup URL',
|
||||
'update' => 'تحديث الشركة المصنعة',
|
||||
'url' => 'الرابط',
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'deleted' => 'تم حذف هذا الموديل.',
|
||||
'bulk_delete' => 'حذف موديلات الاصول بالجملة',
|
||||
'bulk_delete_help' => 'استخدم مربعات الاختيار أدناه لتأكيد حذف موديلات الأصول المحددة. لا يمكن حذف موديلات الأصول التي تحتوي على أصول مرتبطة بها إلى أن يتم ربط الأصول بموديل مختلف.',
|
||||
'bulk_delete_warn' => 'You are about to delete one asset model.|You are about to delete :model_count asset models.',
|
||||
'bulk_delete_warn' => 'أنت على وشك حذف نموذج واحد للأصول.|أنت على وشك حذف :model_count من نماذج الأصول.',
|
||||
'restore' => 'إستعادة الموديل',
|
||||
'requestable' => 'يمكن للمستخدمين طلب هذا الموديل',
|
||||
'show_mac_address' => 'عرض حقل عنوان ماك MAC في الأصول لهذا الموديل',
|
||||
|
|
|
@ -32,14 +32,14 @@ return array(
|
|||
|
||||
'bulkedit' => array(
|
||||
'error' => 'لم يتم تغيير أي حقول، لذلك لم يتم تحديث أي شيء.',
|
||||
'success' => 'Model successfully updated. |:model_count models successfully updated.',
|
||||
'warn' => 'You are about to update the properies of the following model: |You are about to edit the properties of the following :model_count models:',
|
||||
'success' => 'تم تحديث النموذج بنجاح. |تم تحديث :model_count نموذج بنجاح.',
|
||||
'warn' => 'أنت على وشك تحديث خصائص النموذج التالي model: |أنت على وشك تعديل خصائص :model_count models:',
|
||||
|
||||
),
|
||||
|
||||
'bulkdelete' => array(
|
||||
'error' => 'لم يتم اختيار أي موديلات، لذلك لم يتم حذف أي شيء.',
|
||||
'success' => 'Model deleted!|:success_count models deleted!',
|
||||
'success' => 'تم حذف النموذج!|تم حذف :success_count نموذج!',
|
||||
'success_partial' => 'تم حذف:success_count: من الموديلات، ومع ذلك تعذر حذف fail_count: نظرًا لأنها لا تزال تحتوي على أصول مقترنة بها.'
|
||||
),
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
'backups_restoring' => 'Restoring from Backup',
|
||||
'backups_upload' => 'Upload Backup',
|
||||
'backups_path' => 'Backups on the server are stored in <code>:path</code>',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.)<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_logged_out' => 'سيتم تسجيل الخروج من جميع المستخدمين الحاليين، بما في ذلك انت، بمجرد اكتمال الاستعادة.',
|
||||
'backups_large' => 'Very large backups may time out on the restore attempt and may still need to be run via command line. ',
|
||||
'barcode_settings' => 'إعدادات الباركود',
|
||||
|
@ -86,6 +86,8 @@ return [
|
|||
'ldap_settings' => 'إعدادات لداب',
|
||||
'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.',
|
||||
'ldap_client_tls_key' => 'LDAP Client-Side TLS key',
|
||||
'ldap_location' => 'LDAP Location',
|
||||
'ldap_location_help' => 'The Ldap Location field should be used if <strong>an OU is not being used in the Base Bind DN.</strong> Leave this blank if an OU search is being used.',
|
||||
'ldap_login_test_help' => 'أدخل اسم مستخدم وكلمة مرور LDAP من الاسم المميز الأساسي DN الذي حددته أعلاه لاختبار ما إذا كان قد تمت تهيئة معلومات تسجيل الدخول إلى LDAP بشكل صحيح أم لا. يجب حفظ تحديث LDAP الخاص بك أولا.',
|
||||
'ldap_login_sync_help' => 'هذا يختبر فقط أن LDAP يستطيع المزامنة بشكل صحيح. إذا كان استعلام التوثيق الى LDAP الخاص بك غير صحيح، قد لا يزال المستخدمون غير قادرين على تسجيل الدخول. يجب عليك اولا حفظ اي تغييرات في إعدادات LDAP.',
|
||||
'ldap_manager' => 'LDAP Manager',
|
||||
|
@ -328,4 +330,9 @@ return [
|
|||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'ldap_settings_link' => 'LDAP Settings Page',
|
||||
'slack_test' => 'Test <i class="fab fa-slack"></i> Integration',
|
||||
'google_callback_help' => 'This should be entered as the callback URL in your Google OAuth app settings in your organization's <strong><a href="https://console.cloud.google.com/" target="_blank">Google developer console <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||
'google_login' => 'Google Workspace Login Settings',
|
||||
'enable_google_login' => 'Enable users to login with Google Workspace',
|
||||
'enable_google_login_help' => 'Users will not be automatically provisioned. They must have an existing account here AND in Google Workspace, and their username here must match their Google Workspace email address. ',
|
||||
|
||||
];
|
||||
|
|
|
@ -50,5 +50,5 @@ return [
|
|||
'email_credentials_text' => 'Email my credentials to the email address above',
|
||||
'next_save_user' => 'Next: Save User',
|
||||
'all_assigned_list_generation' => 'تم إنشاؤها في:',
|
||||
'email_user_creds_on_create' => 'Email this user their credentials?',
|
||||
'email_user_creds_on_create' => 'إرسال بيانات دخول هذا المستخدم بالبريد الإلكتروني؟',
|
||||
];
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'declined' => 'لقد رفضت هذا الأصل بنجاح.',
|
||||
'bulk_manager_warn' => 'تم تحديث المستخدمين بنجاح، ولكن لم يتم حفظ إدخال مديرك لأن المدير الذي حددته كان أيضا في قائمة المستخدمين التي سيتم تعديلها، وقد لا يكون المستخدمون مديرهم الخاص. يرجى تحديد المستخدمين مرة أخرى، باستثناء المدير.',
|
||||
'user_exists' => 'المستخدم موجود مسبقاً!',
|
||||
'user_not_found' => 'المستخدم :id غير موجود.',
|
||||
'user_not_found' => 'User does not exist.',
|
||||
'user_login_required' => 'حقل تسجيل الدخول اجباري',
|
||||
'user_password_required' => 'كلمة المرور اجبارية.',
|
||||
'insufficient_permissions' => 'صلاحيات غير كافية.',
|
||||
|
|
|
@ -12,5 +12,8 @@ return [
|
|||
'remember_me' => 'تذكرني',
|
||||
'username_help_top' => 'أدخل اسم المستخدم الخاص بك <strong></strong> ليتم إرسال رابط إعادة تعيين كلمة المرور إلى البريد الإلكتروني.',
|
||||
'username_help_bottom' => 'قد يكون اسم المستخدم وعنوان البريد الإلكتروني الخاصين بك متماثلين، ولكن قد لا يكونا كذلك، بناءً على الإعدادات الخاصة بك. إذا كنت لا تستطيع تذكر اسم المستخدم الخاص بك، اتصل بالمسؤول. لن يتم إرسال رابط إعادة تعيين كلمة المرور عبر البريد الإلكتروني إلى أسماء المستخدمين التي لا تحتوي على عنوان بريد إلكتروني مرتبط بها ',
|
||||
'google_login' => 'Or login with Google Workspace',
|
||||
'google_login_failed' => 'Google Login failed, please try again.',
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ return [
|
|||
'debug_warning_text' => 'هذا التطبيق يعمل في وضع الإنتاج مع تمكين التصحيح. هذا يمكن أن يعرض البيانات الحساسة إذا كان التطبيق الخاص بك هو في متناول العالم الخارجي. تعطيل وضع التصحيح عن طريق تعيين قيمة <code>APP_DEBUG</code> في ملف <code>.env</code> إلى <code>false</code>.',
|
||||
'delete' => 'حذف',
|
||||
'delete_confirm' => 'هل أنت متأكد من حذف :المنتج؟',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This can not be undone.',
|
||||
'deleted' => 'تم حذفها',
|
||||
'delete_seats' => 'المقاعد المحذوفة',
|
||||
'deletion_failed' => 'فشل الحذف',
|
||||
|
@ -439,4 +440,13 @@ return [
|
|||
'setup_migration_output' => 'ناتج الهجرة:',
|
||||
'setup_migration_create_user' => 'التالي: إنشاء مستخدم',
|
||||
'importer_generic_error' => 'Your file import is complete, but we did receive an error. This is usually caused by third-party API throttling from a notification webhook (such as Slack) and would not have interfered with the import itself, but you should confirm this.',
|
||||
'confirm' => 'Confirm',
|
||||
'autoassign_licenses' => 'Auto-Assign Licenses',
|
||||
'autoassign_licenses_help' => 'Allow this user to have licenses assigned via the bulk-assign license UI or cli tools.',
|
||||
'autoassign_licenses_help_long' => 'This allows a user to be have licenses assigned via the bulk-assign license UI or cli tools. (For example, you might not want contractors to be auto-assigned a license you would provide to only staff members. You can still individually assign licenses to those users, but they will not be included in the Checkout License to All Users functions.)',
|
||||
'no_autoassign_licenses_help' => 'Do not include user for bulk-assigning through the license UI or cli tools.',
|
||||
'modal_confirm_generic' => 'Are you sure?',
|
||||
'cannot_be_deleted' => 'This item cannot be deleted',
|
||||
'undeployable_tooltip' => 'This item cannot be checked out. Check the quantity remaining.',
|
||||
|
||||
];
|
||||
|
|
|
@ -74,6 +74,7 @@ return [
|
|||
'your_credentials' => 'أوراق اعتماد قنص-إيت الخاص بك',
|
||||
'Accessory_Checkin_Notification' => 'تم تسحيل الملحق',
|
||||
'Asset_Checkin_Notification' => 'تم تسجيل الأصل',
|
||||
'Asset_Checkout_Notification' => 'Asset checked out',
|
||||
'License_Checkin_Notification' => 'تم تسجيل الرخصة',
|
||||
'Expected_Checkin_Report' => 'تقرير تسجيل الأصول المتوقع',
|
||||
'Expected_Checkin_Notification' => 'تذكير: تاريخ تحقق :name يقترب من الموعد النهائي',
|
||||
|
|
|
@ -67,6 +67,8 @@ return [
|
|||
'array' => 'يجب أن تحتوي :attribute على الأقل :min من العناصر.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
|
||||
'not_in' => ':attribute المحدد غير صالح.',
|
||||
'numeric' => 'يجب أن يكون :attribute رقما.',
|
||||
'present' => 'يجب أن يكون :attribute موجود.',
|
||||
|
|
|
@ -17,5 +17,6 @@ return array(
|
|||
'use_default_eula' => 'Използване на <a href="#" data-toggle="modal" data-target="#eulaModal">EULA по подразбиране</a>.',
|
||||
'use_default_eula_disabled' => '<del>Използване на EULA по подразбиране</del> Няма EULA по подразбиране. Добавете я в Настройки.',
|
||||
'clone' => 'Clone Accessory',
|
||||
'delete_disabled' => 'This accessory cannot be deleted yet because some items are still checked out.',
|
||||
|
||||
);
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Компонентът не беше отписан, моля опитайте отново.',
|
||||
'success' => 'Компонентът отписан успешно.',
|
||||
'user_does_not_exist' => 'Невалиден потребител. Моля опитайте отново.'
|
||||
'user_does_not_exist' => 'Невалиден потребител. Моля опитайте отново.',
|
||||
'unavailable' => 'Not enough components remaining: :remaining remaining, :requested requested ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Консумативът не беше изписан. Моля опитайте отново.',
|
||||
'success' => 'Консумативът изписан успешно.',
|
||||
'user_does_not_exist' => 'Невалиден потребител. Моля опитайте отново.'
|
||||
'user_does_not_exist' => 'Невалиден потребител. Моля опитайте отново.',
|
||||
'unavailable' => 'There are not enough consumables for this checkout. Please check the quantity left. ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -49,4 +49,6 @@ return [
|
|||
'unique' => 'Unique',
|
||||
'display_in_user_view' => 'Allow the checked out user to view these values in their View Assigned Assets page',
|
||||
'display_in_user_view_table' => 'Visible to User',
|
||||
'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset',
|
||||
'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets',
|
||||
];
|
||||
|
|
|
@ -23,6 +23,7 @@ return [
|
|||
'restore' => 'Възстановяване на актив',
|
||||
'pending' => 'Предстоящ',
|
||||
'undeployable' => 'Не може да бъде предоставян',
|
||||
'undeployable_tooltip' => 'This asset has a status label that is undeployable and cannot be checked out at this time.',
|
||||
'view' => 'Преглед на актив',
|
||||
'csv_error' => 'Имате грешка във вашият CSV файл:',
|
||||
'import_text' => '
|
||||
|
|
|
@ -8,6 +8,7 @@ return [
|
|||
'change' => 'Предоставяне',
|
||||
'checkout_date' => 'Дата на изписване',
|
||||
'checkoutto' => 'Изписан',
|
||||
'components_cost' => 'Total Components Cost',
|
||||
'current_value' => 'Текуща стойност',
|
||||
'diff' => 'Разлика',
|
||||
'dl_csv' => 'Сваляне на CSV',
|
||||
|
|
|
@ -18,4 +18,30 @@ return array(
|
|||
'software_licenses' => 'Софтуерни лицензи',
|
||||
'user' => 'Потребител',
|
||||
'view' => 'Преглед на лиценз',
|
||||
'delete_disabled' => 'This license cannot be deleted yet because some seats are still checked out.',
|
||||
'bulk' =>
|
||||
[
|
||||
'checkin_all' => [
|
||||
'button' => 'Checkin All Seats',
|
||||
'modal' => 'This will action checkin one seat. | This action will checkin all :checkedout_seats_count seats for this license.',
|
||||
'enabled_tooltip' => 'Checkin ALL seats for this license from both users and assets',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently checked out',
|
||||
'success' => 'License successfully checked in! | All licenses were successfully checked in!',
|
||||
'log_msg' => 'Checked in via bulk license checkout in license GUI',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
'enabled_tooltip' => 'Checkout ALL seats (or as many as are available) to ALL users',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently available',
|
||||
'success' => 'License successfully checked out! | :count licenses were successfully checked out!',
|
||||
'error_no_seats' => 'There are no remaining seats left for this license.',
|
||||
'warn_not_enough_seats' => ':count users were assigned this license, but we ran out of available license seats.',
|
||||
'warn_no_avail_users' => 'Nothing to do. There are no users who do not already have this license assigned to them.',
|
||||
'log_msg' => 'Checked out via bulk license checkout in license GUI',
|
||||
|
||||
|
||||
],
|
||||
],
|
||||
);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
return array(
|
||||
|
||||
'support_url_help' => 'Use <code>{LOCALE}</code> and <code>{SERIAL}</code> in your URL as variables to have those values auto-populate when viewing assets.',
|
||||
'does_not_exist' => 'Несъществуващ производител.',
|
||||
'assoc_users' => 'Този производител е асоцииран с поне един от моделите и не може да бъде изтрит. Моля, променете връзките на моделите по отношение на този производител и опитайте отново. ',
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ return array(
|
|||
'support_email' => 'Email за поддръжка',
|
||||
'support_phone' => 'Телефон за поддръжка',
|
||||
'support_url' => 'URL адрес за поддръжка',
|
||||
'warranty_lookup_url' => 'Warranty Lookup URL',
|
||||
'update' => 'Обновяване на производител',
|
||||
'url' => 'URL адрес',
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
'backups_restoring' => 'Възстановяване от архив',
|
||||
'backups_upload' => 'Качване на архив',
|
||||
'backups_path' => 'Архивите на сървъра са записани в <code>:path</code>',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.)<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_logged_out' => 'All existing users, including you, will be logged out once your restore is complete.',
|
||||
'backups_large' => 'Много големите архиви може да не могат да се възстановят поради изтичане на времето на сесията и ще трябва да се възстановят ръчно през команден ред. ',
|
||||
'barcode_settings' => 'Настройки на баркод',
|
||||
|
@ -86,6 +86,8 @@ return [
|
|||
'ldap_settings' => 'LDAP настройки',
|
||||
'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.',
|
||||
'ldap_client_tls_key' => 'LDAP Client-Side TLS key',
|
||||
'ldap_location' => 'LDAP Location',
|
||||
'ldap_location_help' => 'The Ldap Location field should be used if <strong>an OU is not being used in the Base Bind DN.</strong> Leave this blank if an OU search is being used.',
|
||||
'ldap_login_test_help' => 'Въведете валидни LDAP потребител и парола от базовия DN, който указахте по-горе, за да тествате коректната конфигурация. НЕОБХОДИМО Е ДА ЗАПИШЕТЕ LDAP НАСТРОЙКИТЕ ПРЕДИ ТОВА.',
|
||||
'ldap_login_sync_help' => 'Това единствено проверява дали LDAP може да се синхронизира успешно. Ако вашата LDAP заявка за оторизация не е коректна е възможно потребителите да не могат да влязат. НЕОБХОДИМО Е ДА ЗАПИШЕТЕ LDAP НАСТРОЙКИТЕ ПРЕДИ ТОВА.',
|
||||
'ldap_manager' => 'LDAP Manager',
|
||||
|
@ -328,4 +330,9 @@ return [
|
|||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'ldap_settings_link' => 'LDAP Settings Page',
|
||||
'slack_test' => 'Test <i class="fab fa-slack"></i> Integration',
|
||||
'google_callback_help' => 'This should be entered as the callback URL in your Google OAuth app settings in your organization's <strong><a href="https://console.cloud.google.com/" target="_blank">Google developer console <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||
'google_login' => 'Google Workspace Login Settings',
|
||||
'enable_google_login' => 'Enable users to login with Google Workspace',
|
||||
'enable_google_login_help' => 'Users will not be automatically provisioned. They must have an existing account here AND in Google Workspace, and their username here must match their Google Workspace email address. ',
|
||||
|
||||
];
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'declined' => 'Активът беше отказан.',
|
||||
'bulk_manager_warn' => 'Вашите потребителски профили бяха обновени успешно, обаче вашето управителско вписване не беше запазено, защото управителят, които сте избрали бе в списъка с потребителски профили за промяна и потребителите не могат да бъдат свои управители. Моля изберете вашите потребителски профили отново, с изключение на управителя.',
|
||||
'user_exists' => 'Потребителят вече съществува!',
|
||||
'user_not_found' => 'Потребител [:id] не съществува.',
|
||||
'user_not_found' => 'User does not exist.',
|
||||
'user_login_required' => 'Полето за вход е задължително',
|
||||
'user_password_required' => 'Паролата е задължителна.',
|
||||
'insufficient_permissions' => 'Нямате необходимите права.',
|
||||
|
|
|
@ -12,5 +12,8 @@ return [
|
|||
'remember_me' => 'Запомни ме',
|
||||
'username_help_top' => 'Въведете вашето <strong>потребителско име</strong> за да получите линк за смяна на парола.',
|
||||
'username_help_bottom' => 'Вашето потребителско име и е-майл адрес <em>може да</em> са еднакви или да не са, зависимост от вашата конфигурация. Ако не помните вашето потребителско име се свържете с Администратора. <br><br><strong>Потребители които нямат въведен е-майл адрес няма да получат линк за смяна на парола.</strong> ',
|
||||
'google_login' => 'Or login with Google Workspace',
|
||||
'google_login_failed' => 'Google Login failed, please try again.',
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ return [
|
|||
'debug_warning_text' => 'Това приложение се изпълнява в режим на производство с разрешено отстраняване на грешки. Това може да изложи чувствителни данни, ако приложението ви е достъпно за външния свят. Забранете режим отстраняване на грешки чрез задаване на стойността <code>APP_DEBUF</code> <code>.env</code> във файла <code>false</code>.',
|
||||
'delete' => 'Изтриване',
|
||||
'delete_confirm' => 'Сигурни ли сте, че желаете изтриването на :item?',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This can not be undone.',
|
||||
'deleted' => 'Изтрито',
|
||||
'delete_seats' => 'Изтрити работни места за лиценз',
|
||||
'deletion_failed' => 'Deletion failed',
|
||||
|
@ -439,4 +440,13 @@ return [
|
|||
'setup_migration_output' => 'Migration output:',
|
||||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'importer_generic_error' => 'Your file import is complete, but we did receive an error. This is usually caused by third-party API throttling from a notification webhook (such as Slack) and would not have interfered with the import itself, but you should confirm this.',
|
||||
'confirm' => 'Confirm',
|
||||
'autoassign_licenses' => 'Auto-Assign Licenses',
|
||||
'autoassign_licenses_help' => 'Allow this user to have licenses assigned via the bulk-assign license UI or cli tools.',
|
||||
'autoassign_licenses_help_long' => 'This allows a user to be have licenses assigned via the bulk-assign license UI or cli tools. (For example, you might not want contractors to be auto-assigned a license you would provide to only staff members. You can still individually assign licenses to those users, but they will not be included in the Checkout License to All Users functions.)',
|
||||
'no_autoassign_licenses_help' => 'Do not include user for bulk-assigning through the license UI or cli tools.',
|
||||
'modal_confirm_generic' => 'Are you sure?',
|
||||
'cannot_be_deleted' => 'This item cannot be deleted',
|
||||
'undeployable_tooltip' => 'This item cannot be checked out. Check the quantity remaining.',
|
||||
|
||||
];
|
||||
|
|
|
@ -74,6 +74,7 @@ return [
|
|||
'your_credentials' => 'Вашите идентификационни данни за Snipe-IT',
|
||||
'Accessory_Checkin_Notification' => 'Аксесоарат е вписан',
|
||||
'Asset_Checkin_Notification' => 'Актива е вписан',
|
||||
'Asset_Checkout_Notification' => 'Asset checked out',
|
||||
'License_Checkin_Notification' => 'Лиценза е вписан',
|
||||
'Expected_Checkin_Report' => 'Очакван рапорт за вписване на актив',
|
||||
'Expected_Checkin_Notification' => 'Напомняне: :name крайната дата за вписване наближава',
|
||||
|
|
|
@ -67,6 +67,8 @@ return [
|
|||
'array' => 'Атрибутът: трябва да има поне: min елементи.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
|
||||
'not_in' => 'Избраният :attribute е невалиден.',
|
||||
'numeric' => ':attribute трябва да бъде число.',
|
||||
'present' => 'Полето на атрибута трябва да е налице.',
|
||||
|
|
|
@ -17,5 +17,6 @@ return array(
|
|||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
|
||||
'clone' => 'Clone Accessory',
|
||||
'delete_disabled' => 'This accessory cannot be deleted yet because some items are still checked out.',
|
||||
|
||||
);
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Component was not checked out, please try again',
|
||||
'success' => 'Component checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.',
|
||||
'unavailable' => 'Not enough components remaining: :remaining remaining, :requested requested ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Consumable was not checked out, please try again',
|
||||
'success' => 'Consumable checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.',
|
||||
'unavailable' => 'There are not enough consumables for this checkout. Please check the quantity left. ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -49,4 +49,6 @@ return [
|
|||
'unique' => 'Unique',
|
||||
'display_in_user_view' => 'Allow the checked out user to view these values in their View Assigned Assets page',
|
||||
'display_in_user_view_table' => 'Visible to User',
|
||||
'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset',
|
||||
'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets',
|
||||
];
|
||||
|
|
|
@ -23,6 +23,7 @@ return [
|
|||
'restore' => 'Restore Asset',
|
||||
'pending' => 'Pending',
|
||||
'undeployable' => 'Undeployable',
|
||||
'undeployable_tooltip' => 'This asset has a status label that is undeployable and cannot be checked out at this time.',
|
||||
'view' => 'View Asset',
|
||||
'csv_error' => 'You have an error in your CSV file:',
|
||||
'import_text' => '
|
||||
|
|
|
@ -8,6 +8,7 @@ return [
|
|||
'change' => 'In/Out',
|
||||
'checkout_date' => 'Checkout Date',
|
||||
'checkoutto' => 'Checked Out',
|
||||
'components_cost' => 'Total Components Cost',
|
||||
'current_value' => 'Current Value',
|
||||
'diff' => 'Diff',
|
||||
'dl_csv' => 'Download CSV',
|
||||
|
|
|
@ -18,4 +18,30 @@ return array(
|
|||
'software_licenses' => 'Software Licenses',
|
||||
'user' => 'User',
|
||||
'view' => 'View License',
|
||||
'delete_disabled' => 'This license cannot be deleted yet because some seats are still checked out.',
|
||||
'bulk' =>
|
||||
[
|
||||
'checkin_all' => [
|
||||
'button' => 'Checkin All Seats',
|
||||
'modal' => 'This will action checkin one seat. | This action will checkin all :checkedout_seats_count seats for this license.',
|
||||
'enabled_tooltip' => 'Checkin ALL seats for this license from both users and assets',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently checked out',
|
||||
'success' => 'License successfully checked in! | All licenses were successfully checked in!',
|
||||
'log_msg' => 'Checked in via bulk license checkout in license GUI',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
'enabled_tooltip' => 'Checkout ALL seats (or as many as are available) to ALL users',
|
||||
'disabled_tooltip' => 'This is disabled because there are no seats currently available',
|
||||
'success' => 'License successfully checked out! | :count licenses were successfully checked out!',
|
||||
'error_no_seats' => 'There are no remaining seats left for this license.',
|
||||
'warn_not_enough_seats' => ':count users were assigned this license, but we ran out of available license seats.',
|
||||
'warn_no_avail_users' => 'Nothing to do. There are no users who do not already have this license assigned to them.',
|
||||
'log_msg' => 'Checked out via bulk license checkout in license GUI',
|
||||
|
||||
|
||||
],
|
||||
],
|
||||
);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
return array(
|
||||
|
||||
'support_url_help' => 'Use <code>{LOCALE}</code> and <code>{SERIAL}</code> in your URL as variables to have those values auto-populate when viewing assets.',
|
||||
'does_not_exist' => 'Manufacturer does not exist.',
|
||||
'assoc_users' => 'This manufacturer is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this manufacturer and try again. ',
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ return array(
|
|||
'support_email' => 'Support Email',
|
||||
'support_phone' => 'Support Phone',
|
||||
'support_url' => 'Support URL',
|
||||
'warranty_lookup_url' => 'Warranty Lookup URL',
|
||||
'update' => 'Update Manufacturer',
|
||||
'url' => 'URL',
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
'backups_restoring' => 'Restoring from Backup',
|
||||
'backups_upload' => 'Upload Backup',
|
||||
'backups_path' => 'Backups on the server are stored in <code>:path</code>',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.)<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_logged_out' => 'All existing users, including you, will be logged out once your restore is complete.',
|
||||
'backups_large' => 'Very large backups may time out on the restore attempt and may still need to be run via command line. ',
|
||||
'barcode_settings' => 'Barcode Settings',
|
||||
|
@ -86,6 +86,8 @@ return [
|
|||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.',
|
||||
'ldap_client_tls_key' => 'LDAP Client-Side TLS key',
|
||||
'ldap_location' => 'LDAP Location',
|
||||
'ldap_location_help' => 'The Ldap Location field should be used if <strong>an OU is not being used in the Base Bind DN.</strong> Leave this blank if an OU search is being used.',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_manager' => 'LDAP Manager',
|
||||
|
@ -328,4 +330,9 @@ return [
|
|||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'ldap_settings_link' => 'LDAP Settings Page',
|
||||
'slack_test' => 'Test <i class="fab fa-slack"></i> Integration',
|
||||
'google_callback_help' => 'This should be entered as the callback URL in your Google OAuth app settings in your organization's <strong><a href="https://console.cloud.google.com/" target="_blank">Google developer console <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||
'google_login' => 'Google Workspace Login Settings',
|
||||
'enable_google_login' => 'Enable users to login with Google Workspace',
|
||||
'enable_google_login_help' => 'Users will not be automatically provisioned. They must have an existing account here AND in Google Workspace, and their username here must match their Google Workspace email address. ',
|
||||
|
||||
];
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'declined' => 'You have successfully declined this asset.',
|
||||
'bulk_manager_warn' => 'Your users have been successfully updated, however your manager entry was not saved because the manager you selected was also in the user list to be edited, and users may not be their own manager. Please select your users again, excluding the manager.',
|
||||
'user_exists' => 'User already exists!',
|
||||
'user_not_found' => 'User [:id] does not exist.',
|
||||
'user_not_found' => 'User does not exist.',
|
||||
'user_login_required' => 'The login field is required',
|
||||
'user_password_required' => 'The password is required.',
|
||||
'insufficient_permissions' => 'Insufficient Permissions.',
|
||||
|
|
|
@ -12,5 +12,8 @@ return [
|
|||
'remember_me' => 'Remember Me',
|
||||
'username_help_top' => 'Enter your <strong>username</strong> to be emailed a password reset link.',
|
||||
'username_help_bottom' => 'Your username and email address <em>may</em> be the same, but may not be, depending on your configuration. If you cannot remember your username, contact your administrator. <br><br><strong>Usernames without an associated email address will not be emailed a password reset link.</strong> ',
|
||||
'google_login' => 'Or login with Google Workspace',
|
||||
'google_login_failed' => 'Google Login failed, please try again.',
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ return [
|
|||
'debug_warning_text' => 'This application is running in production mode with debugging enabled. This can expose sensitive data if your application is accessible to the outside world. Disable debug mode by setting the <code>APP_DEBUG</code> value in your <code>.env</code> file to <code>false</code>.',
|
||||
'delete' => 'Suprimeix',
|
||||
'delete_confirm' => 'Are you sure you wish to delete :item?',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This can not be undone.',
|
||||
'deleted' => 'S\'ha suprimit',
|
||||
'delete_seats' => 'Deleted Seats',
|
||||
'deletion_failed' => 'Deletion failed',
|
||||
|
@ -439,4 +440,13 @@ return [
|
|||
'setup_migration_output' => 'Migration output:',
|
||||
'setup_migration_create_user' => 'Next: Create User',
|
||||
'importer_generic_error' => 'Your file import is complete, but we did receive an error. This is usually caused by third-party API throttling from a notification webhook (such as Slack) and would not have interfered with the import itself, but you should confirm this.',
|
||||
'confirm' => 'Confirm',
|
||||
'autoassign_licenses' => 'Auto-Assign Licenses',
|
||||
'autoassign_licenses_help' => 'Allow this user to have licenses assigned via the bulk-assign license UI or cli tools.',
|
||||
'autoassign_licenses_help_long' => 'This allows a user to be have licenses assigned via the bulk-assign license UI or cli tools. (For example, you might not want contractors to be auto-assigned a license you would provide to only staff members. You can still individually assign licenses to those users, but they will not be included in the Checkout License to All Users functions.)',
|
||||
'no_autoassign_licenses_help' => 'Do not include user for bulk-assigning through the license UI or cli tools.',
|
||||
'modal_confirm_generic' => 'Are you sure?',
|
||||
'cannot_be_deleted' => 'This item cannot be deleted',
|
||||
'undeployable_tooltip' => 'This item cannot be checked out. Check the quantity remaining.',
|
||||
|
||||
];
|
||||
|
|
|
@ -75,6 +75,7 @@ return [
|
|||
'your_credentials' => 'Your Snipe-IT credentials',
|
||||
'Accessory_Checkin_Notification' => 'Accessory checked in',
|
||||
'Asset_Checkin_Notification' => 'Asset checked in',
|
||||
'Asset_Checkout_Notification' => 'Asset checked out',
|
||||
'License_Checkin_Notification' => 'License checked in',
|
||||
'Expected_Checkin_Report' => 'Expected asset checkin report',
|
||||
'Expected_Checkin_Notification' => 'Reminder: :name checkin deadline approaching',
|
||||
|
|
|
@ -67,6 +67,8 @@ return [
|
|||
'array' => 'The :attribute must have at least :min items.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
|
|
|
@ -18,5 +18,6 @@ return array(
|
|||
'use_default_eula_disabled' => '<del>Použít výchozí EULA.</del>
|
||||
Žádná výchozí EULA nenastavena. Zadejte novou v nastevení.',
|
||||
'clone' => 'Clone Accessory',
|
||||
'delete_disabled' => 'Toto příslušenství ještě nelze odstranit, protože některé jeho položky jsou stále vydány.',
|
||||
|
||||
);
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Díl se nepodařilo předat, zkuste to prosím znovu',
|
||||
'success' => 'Díl byl v pořádku předán.',
|
||||
'user_does_not_exist' => 'Neplatný uživatel. Zkuste to prosím znovu.'
|
||||
'user_does_not_exist' => 'Neplatný uživatel. Zkuste to prosím znovu.',
|
||||
'unavailable' => 'Not enough components remaining: :remaining remaining, :requested requested ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -23,7 +23,8 @@ return array(
|
|||
'checkout' => array(
|
||||
'error' => 'Spotřební materiál se nepodařilo přidělit, pokuste se o to znovu',
|
||||
'success' => 'Spotřební materiál byl v pořádku přidělen.',
|
||||
'user_does_not_exist' => 'Tento uživatel není platný, zkuste to prosím jinak.'
|
||||
'user_does_not_exist' => 'Tento uživatel není platný, zkuste to prosím jinak.',
|
||||
'unavailable' => 'There are not enough consumables for this checkout. Please check the quantity left. ',
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
|
|
@ -49,4 +49,6 @@ return [
|
|||
'unique' => 'Unikátní',
|
||||
'display_in_user_view' => 'Povolit uživateli vyhledat tyto hodnoty na stránce Zobrazit přiřazené položky',
|
||||
'display_in_user_view_table' => 'Viditelné pro uživatele',
|
||||
'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset',
|
||||
'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets',
|
||||
];
|
||||
|
|
|
@ -23,6 +23,7 @@ return [
|
|||
'restore' => 'Obnovit zařízení',
|
||||
'pending' => 'Čekající',
|
||||
'undeployable' => 'Nelze vyskladnit',
|
||||
'undeployable_tooltip' => 'This asset has a status label that is undeployable and cannot be checked out at this time.',
|
||||
'view' => 'Zobrazit majetek',
|
||||
'csv_error' => 'Máte chybu v souboru CSV:',
|
||||
'import_text' => '
|
||||
|
|
|
@ -8,6 +8,7 @@ return [
|
|||
'change' => 'Příjem/Výdej',
|
||||
'checkout_date' => 'Datum vydání',
|
||||
'checkoutto' => 'Vydané',
|
||||
'components_cost' => 'Total Components Cost',
|
||||
'current_value' => 'Aktuální hodnota',
|
||||
'diff' => 'Rozdíl',
|
||||
'dl_csv' => 'Stáhnout CSV',
|
||||
|
|
|
@ -18,4 +18,30 @@ return array(
|
|||
'software_licenses' => 'Softwarové licence',
|
||||
'user' => 'Uživatel',
|
||||
'view' => 'Ukaž licenci',
|
||||
'delete_disabled' => 'Tuto položku zatím nelze odstranit, neboť jsou vydány některé license.',
|
||||
'bulk' =>
|
||||
[
|
||||
'checkin_all' => [
|
||||
'button' => 'Hromadně převzít všechny licence',
|
||||
'modal' => 'Tímto převezmete jednu licenci. | Tímto převezmete všech :checkedout_seats_count licencí.',
|
||||
'enabled_tooltip' => 'Převzít všechny licence vydané jak uživatelům, tak i zařízením',
|
||||
'disabled_tooltip' => 'To nelze provést, neboť není vydaná žádná licence',
|
||||
'success' => 'Lincece úspěšně převzata! | Licence úspěšně převzaty!',
|
||||
'log_msg' => 'Převzato pomocí hromadného zpracování licencí',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Vydat všchny licence',
|
||||
'modal' => 'Tímto vydáte jednu licenci prvnímu dostupnému uživateli. | Tímto vydáte všech :available_seats_count licencí dostupným uživatelům, přičemž dostupný uživatel je takový, který ještě nepřevzal tuto licenci a přitom má zapnutou volbu automatického přiřazování licencí.',
|
||||
'enabled_tooltip' => 'Vydat všechny (dostupné) licence všem uživatelům',
|
||||
'disabled_tooltip' => 'Nelze provést, neboť nejsou volné žádné licence',
|
||||
'success' => 'Licence byla úspěšně vydána! | :count licenses licencí bylo úspěšně vydáno!',
|
||||
'error_no_seats' => 'Nejsou žádné volné (nevydané) licence.',
|
||||
'warn_not_enough_seats' => 'Licence byly přiřazeny :count uživatelům, ale již nezbyly žádné volné.',
|
||||
'warn_no_avail_users' => 'Nelze provést, neboť již nezbývají žádní uživatelé, kteří tuto licenci nemají přiřazenu.',
|
||||
'log_msg' => 'Vydáno pomocí hromadného zpracování licencí',
|
||||
|
||||
|
||||
],
|
||||
],
|
||||
);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
return array(
|
||||
|
||||
'support_url_help' => 'Use <code>{LOCALE}</code> and <code>{SERIAL}</code> in your URL as variables to have those values auto-populate when viewing assets.',
|
||||
'does_not_exist' => 'Výrobce neexistuje.',
|
||||
'assoc_users' => 'Tento výrobce je uveden minimálně u jednoho modelu a nemůže být smazán. Odstraňte výrobce z modelů a zkuste to znovu. ',
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ return array(
|
|||
'support_email' => 'Emailová podpora',
|
||||
'support_phone' => 'Telefonní podpora',
|
||||
'support_url' => 'URL podpory',
|
||||
'warranty_lookup_url' => 'Warranty Lookup URL',
|
||||
'update' => 'Upravit Výrobce',
|
||||
'url' => 'URL',
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
'backups_restoring' => 'Obnovit ze zálohy',
|
||||
'backups_upload' => 'Nahrát zálohu',
|
||||
'backups_path' => 'Zálohy jsou uloženy v <code>:path</code>',
|
||||
'backups_restore_warning' => 'Použijte tlačítko obnovení <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> k obnovení předchozí zálohy. (Toto v současné době nefunguje se S3 souborovým systémem nebo Dockerem.<br><br>Vaše <strong>celá databáze :app_name a všechny nahrané soubory budou zcela nahrazeny</strong> tím, co je v záloze. ',
|
||||
'backups_restore_warning' => 'Use the restore button <small><span class="btn btn-xs btn-warning"><i class="text-white fas fa-retweet" aria-hidden="true"></i></span></small> to restore from a previous backup. (This does not currently work with S3 file storage or Docker.)<br><br>Your <strong>entire :app_name database and any uploaded files will be completely replaced</strong> by what\'s in the backup file. ',
|
||||
'backups_logged_out' => 'Všichni stávající uživatelé, včetně vás, budou odhlášeni po dokončení obnovy.',
|
||||
'backups_large' => 'Velmi velké zálohy mohou při obnovování způsobit time out chybu a možná budou muset být spuštěny přes příkazový řádek. ',
|
||||
'barcode_settings' => 'Nastavení čárového kódu',
|
||||
|
@ -86,6 +86,8 @@ return [
|
|||
'ldap_settings' => 'Nastavení LDAP',
|
||||
'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate a klíč pro LDAP jsou obvykle užitečné pouze v konfiguracích Google Workspace společně s "Secure LDAP." Oba jsou vyžadovány.',
|
||||
'ldap_client_tls_key' => 'LDAP Client-Side TLS key',
|
||||
'ldap_location' => 'LDAP Location',
|
||||
'ldap_location_help' => 'The Ldap Location field should be used if <strong>an OU is not being used in the Base Bind DN.</strong> Leave this blank if an OU search is being used.',
|
||||
'ldap_login_test_help' => 'Zadejte platné LDAP uživatelské jméno a heslo ze základu rozlišeného názvu který jste určili výše a vyzkoušejte zda je LDAP přihlašování správně nastavené. NEJPRVE JE TŘEBA ULOŽIT ZMĚNĚNÉ NASTAVENÍ LDAP.',
|
||||
'ldap_login_sync_help' => 'Otestujte, že LDAP může správně synchronizovat. Pokud ověřovací LDAP dotaz není správný, uživatelé se nemusí být schopni přihlásit. JE NUTNÉ NEJPRVE NEJDŘÍVE ULOŽIT NASTAVENÍ LDAP POKUD BYLO ZMĚNĚNO.',
|
||||
'ldap_manager' => 'LDAP Manager',
|
||||
|
@ -328,4 +330,9 @@ return [
|
|||
'setup_migration_create_user' => 'Další: Vytvořit uživatele',
|
||||
'ldap_settings_link' => 'Nastavení LDAP',
|
||||
'slack_test' => 'Test <i class="fab fa-slack"></i> Integrace',
|
||||
'google_callback_help' => 'This should be entered as the callback URL in your Google OAuth app settings in your organization's <strong><a href="https://console.cloud.google.com/" target="_blank">Google developer console <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||
'google_login' => 'Google Workspace Login Settings',
|
||||
'enable_google_login' => 'Enable users to login with Google Workspace',
|
||||
'enable_google_login_help' => 'Users will not be automatically provisioned. They must have an existing account here AND in Google Workspace, and their username here must match their Google Workspace email address. ',
|
||||
|
||||
];
|
||||
|
|
|
@ -6,7 +6,7 @@ return array(
|
|||
'declined' => 'Úspěšně jste odmítli tento majetek.',
|
||||
'bulk_manager_warn' => 'Uživatelé byli úspěšně aktualizováni, položka správce však nebyla uložena, protože správce, který jste si vybrali, byl také v seznamu uživatelů, který má být upraven, a uživatelé nemusí být jejich vlastní správce. Zvolte své uživatele znovu, kromě správce.',
|
||||
'user_exists' => 'Uživatel již existuje!',
|
||||
'user_not_found' => 'Uživatel [:id] neexistuje.',
|
||||
'user_not_found' => 'User does not exist.',
|
||||
'user_login_required' => 'Přihlašovací pole je povinné',
|
||||
'user_password_required' => 'Je vyžadováno heslo.',
|
||||
'insufficient_permissions' => 'Nedostatečná oprávnění.',
|
||||
|
|
|
@ -12,5 +12,8 @@ return [
|
|||
'remember_me' => 'Pamatovat si mě',
|
||||
'username_help_top' => 'Zadejte své <strong>uživatelské jméno</strong> pro zaslání e-mailu s odkazem pro obnovení hesla.',
|
||||
'username_help_bottom' => 'Vaše uživatelské jméno a e-mailová adresa <em>mohou</em> být stejná, ale nemusí být, záleží na Vašem nastavení. Pokud si nepamatujete Vaše uživatelské jméno, kontaktujte Vašeho správce. <br><br><strong>Uživatelským jménům bez přidružené e-mailové adresy nebude zaslán odkaz pro obnovu hesla.</strong> ',
|
||||
'google_login' => 'Or login with Google Workspace',
|
||||
'google_login_failed' => 'Google Login failed, please try again.',
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ return [
|
|||
'debug_warning_text' => 'Tato aplikace běží ve výrobním režimu s povoleným laděním. To znamená že citlivá data mohou být přístupná vnějšímu světu. Deaktivujte režim ladění nastavením hodnoty <code>APP_DEBUG</code> v souboru <code>.env</code> na <code>false</code>.',
|
||||
'delete' => 'Odstranit',
|
||||
'delete_confirm' => 'Opravdu chcete smazat :item?',
|
||||
'delete_confirm_no_undo' => 'Opravdu chcete odstranit :item? Tuto operaci nelze zvrátit.',
|
||||
'deleted' => 'Odstraněno',
|
||||
'delete_seats' => 'Vymazaná licenční místa',
|
||||
'deletion_failed' => 'Odstranění se nezdařilo',
|
||||
|
@ -439,4 +440,13 @@ return [
|
|||
'setup_migration_output' => 'Výstup migrace:',
|
||||
'setup_migration_create_user' => 'Další: Založení uživatele',
|
||||
'importer_generic_error' => 'Your file import is complete, but we did receive an error. This is usually caused by third-party API throttling from a notification webhook (such as Slack) and would not have interfered with the import itself, but you should confirm this.',
|
||||
'confirm' => 'Potvrdit',
|
||||
'autoassign_licenses' => 'Automatické přiřazení licencí',
|
||||
'autoassign_licenses_help' => 'Allow this user to have licenses assigned via the bulk-assign license UI or cli tools.',
|
||||
'autoassign_licenses_help_long' => 'Povolí uživateli získávat licence skze hromadnou správu licencí, ať již GUI or CLI. Například pokud si nepřejete, aby externisti nedostávali automaticky licence, náležící pouze zaměstnancům. Licenci jim můžete i nadále přiřazovat ručně, pouze nebudou zahrnuti do hromadného zpracování.',
|
||||
'no_autoassign_licenses_help' => 'Nezahrnovat uživatele do hromadného zpracování licencí.',
|
||||
'modal_confirm_generic' => 'Jste si jistí?',
|
||||
'cannot_be_deleted' => 'Položka nemůže být odstraněna',
|
||||
'undeployable_tooltip' => 'This item cannot be checked out. Check the quantity remaining.',
|
||||
|
||||
];
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue