mirror of
https://github.com/snipe/snipe-it.git
synced 2025-01-11 22:07:29 -08:00
Merge pull request #14059 from snipe/localizations/new_strings_pre-6.3.0
Normalize language codes, updated strings
This commit is contained in:
commit
4ee5ba4496
|
@ -6,7 +6,7 @@ APP_DEBUG=false
|
|||
APP_KEY=ChangeMe
|
||||
APP_URL=null
|
||||
APP_TIMEZONE='UTC'
|
||||
APP_LOCALE=en
|
||||
APP_LOCALE='en-US'
|
||||
MAX_RESULTS=500
|
||||
|
||||
# --------------------------------------------
|
||||
|
|
|
@ -6,7 +6,7 @@ APP_DEBUG=false
|
|||
APP_KEY='base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU='
|
||||
APP_URL='http://localhost:8000'
|
||||
APP_TIMEZONE='US/Pacific'
|
||||
APP_LOCALE=en
|
||||
APP_LOCALE='en-US'
|
||||
FILESYSTEM_DISK=local
|
||||
|
||||
# --------------------------------------------
|
||||
|
|
|
@ -6,7 +6,7 @@ APP_DEBUG=true
|
|||
APP_KEY=base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU=
|
||||
APP_URL=http://localhost:8000
|
||||
APP_TIMEZONE='UTC'
|
||||
APP_LOCALE=en
|
||||
APP_LOCALE='en-US'
|
||||
|
||||
# --------------------------------------------
|
||||
# REQUIRED: DATABASE SETTINGS
|
||||
|
|
|
@ -18,6 +18,58 @@ use Carbon\Carbon;
|
|||
|
||||
class Helper
|
||||
{
|
||||
|
||||
|
||||
public static $language_map = [
|
||||
'af' => 'af-ZA', // Afrikaans
|
||||
'am' => 'am-ET', // Amharic
|
||||
'ar' => 'ar-SA', // Arabic
|
||||
'bg' => 'bg-BG', // Bulgarian
|
||||
'ca' => 'ca-ES', // Catalan
|
||||
'cs' => 'cs-CZ', // Czech
|
||||
'cy' => 'cy-GB', // Welsh
|
||||
'da' => 'da-DK', // Danish
|
||||
'de-i' => 'de-if', // German informal
|
||||
'de' => 'de-DE', // German
|
||||
'el' => 'el-GR', // Greek
|
||||
'en' => 'en-US', // English
|
||||
'et' => 'et-EE', // Estonian
|
||||
'fa' => 'fa-IR', // Persian
|
||||
'fi' => 'fi-FI', // Finnish
|
||||
'fil' => 'fil-PH', // Filipino
|
||||
'fr' => 'fr-FR', // French
|
||||
'he' => 'he-IL', // Hebrew
|
||||
'hr' => 'hr-HR', // Croatian
|
||||
'hu' => 'hu-HU', // Hungarian
|
||||
'id' => 'id-ID', // Indonesian
|
||||
'is' => 'is-IS', // Icelandic
|
||||
'it' => 'it-IT', // Italian
|
||||
'iu' => 'iu-NU', // Inuktitut
|
||||
'ja' => 'ja-JP', // Japanese
|
||||
'ko' => 'ko-KR', // Korean
|
||||
'lt' => 'lt-LT', // Lithuanian
|
||||
'lv' => 'lv-LV', // Latvian
|
||||
'mi' => 'mi-NZ', // Maori
|
||||
'mk' => 'mk-MK', // Macedonian
|
||||
'mn' => 'mn-MN', // Mongolian
|
||||
'ms' => 'ms-MY', // Malay
|
||||
'nl' => 'nl-NL', // Dutch
|
||||
'no' => 'no-NO', // Norwegian
|
||||
'pl' => 'pl-PL', // Polish
|
||||
'ro' => 'ro-RO', // Romanian
|
||||
'ru' => 'ru-RU', // Russian
|
||||
'sk' => 'sk-SK', // Slovak
|
||||
'sl' => 'sl-SI', // Slovenian
|
||||
'so' => 'so-SO', // Somali
|
||||
'ta' => 'ta-IN', // Tamil
|
||||
'th' => 'th-TH', // Thai
|
||||
'tl' => 'tl-PH', // Tagalog
|
||||
'tr' => 'tr-TR', // Turkish
|
||||
'uk' => 'uk-UA', // Ukrainian
|
||||
'vi' => 'vi-VN', // Vietnamese
|
||||
'zu' => 'zu-ZA', // Zulu
|
||||
];
|
||||
|
||||
/**
|
||||
* Simple helper to invoke the markdown parser
|
||||
*
|
||||
|
@ -1317,7 +1369,7 @@ class Helper
|
|||
|
||||
|
||||
/*
|
||||
* I know it's gauche to return a shitty HTML string, but this is just a helper and since it will be the same every single time,
|
||||
* I know it's gauche to return a shitty HTML string, but this is just a helper and since it will be the same every single time,
|
||||
* it seemed pretty safe to do here. Don't you judge me.
|
||||
*/
|
||||
public static function showDemoModeFieldWarning() {
|
||||
|
@ -1325,4 +1377,55 @@ class Helper
|
|||
return "<p class=\"text-warning\"><i class=\"fas fa-lock\"></i>" . trans('general.feature_disabled') . "</p>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ah, legacy code.
|
||||
*
|
||||
* This corrects the original mistakes from 2013 where we used the wrong locale codes. Hopefully we
|
||||
* can get rid of this in a future version, but this should at least give us the belt and suspenders we need
|
||||
* to be sure this change is not too disruptive.
|
||||
*
|
||||
* In this array, we ONLY include the older languages where we weren't using the correct locale codes.
|
||||
*
|
||||
* @see public static $language_map in this file
|
||||
* @author A. Gianotto <snipe@snipe.net>
|
||||
* @since 6.3.0
|
||||
*
|
||||
* @param $language_code
|
||||
* @return string []
|
||||
*/
|
||||
public static function mapLegacyLocale($language_code = null)
|
||||
{
|
||||
|
||||
if (strlen($language_code) > 4) {
|
||||
return $language_code;
|
||||
}
|
||||
|
||||
foreach (self::$language_map as $legacy => $new) {
|
||||
if ($language_code == $legacy) {
|
||||
\Log::debug('Current language is '.$legacy.', using '.$new.' instead');
|
||||
return $new;
|
||||
}
|
||||
}
|
||||
|
||||
// Return US english if we don't have a match
|
||||
return 'en-US';
|
||||
}
|
||||
|
||||
public static function mapBackToLegacyLocale($new_locale = null)
|
||||
{
|
||||
if (strlen($new_locale) <= 4) {
|
||||
return $new_locale; //"new locale" apparently wasn't quite so new
|
||||
}
|
||||
|
||||
// This does a *reverse* search against our new language map array - given the value, find the *key* for it
|
||||
$legacy_locale = array_search($new_locale, self::$language_map);
|
||||
|
||||
if($legacy_locale !== false) {
|
||||
return $legacy_locale;
|
||||
}
|
||||
return $new_locale; // better that you have some weird locale that doesn't fit into our mappings anywhere than 'void'
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Http\Middleware;
|
|||
|
||||
use App\Models\Setting;
|
||||
use Closure;
|
||||
use \App\Helpers\Helper;
|
||||
|
||||
class CheckLocale
|
||||
{
|
||||
|
@ -18,22 +19,28 @@ class CheckLocale
|
|||
*/
|
||||
public function handle($request, Closure $next, $guard = null)
|
||||
{
|
||||
|
||||
// Default app settings from config
|
||||
$language = config('app.locale');
|
||||
|
||||
if ($settings = Setting::getSettings()) {
|
||||
|
||||
// User's preference
|
||||
if (($request->user()) && ($request->user()->locale)) {
|
||||
\App::setLocale($request->user()->locale);
|
||||
$language = $request->user()->locale;
|
||||
|
||||
// App setting preference
|
||||
} elseif ($settings->locale != '') {
|
||||
\App::setLocale($settings->locale);
|
||||
|
||||
// Default app setting
|
||||
} else {
|
||||
\App::setLocale(config('app.locale'));
|
||||
$language = $settings->locale;
|
||||
}
|
||||
}
|
||||
\App::setLocale(config('app.locale'));
|
||||
|
||||
}
|
||||
|
||||
if (config('app.locale') != Helper::mapLegacyLocale($language)) {
|
||||
\Log::warning('Your current APP_LOCALE in your .env is set to "'.config('app.locale').'" and should be updated to be "'.Helper::mapLegacyLocale($language).'" in '.base_path().'/.env. Translations may display unexpectedly until this is updated.');
|
||||
}
|
||||
|
||||
\App::setLocale(Helper::mapLegacyLocale($language));
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
|
60
database/migrations/2023_12_19_081112_fix_language_dirs.php
Normal file
60
database/migrations/2023_12_19_081112_fix_language_dirs.php
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use \App\Helpers\Helper;
|
||||
use \App\Models\Setting;
|
||||
use \App\Models\User;
|
||||
|
||||
class FixLanguageDirs extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
/**
|
||||
* Update the settings table
|
||||
*/
|
||||
$settings = Setting::getSettings();
|
||||
if (($settings) && ($settings->locale != '')) {
|
||||
DB::table('settings')->update(['locale' => Helper::mapLegacyLocale($settings->locale)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the users table
|
||||
*/
|
||||
$users = User::whereNotNull('locale')->get();
|
||||
// Skip the model in case the validation rules have changed
|
||||
foreach ($users as $user) {
|
||||
DB::table('users')->where('id', $user->id)->update(['locale' => Helper::mapLegacyLocale($user->locale)]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
$settings = Setting::getSettings();
|
||||
if (($settings) && ($settings->locale != '')) {
|
||||
DB::table('settings')->update(['locale' => Helper::mapBackToLegacyLocale($settings->locale)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the users table
|
||||
*/
|
||||
$users = User::whereNotNull('locale')->whereNull('deleted_at')->get();
|
||||
// Skip the model in case the validation rules have changed
|
||||
foreach ($users as $user) {
|
||||
DB::table('users')->where('id', $user->id)->update(['locale' => Helper::mapBackToLegacyLocale($user->locale)]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
return [
|
||||
'select_company' => 'Kies Maatskappy',
|
||||
'about_companies' => 'About Companies',
|
||||
'about_companies' => 'Oor Maatskappye',
|
||||
'about_companies_description' => ' You can use companies as a simple informative field, or you can use them to restrict asset visibility and availability to users with a specific company by enabling Full Company Support in your Admin Settings.',
|
||||
];
|
|
@ -23,7 +23,7 @@ return [
|
|||
'restore' => [
|
||||
'error' => 'Bate is nie herstel nie, probeer asseblief weer',
|
||||
'success' => 'Bate herstel suksesvol.',
|
||||
'bulk_success' => 'Asset restored successfully.',
|
||||
'bulk_success' => 'Bate herstel suksesvol.',
|
||||
'nothing_updated' => 'No assets were selected, so nothing was restored.',
|
||||
],
|
||||
|
|
@ -24,7 +24,7 @@ return [
|
|||
'image' => 'Toestelbeeld',
|
||||
'days_without_acceptance' => 'Dae sonder aanvaarding',
|
||||
'monthly_depreciation' => 'Monthly Depreciation',
|
||||
'assigned_to' => 'Assigned To',
|
||||
'assigned_to' => 'Toevertrou aan',
|
||||
'requesting_user' => 'Requesting User',
|
||||
'requested_date' => 'Requested Date',
|
||||
'changed' => 'Changed',
|
50
resources/lang/af-ZA/admin/kits/general.php
Normal file
50
resources/lang/af-ZA/admin/kits/general.php
Normal file
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'about_kits_title' => 'About Predefined Kits',
|
||||
'about_kits_text' => 'Predefined Kits let you quickly check out a collection of items (assets, licenses, etc) to a user. This can be helpful when your onboarding process is consistent across many users and all users receive the same items.',
|
||||
'checkout' => 'Checkout Kit ',
|
||||
'create_success' => 'Kit was successfully created.',
|
||||
'create' => 'Create Predefined Kit',
|
||||
'update' => 'Update Predefined Kit',
|
||||
'delete_success' => 'Kit was successfully deleted.',
|
||||
'update_success' => 'Kit was successfully updated.',
|
||||
'none_models' => 'There are not enough available assets for :model to checkout. :qty are required. ',
|
||||
'none_licenses' => 'There are not enough available seats for :license to checkout. :qty are required. ',
|
||||
'none_consumables' => 'There are not enough available units of :consumable to checkout. :qty are required. ',
|
||||
'none_accessory' => 'There are not enough available units of :accessory to checkout. :qty are required. ',
|
||||
'append_accessory' => 'Append Accessory',
|
||||
'update_appended_accessory' => 'Update appended Accessory',
|
||||
'append_consumable' => 'Append Consumable',
|
||||
'update_appended_consumable' => 'Update appended Consumable',
|
||||
'append_license' => 'Append license',
|
||||
'update_appended_license' => 'Update appended license',
|
||||
'append_model' => 'Append model',
|
||||
'update_appended_model' => 'Update appended model',
|
||||
'license_error' => 'License already attached to kit',
|
||||
'license_added_success' => 'License added successfully',
|
||||
'license_updated' => 'License was successfully updated',
|
||||
'license_none' => 'Lisensie bestaan nie',
|
||||
'license_detached' => 'License was successfully detached',
|
||||
'consumable_added_success' => 'Consumable added successfully',
|
||||
'consumable_updated' => 'Consumable was successfully updated',
|
||||
'consumable_error' => 'Consumable already attached to kit',
|
||||
'consumable_deleted' => 'Delete was successful',
|
||||
'consumable_none' => 'Verbruiksgoedere bestaan nie',
|
||||
'consumable_detached' => 'Consumable was successfully detached',
|
||||
'accessory_added_success' => 'Accessory added successfully',
|
||||
'accessory_updated' => 'Accessory was successfully updated',
|
||||
'accessory_detached' => 'Accessory was successfully detached',
|
||||
'accessory_error' => 'Accessory already attached to kit',
|
||||
'accessory_deleted' => 'Delete was successful',
|
||||
'accessory_none' => 'Accessory does not exist',
|
||||
'checkout_success' => 'Checkout was successful',
|
||||
'checkout_error' => 'Checkout error',
|
||||
'kit_none' => 'Kit does not exist',
|
||||
'kit_created' => 'Kit was successfully created',
|
||||
'kit_updated' => 'Kit was successfully updated',
|
||||
'kit_not_found' => 'Kit not found',
|
||||
'kit_deleted' => 'Kit was successfully deleted',
|
||||
'kit_model_updated' => 'Model was successfully updated',
|
||||
'kit_model_detached' => 'Model was successfully detached',
|
||||
];
|
13
resources/lang/af-ZA/admin/labels/table.php
Normal file
13
resources/lang/af-ZA/admin/labels/table.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'labels_per_page' => 'Labels',
|
||||
'support_fields' => 'Fields',
|
||||
'support_asset_tag' => 'tag',
|
||||
'support_1d_barcode' => '1D',
|
||||
'support_2d_barcode' => '2D',
|
||||
'support_logo' => 'logo',
|
||||
'support_title' => 'Titel',
|
||||
|
||||
];
|
|
@ -22,18 +22,18 @@ return [
|
|||
'currency' => 'Ligging Geld',
|
||||
'ldap_ou' => 'LDAP soek OU',
|
||||
'user_name' => 'User Name',
|
||||
'department' => 'Department',
|
||||
'location' => 'Location',
|
||||
'department' => 'Departement',
|
||||
'location' => 'plek',
|
||||
'asset_tag' => 'Assets Tag',
|
||||
'asset_name' => 'Name',
|
||||
'asset_category' => 'Category',
|
||||
'asset_manufacturer' => 'Manufacturer',
|
||||
'asset_model' => 'Model',
|
||||
'asset_name' => 'naam',
|
||||
'asset_category' => 'kategorie',
|
||||
'asset_manufacturer' => 'vervaardiger',
|
||||
'asset_model' => 'model',
|
||||
'asset_serial' => 'Serial',
|
||||
'asset_location' => 'Location',
|
||||
'asset_checked_out' => 'Checked Out',
|
||||
'asset_location' => 'plek',
|
||||
'asset_checked_out' => 'Gekontroleer',
|
||||
'asset_expected_checkin' => 'Expected Checkin',
|
||||
'date' => 'Date:',
|
||||
'date' => 'datum:',
|
||||
'signed_by_asset_auditor' => 'Signed By (Asset Auditor):',
|
||||
'signed_by_finance_auditor' => 'Signed By (Finance Auditor):',
|
||||
'signed_by_location_manager' => 'Signed By (Location Manager):',
|
|
@ -9,6 +9,7 @@ return [
|
|||
'ad_append_domain_help' => 'User isn\'t required to write "username@domain.local", they can just type "username".',
|
||||
'admin_cc_email' => 'CC Email',
|
||||
'admin_cc_email_help' => 'If you would like to send a copy of checkin/checkout emails that are sent to users to an additional email account, enter it here. Otherwise leave this field blank.',
|
||||
'admin_settings' => 'Admin Settings',
|
||||
'is_ad' => 'Dit is \'n Active Directory-bediener',
|
||||
'alerts' => 'Alerts',
|
||||
'alert_title' => 'Update Notification Settings',
|
||||
|
@ -162,7 +163,7 @@ return [
|
|||
'pwd_secure_complexity_symbols' => 'Require at least one symbol',
|
||||
'pwd_secure_complexity_case_diff' => 'Require at least one uppercase and one lowercase',
|
||||
'pwd_secure_min' => 'Wagwoord minimum karakters',
|
||||
'pwd_secure_min_help' => 'Minimum permitted value is 8',
|
||||
'pwd_secure_min_help' => 'Minimum toelaatbare waarde is 8',
|
||||
'pwd_secure_uncommon' => 'Voorkom algemene wagwoorde',
|
||||
'pwd_secure_uncommon_help' => 'Dit sal gebruikers nie toelaat om algemene wagwoorde te gebruik van die top 10,000 wagwoorde wat in oortredings gerapporteer is nie.',
|
||||
'qr_help' => 'Aktiveer QR-kodes eers om dit te stel',
|
||||
|
@ -316,7 +317,7 @@ return [
|
|||
'labels_help' => 'Label sizes & settings',
|
||||
'purge' => 'Purge',
|
||||
'purge_keywords' => 'permanently delete',
|
||||
'purge_help' => 'Purge Deleted Records',
|
||||
'purge_help' => 'Verwyder verwyderde rekords',
|
||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||
'ldap_ad' => 'LDAP/AD',
|
||||
'employee_number' => 'Employee Number',
|
||||
|
@ -334,7 +335,7 @@ return [
|
|||
'label2_enable_help' => 'Switch to the new label engine. <b>Note: You will need to save this setting before setting others.</b>',
|
||||
'label2_template' => 'Template',
|
||||
'label2_template_help' => 'Select which template to use for label generation',
|
||||
'label2_title' => 'Title',
|
||||
'label2_title' => 'Titel',
|
||||
'label2_title_help' => 'The title to show on labels that support it',
|
||||
'label2_title_help_phold' => 'The placeholder <code>{COMPANY}</code> will be replaced with the asset's company name',
|
||||
'label2_asset_logo' => 'Use Asset Logo',
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
return array(
|
||||
'created' => 'Created',
|
||||
'created' => 'Geskep',
|
||||
'size' => 'Size',
|
||||
);
|
|
@ -3,6 +3,7 @@
|
|||
return [
|
||||
|
||||
'does_not_exist' => 'Statuslabel bestaan nie.',
|
||||
'deleted_label' => 'Deleted Status Label',
|
||||
'assoc_assets' => 'Hierdie statusetiket word tans geassosieer met ten minste een bate en kan nie uitgevee word nie. Dateer asseblief jou bates op om nie meer hierdie status te verwys nie en probeer weer.',
|
||||
|
||||
'create' => [
|
||||
|
@ -23,7 +24,7 @@ return [
|
|||
|
||||
'help' => [
|
||||
'undeployable' => 'Hierdie bates kan nie aan enigiemand toegewys word nie.',
|
||||
'deployable' => 'These assets can be checked out. Once they are assigned, they will assume a meta status of <i class="fas fa-circle text-blue"></i> <strong>Deployed</strong>.',
|
||||
'deployable' => 'Hierdie bates kan nagegaan word. Sodra hulle toegewys is, sal hulle \'n meta-status van <i class="fas fa-circle text-blue"></i> <strong>Deployed</strong> aanvaar.',
|
||||
'archived' => 'Hierdie bates kan nie nagegaan word nie en sal eers in die Argief-aansig verskyn. Dit is nuttig vir die behoud van inligting oor bates vir begrotings / historiese doeleindes, maar om hulle uit die dag-tot-dag-bate lys te hou.',
|
||||
'pending' => 'Hierdie bates kan nog nie aan iemand toegewys word nie, wat dikwels gebruik word vir items wat buite herstel is, maar sal na verwagting terugkeer.',
|
||||
],
|
|
@ -26,8 +26,8 @@ return [
|
|||
'view_user' => 'Sien gebruiker: naam',
|
||||
'usercsv' => 'CSV-lêer',
|
||||
'two_factor_admin_optin_help' => 'Jou huidige administrasie-instellings laat selektiewe handhawing van twee-faktor-verifikasie toe.',
|
||||
'two_factor_enrolled' => '2FA Device Enrolled ',
|
||||
'two_factor_active' => '2FA Active ',
|
||||
'two_factor_enrolled' => '2FA-toestel ingeskryf',
|
||||
'two_factor_active' => '2FA aktief',
|
||||
'user_deactivated' => 'User cannot login',
|
||||
'user_activated' => 'User can login',
|
||||
'activation_status_warning' => 'Do not change activation status',
|
|
@ -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' => 'User does not exist.',
|
||||
'user_not_found' => 'Gebruiker bestaan nie.',
|
||||
'user_login_required' => 'Die aanmeldingsveld is nodig',
|
||||
'user_has_no_assets_assigned' => 'No assets currently assigned to user.',
|
||||
'user_password_required' => 'Die wagwoord is nodig.',
|
|
@ -21,6 +21,7 @@ return array(
|
|||
'manager' => 'Bestuurder',
|
||||
'managed_locations' => 'Bestuurde plekke',
|
||||
'name' => 'naam',
|
||||
'nogroup' => 'No groups have been created yet. To add one, visit: ',
|
||||
'notes' => 'notas',
|
||||
'password_confirm' => 'Bevestig Wagwoord',
|
||||
'password' => 'wagwoord',
|
|
@ -11,7 +11,7 @@ return array(
|
|||
|
||||
'two_factor' => array(
|
||||
'already_enrolled' => 'Your device is already enrolled.',
|
||||
'success' => 'You have successfully logged in.',
|
||||
'success' => 'Jy is suksesvol aangemeld.',
|
||||
'code_required' => 'Two-factor code is required.',
|
||||
'invalid_code' => 'Two-factor code is invalid.',
|
||||
),
|
|
@ -15,10 +15,10 @@ return [
|
|||
'select_file' => 'Kies lêer ...',
|
||||
'select_files' => 'Select Files...',
|
||||
'generate_labels' => '{1} Generate Label|[2,*] Generate Labels',
|
||||
'send_password_link' => 'Send Password Reset Link',
|
||||
'send_password_link' => 'Stuur wagwoord terugstel skakel',
|
||||
'go' => 'Go',
|
||||
'bulk_actions' => 'Bulk Actions',
|
||||
'add_maintenance' => 'Add Maintenance',
|
||||
'append' => 'Append',
|
||||
'new' => 'New',
|
||||
'new' => 'Nuwe',
|
||||
];
|
|
@ -156,6 +156,7 @@ return [
|
|||
'image_filetypes_help' => 'Accepted filetypes are jpg, webp, png, gif, and svg. Max upload size allowed is :size.',
|
||||
'unaccepted_image_type' => 'This image file was not readable. Accepted filetypes are jpg, webp, png, gif, and svg. The mimetype of this file is: :mimetype.',
|
||||
'import' => 'invoer',
|
||||
'import_this_file' => 'Map fields and process this file',
|
||||
'importing' => 'Importing',
|
||||
'importing_help' => 'You can import assets, accessories, licenses, components, consumables, and users via CSV file. <br><br>The CSV should be comma-delimited and formatted with headers that match the ones in the <a href="https://snipe-it.readme.io/docs/importing" target="_new">sample CSVs in the documentation</a>.',
|
||||
'import-history' => 'Invoer Geskiedenis',
|
||||
|
@ -224,11 +225,11 @@ return [
|
|||
'quickscan_checkin_status' => 'Checkin Status',
|
||||
'ready_to_deploy' => 'Klaar om te implementeer',
|
||||
'recent_activity' => 'Onlangse aktiwiteite',
|
||||
'remaining' => 'Remaining',
|
||||
'remaining' => 'oorblywende',
|
||||
'remove_company' => 'Verwyder Maatskappyvereniging',
|
||||
'reports' => 'Berigte',
|
||||
'restored' => 'restored',
|
||||
'restore' => 'Restore',
|
||||
'restore' => 'herstel',
|
||||
'requestable_models' => 'Requestable Models',
|
||||
'requested' => 'versoek',
|
||||
'requested_date' => 'Requested Date',
|
||||
|
@ -283,7 +284,7 @@ return [
|
|||
'undeployable' => 'Un-verbintenis',
|
||||
'unknown_admin' => 'Onbekende Admin',
|
||||
'username_format' => 'Gebruikernaam',
|
||||
'username' => 'Username',
|
||||
'username' => 'Gebruikersnaam',
|
||||
'update' => 'Opdateer',
|
||||
'upload_filetypes_help' => 'Allowed filetypes are png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf and rar. Max upload size allowed is :size.',
|
||||
'uploaded' => 'opgelaai',
|
||||
|
@ -319,7 +320,7 @@ return [
|
|||
'hide_help' => 'Hide help',
|
||||
'view_all' => 'view all',
|
||||
'hide_deleted' => 'Hide Deleted',
|
||||
'email' => 'Email',
|
||||
'email' => 'e-pos',
|
||||
'do_not_change' => 'Do Not Change',
|
||||
'bug_report' => 'Report a Bug',
|
||||
'user_manual' => 'User\'s Manual',
|
||||
|
@ -332,7 +333,7 @@ return [
|
|||
'setup_create_admin' => 'Create Admin User',
|
||||
'setup_done' => 'Finished!',
|
||||
'bulk_edit_about_to' => 'You are about to edit the following: ',
|
||||
'checked_out' => 'Checked Out',
|
||||
'checked_out' => 'Gekontroleer',
|
||||
'checked_out_to' => 'Checked out to',
|
||||
'fields' => 'Fields',
|
||||
'last_checkout' => 'Last Checkout',
|
||||
|
@ -375,15 +376,15 @@ return [
|
|||
'notification_error_hint' => 'Please check the form below for errors',
|
||||
'notification_bulk_error_hint' => 'The following fields had validation errors and were not edited:',
|
||||
'notification_success' => 'Success',
|
||||
'notification_warning' => 'Warning',
|
||||
'notification_info' => 'Info',
|
||||
'notification_warning' => 'Waarskuwing',
|
||||
'notification_info' => 'info',
|
||||
'asset_information' => 'Asset Information',
|
||||
'model_name' => 'Model Name',
|
||||
'asset_name' => 'Asset Name',
|
||||
'asset_name' => 'Bate Naam',
|
||||
'consumable_information' => 'Consumable Information:',
|
||||
'consumable_name' => 'Consumable Name:',
|
||||
'consumable_name' => 'Verbruikbare Naam:',
|
||||
'accessory_information' => 'Accessory Information:',
|
||||
'accessory_name' => 'Accessory Name:',
|
||||
'accessory_name' => 'Toebehore Naam:',
|
||||
'clone_item' => 'Clone Item',
|
||||
'checkout_tooltip' => 'Check this item out',
|
||||
'checkin_tooltip' => 'Check this item in',
|
||||
|
@ -486,10 +487,17 @@ return [
|
|||
'address2' => 'Address Line 2',
|
||||
'import_note' => 'Imported using csv importer',
|
||||
],
|
||||
'percent_complete' => '% complete',
|
||||
'percent_complete' => '% volledige',
|
||||
'uploading' => 'Uploading... ',
|
||||
'upload_error' => 'Error uploading file. Please check that there are no empty rows and that no column names are duplicated.',
|
||||
'copy_to_clipboard' => 'Copy to Clipboard',
|
||||
'copied' => 'Copied!',
|
||||
'status_compatibility' => 'If assets are already assigned, they cannot be changed to a non-deployable status type and this value change will be skipped.',
|
||||
'rtd_location_help' => 'This is the location of the asset when it is not checked out',
|
||||
'item_not_found' => ':item_type ID :id does not exist or has been deleted',
|
||||
'action_permission_denied' => 'You do not have permission to :action :item_type ID :id',
|
||||
'action_permission_generic' => 'You do not have permission to :action this :item_type',
|
||||
'edit' => 'wysig',
|
||||
'action_source' => 'Action Source',
|
||||
|
||||
];
|
35
resources/lang/af-ZA/help.php
Normal file
35
resources/lang/af-ZA/help.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reminder Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'more_info_title' => 'Meer inligting',
|
||||
|
||||
'audit_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log.<br><br>Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||
|
||||
'assets' => 'Bates is items opgespoor volgens reeksnommer of bate-tag. Hulle is geneig om hoër waarde items te wees waar die identifisering van \'n spesifieke item saak maak.',
|
||||
|
||||
'categories' => 'Kategorieë help jou om jou items te organiseer. Sommige voorbeeldkategorieë kan wees "Desktops", "Laptops", "Mobile Phones", "Tablets", ensovoorts, maar jy kan kategorieë gebruik wat vir jou sin maak.',
|
||||
|
||||
'accessories' => 'Toebehore is enigiets wat jy aan gebruikers uitreik, maar dit het nie \'n reeksnommer (of jy gee nie om om hulle unieke te volg nie). Byvoorbeeld, rekenaarmuise of sleutelborde.',
|
||||
|
||||
'companies' => 'Maatskappye kan gebruik word as \'n eenvoudige identifikasie veld, of kan gebruik word om sigbaarheid van bates, gebruikers, ens beperk as volle maatskappy ondersteuning geaktiveer is in jou Admin instellings.',
|
||||
|
||||
'components' => 'Komponente is items wat deel van \'n bate is, byvoorbeeld HDD, RAM, ens.',
|
||||
|
||||
'consumables' => 'Verbruiksgoedere word enigiets aangekoop wat oor tyd gebruik sal word. Byvoorbeeld, drukker ink of kopieermapier.',
|
||||
|
||||
'depreciations' => 'U kan bate-afskrywings opstel om bates te deprecieer gebaseer op reguit-waardevermindering.',
|
||||
|
||||
'empty_file' => 'The importer detects that this file is empty.'
|
||||
];
|
|
@ -11,7 +11,7 @@ return [
|
|||
'asset' => 'bate:',
|
||||
'asset_name' => 'Bate Naam:',
|
||||
'asset_requested' => 'Bate aangevra',
|
||||
'asset_tag' => 'Asset Tag',
|
||||
'asset_tag' => 'Bate-tag',
|
||||
'assigned_to' => 'Toevertrou aan',
|
||||
'best_regards' => 'Beste wense,',
|
||||
'canceled' => 'gekanselleer:',
|
||||
|
@ -67,8 +67,8 @@ return [
|
|||
'to_reset' => 'Om jou webadres te herstel, voltooi hierdie vorm:',
|
||||
'type' => 'tipe',
|
||||
'upcoming-audits' => 'There is :count asset that is coming up for audit within :threshold days.|There are :count assets that are coming up for audit within :threshold days.',
|
||||
'user' => 'User',
|
||||
'username' => 'Username',
|
||||
'user' => 'gebruiker',
|
||||
'username' => 'Gebruikersnaam',
|
||||
'welcome' => 'Welkom: naam',
|
||||
'welcome_to' => 'Welkom by: web!',
|
||||
'your_credentials' => 'Jou Snipe-IT-referenties',
|
|
@ -94,10 +94,9 @@ return [
|
|||
'unique' => 'Die: Attribuut is reeds geneem.',
|
||||
'uploaded' => 'Die: kenmerk kon nie opgelaai word nie.',
|
||||
'url' => 'Die: Attribuutformaat is ongeldig.',
|
||||
'unique_undeleted' => 'The :attribute must be unique.',
|
||||
'unique_undeleted' => 'Die: Attribuut moet uniek wees.',
|
||||
'non_circular' => 'The :attribute must not create a circular reference.',
|
||||
'not_array' => 'The :attribute field cannot be an array.',
|
||||
'unique_serial' => 'The :attribute must be unique.',
|
||||
'disallow_same_pwd_as_user_fields' => 'Password cannot be the same as the username.',
|
||||
'letters' => 'Password must contain at least one letter.',
|
||||
'numbers' => 'Password must contain at least one number.',
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue