Address changes.
This commit is contained in:
parent
a5949e0401
commit
635b3ddcbc
59 changed files with 7249 additions and 2745 deletions
BIN
assets/profile_pics/head_emerald.png
Normal file
BIN
assets/profile_pics/head_emerald.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
|
@ -32,6 +32,9 @@ class CDN
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws \Exception
|
||||||
|
*/
|
||||||
public function uploadFile(string $localPath, string $remotePath, string $mimeType, string $acl = 'private')
|
public function uploadFile(string $localPath, string $remotePath, string $mimeType, string $acl = 'private')
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
@ -48,6 +51,9 @@ class CDN
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws \Exception
|
||||||
|
*/
|
||||||
public function renameFile(string $oldRemotePath, string $newRemotePath)
|
public function renameFile(string $oldRemotePath, string $newRemotePath)
|
||||||
{
|
{
|
||||||
// S3 does not support renaming directly. Copy then delete.
|
// S3 does not support renaming directly. Copy then delete.
|
||||||
|
|
|
@ -49,4 +49,18 @@ class DJs
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
return $djs;
|
return $djs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function search(string $query, int $page = 1, int $resultsPerPage = 10): array {
|
||||||
|
$offset = ($page - 1) * $resultsPerPage;
|
||||||
|
$likeQuery = "%" . $query . "%";
|
||||||
|
$stmt = $this->db->prepare("SELECT * FROM djs WHERE name LIKE ? OR bio LIKE ? LIMIT ?, ?");
|
||||||
|
$stmt->bind_param("ssii", $likeQuery, $likeQuery, $offset, $resultsPerPage);
|
||||||
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
$djs = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
$stmt->close();
|
||||||
|
return $djs;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,32 +4,32 @@ namespace DJMixHosting;
|
||||||
|
|
||||||
class DownloadMix
|
class DownloadMix
|
||||||
{
|
{
|
||||||
private $db;
|
private Database $db;
|
||||||
private $mix;
|
private Mix $mix;
|
||||||
private $ready = false;
|
private bool $ready = false;
|
||||||
private $name;
|
private string $name;
|
||||||
private $djs;
|
private string $djs;
|
||||||
private $filename;
|
private string $filename;
|
||||||
private $url;
|
private string $url;
|
||||||
private $mix_id;
|
private int $mix_id;
|
||||||
private $content;
|
private $content;
|
||||||
private $filesize = 0;
|
private int $filesize = 0;
|
||||||
private $ext;
|
private string $ext;
|
||||||
|
|
||||||
|
|
||||||
public function __construct($mix, $db)
|
public function __construct($mix, $db)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->mix = $mix;
|
$this->mix = $mix;
|
||||||
$this->mix_id = $mix->get_id();
|
$this->mix_id = $mix->getId();
|
||||||
$this->preDownload();
|
$this->preDownload();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function preDownload()
|
private function preDownload(): void
|
||||||
{
|
{
|
||||||
$this->name = $this->mix->get_name();
|
$this->name = $this->mix->getName();
|
||||||
$buildDJs = $this->mix->get_djs();
|
$buildDJs = $this->mix->getDJs();
|
||||||
$this->url = $this->mix->get_url();
|
$this->url = $this->mix->getUrl();
|
||||||
$this->djs = '';
|
$this->djs = '';
|
||||||
$djCount = 0;
|
$djCount = 0;
|
||||||
foreach ($buildDJs as $dj) {
|
foreach ($buildDJs as $dj) {
|
||||||
|
@ -42,7 +42,7 @@ class DownloadMix
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function download()
|
public function download(): void
|
||||||
{
|
{
|
||||||
$this->loadDownload();
|
$this->loadDownload();
|
||||||
if (!$this->ready) {
|
if (!$this->ready) {
|
||||||
|
@ -56,23 +56,24 @@ class DownloadMix
|
||||||
}
|
}
|
||||||
header("Content-Description: File Transfer");
|
header("Content-Description: File Transfer");
|
||||||
header("Content-Type: application/octet-stream");
|
header("Content-Type: application/octet-stream");
|
||||||
|
header("Content-Length: " . $this->filesize);
|
||||||
header("Content-Disposition: attachment; filename=\"" . $this->filename . "\"");
|
header("Content-Disposition: attachment; filename=\"" . $this->filename . "\"");
|
||||||
echo $this->content;
|
echo $this->content;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadDownload()
|
private function loadDownload(): void
|
||||||
{
|
{
|
||||||
$this->content = file_get_contents($this->url);
|
$this->content = file_get_contents($this->url);
|
||||||
$this->filesize = strlen($this->content);
|
$this->filesize = strlen($this->content);
|
||||||
$this->ext = pathinfo(basename($this->url), PATHINFO_EXTENSION);
|
$this->ext = pathinfo(basename($this->url), PATHINFO_EXTENSION);
|
||||||
$this->filename = $this->djs . ' - ' . $this->name . ' (Downloaded from UtahsDJs.com).' . pathinfo(basename($this->url), PATHINFO_EXTENSION);
|
$this->filename = $this->djs . ' - ' . $this->name . ' (Downloaded from UtahsDJs.com).' . $this->ext;
|
||||||
if ($this->filesize > 0) {
|
if ($this->filesize > 0) {
|
||||||
$this->ready = true;
|
$this->ready = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function checkForMixDownloadCount()
|
private function checkForMixDownloadCount(): bool
|
||||||
{
|
{
|
||||||
$stmt = $this->db->prepare("SELECT * FROM mix_meta WHERE attribute = 'downloads' and mix_id = ?");
|
$stmt = $this->db->prepare("SELECT * FROM mix_meta WHERE attribute = 'downloads' and mix_id = ?");
|
||||||
$stmt->bind_param('i', $this->mix_id);
|
$stmt->bind_param('i', $this->mix_id);
|
||||||
|
@ -87,7 +88,7 @@ class DownloadMix
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function incrementMixDownloadCount()
|
private function incrementMixDownloadCount(): void
|
||||||
{
|
{
|
||||||
$stmt = $this->db->prepare("UPDATE mix_meta SET value = value + 1 WHERE attribute = 'downloads' and mix_id = ?");
|
$stmt = $this->db->prepare("UPDATE mix_meta SET value = value + 1 WHERE attribute = 'downloads' and mix_id = ?");
|
||||||
$stmt->bind_param('i', $this->mix_id);
|
$stmt->bind_param('i', $this->mix_id);
|
||||||
|
@ -95,7 +96,7 @@ class DownloadMix
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function addMixDownloadCount()
|
private function addMixDownloadCount(): void
|
||||||
{
|
{
|
||||||
$stmt = $this->db->prepare("INSERT INTO mix_meta (mix_id, attribute, value) VALUES (?, 'downloads', 1)");
|
$stmt = $this->db->prepare("INSERT INTO mix_meta (mix_id, attribute, value) VALUES (?, 'downloads', 1)");
|
||||||
$stmt->bind_param('i', $this->mix_id);
|
$stmt->bind_param('i', $this->mix_id);
|
||||||
|
@ -103,4 +104,9 @@ class DownloadMix
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getExt(): string
|
||||||
|
{
|
||||||
|
return $this->ext;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -52,4 +52,17 @@ class Genres
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
return $genres;
|
return $genres;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function search(string $query, int $page = 1, int $resultsPerPage = 10): array {
|
||||||
|
$offset = ($page - 1) * $resultsPerPage;
|
||||||
|
$likeQuery = "%" . $query . "%";
|
||||||
|
$stmt = $this->db->prepare("SELECT * FROM genres WHERE name LIKE ? LIMIT ?, ?");
|
||||||
|
$stmt->bind_param("sii", $likeQuery, $offset, $resultsPerPage);
|
||||||
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
$genres = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
$stmt->close();
|
||||||
|
return $genres;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
73
classes/Mixes.php
Normal file
73
classes/Mixes.php
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<?php
|
||||||
|
namespace DJMixHosting;
|
||||||
|
|
||||||
|
class Mixes
|
||||||
|
{
|
||||||
|
private $db;
|
||||||
|
private $mixes = [];
|
||||||
|
|
||||||
|
public function __construct($db)
|
||||||
|
{
|
||||||
|
$this->db = $db;
|
||||||
|
// Automatically load all mixes upon instantiation.
|
||||||
|
if (!$this->load_all_mixes()) {
|
||||||
|
// Optionally, handle errors or fallback logic here.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load all mixes from the database.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
private function load_all_mixes(): bool
|
||||||
|
{
|
||||||
|
$mixes = $this->get_all_mixes();
|
||||||
|
if ($mixes) {
|
||||||
|
$this->mixes = $mixes;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve all mixes.
|
||||||
|
*
|
||||||
|
* @param string $order The sort order (ASC or DESC).
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function get_all_mixes(string $order = "ASC"): array
|
||||||
|
{
|
||||||
|
// Assuming your mix table has a column called "name"
|
||||||
|
$stmt = $this->db->prepare("SELECT * FROM mix ORDER BY title $order");
|
||||||
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
$mixes = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
$stmt->close();
|
||||||
|
return $mixes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search mixes by name and description.
|
||||||
|
*
|
||||||
|
* @param string $query The search keyword.
|
||||||
|
* @param int $page The current page number.
|
||||||
|
* @param int $resultsPerPage The number of results per page.
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function search(string $query, int $page = 1, int $resultsPerPage = 10): array
|
||||||
|
{
|
||||||
|
$offset = ($page - 1) * $resultsPerPage;
|
||||||
|
$likeQuery = "%" . $query . "%";
|
||||||
|
// Adjust the SQL if your mix table uses different column names (e.g., title instead of name)
|
||||||
|
$stmt = $this->db->prepare("SELECT * FROM mix WHERE title LIKE ? OR description LIKE ? LIMIT ?, ?");
|
||||||
|
$stmt->bind_param("ssii", $likeQuery, $likeQuery, $offset, $resultsPerPage);
|
||||||
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
$mixes = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
$stmt->close();
|
||||||
|
return $mixes;
|
||||||
|
}
|
||||||
|
}
|
|
@ -52,4 +52,17 @@ class Mixshows
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
return $mixshows;
|
return $mixshows;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function search(string $query, int $page = 1, int $resultsPerPage = 10): array {
|
||||||
|
$offset = ($page - 1) * $resultsPerPage;
|
||||||
|
$likeQuery = "%" . $query . "%";
|
||||||
|
$stmt = $this->db->prepare("SELECT * FROM shows WHERE name LIKE ? OR description LIKE ? LIMIT ?, ?");
|
||||||
|
$stmt->bind_param("ssii", $likeQuery, $likeQuery, $offset, $resultsPerPage);
|
||||||
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
$mixshows = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
$stmt->close();
|
||||||
|
return $mixshows;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,36 +1,64 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace DJMixHosting;
|
namespace DJMixHosting;
|
||||||
|
|
||||||
class RSS
|
class RSS {
|
||||||
{
|
private string $channelTitle;
|
||||||
|
private string $channelLink;
|
||||||
|
private string $channelDescription;
|
||||||
|
private array $items = [];
|
||||||
|
private string $pubDateFormat = "D, d M Y H:i:s O";
|
||||||
|
|
||||||
private $db;
|
public function __construct(string $title, string $link, string $description) {
|
||||||
private string $header = '<?xml version="1.0" encoding="UTF-8" ?>';
|
$this->channelTitle = $title;
|
||||||
private string $rss = '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
|
$this->channelLink = $link;
|
||||||
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
|
$this->channelDescription = $description;
|
||||||
xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0">';
|
|
||||||
|
|
||||||
|
|
||||||
private function itemMix($mix)
|
|
||||||
{
|
|
||||||
$output = new Mix($mix, $this->db);
|
|
||||||
|
|
||||||
if ($output->get_recorded() != "") {
|
|
||||||
$pubdate = date('D, d M Y H:i:s O', strtotime($output->get_recorded()));
|
|
||||||
} elseif ($output->get_created() != "") {
|
|
||||||
$pubdate = date('D, d M Y H:i:s O', strtotime($output->get_created()));
|
|
||||||
} else {
|
|
||||||
$pubdate = date('D, d M Y H:i:s O', strtotime('2008-01-01 12:00:00'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<item>';
|
/**
|
||||||
echo '<title>' . $output->get_name() . '</title>';
|
* Add an item to the RSS feed.
|
||||||
echo '<description>' . $output->get_description() . '</description>';
|
*
|
||||||
echo '<link>' . $output->get_url() . '</link>';
|
* @param string $title Item title.
|
||||||
echo '<guid>' . $output->get_slug() . '</guid>';
|
* @param string $description Item description.
|
||||||
echo '<pubDate>' . $pubdate . '</pubDate>';
|
* @param string $link Item URL.
|
||||||
echo '</item>';
|
* @param string $pubDate A date/time string (accepted by strtotime).
|
||||||
|
*/
|
||||||
|
public function addItem(string $title, string $description, string $link, string $pubDate): void {
|
||||||
|
$this->items[] = [
|
||||||
|
'title' => htmlspecialchars($title),
|
||||||
|
'description' => htmlspecialchars($description),
|
||||||
|
'link' => $link,
|
||||||
|
'guid' => $link,
|
||||||
|
'pubDate' => date($this->pubDateFormat, strtotime($pubDate))
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate the complete RSS XML.
|
||||||
|
*
|
||||||
|
* @return string The RSS XML string.
|
||||||
|
*/
|
||||||
|
public function generateXML(): string {
|
||||||
|
$xml = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
|
||||||
|
$xml .= '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">' . "\n";
|
||||||
|
$xml .= " <channel>\n";
|
||||||
|
$xml .= " <title>{$this->channelTitle}</title>\n";
|
||||||
|
$xml .= " <link>{$this->channelLink}</link>\n";
|
||||||
|
$xml .= " <description>{$this->channelDescription}</description>\n";
|
||||||
|
$xml .= " <lastBuildDate>" . date($this->pubDateFormat) . "</lastBuildDate>\n";
|
||||||
|
// Optionally add additional channel tags here
|
||||||
|
|
||||||
|
foreach ($this->items as $item) {
|
||||||
|
$xml .= " <item>\n";
|
||||||
|
$xml .= " <title>{$item['title']}</title>\n";
|
||||||
|
$xml .= " <description>{$item['description']}</description>\n";
|
||||||
|
$xml .= " <link>{$item['link']}</link>\n";
|
||||||
|
$xml .= " <guid>{$item['guid']}</guid>\n";
|
||||||
|
$xml .= " <pubDate>{$item['pubDate']}</pubDate>\n";
|
||||||
|
$xml .= " </item>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$xml .= " </channel>\n";
|
||||||
|
$xml .= "</rss>";
|
||||||
|
return $xml;
|
||||||
|
}
|
||||||
}
|
}
|
158
classes/User.php
158
classes/User.php
|
@ -2,29 +2,27 @@
|
||||||
|
|
||||||
namespace DJMixHosting;
|
namespace DJMixHosting;
|
||||||
|
|
||||||
|
use DateMalformedStringException;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Random\RandomException;
|
use Random\RandomException;
|
||||||
use Aws\Ses\SesClient;
|
|
||||||
use Aws\Exception\AwsException;
|
|
||||||
|
|
||||||
class User {
|
class User {
|
||||||
|
|
||||||
private $db;
|
private Database $db;
|
||||||
private $id;
|
private string $id;
|
||||||
private $username;
|
private string $username;
|
||||||
private $firstName;
|
private string $firstName;
|
||||||
private $lastName;
|
private string $lastName;
|
||||||
private $email;
|
private string $email;
|
||||||
private $location;
|
private string $location;
|
||||||
private $bio;
|
private string $bio;
|
||||||
private $created;
|
private string $created;
|
||||||
private $updated;
|
private string $updated;
|
||||||
private $verified;
|
private bool $verified;
|
||||||
private $role;
|
private string $role;
|
||||||
|
private string $img = "";
|
||||||
private $img = "";
|
private string $api_key;
|
||||||
private $api_key;
|
|
||||||
|
|
||||||
public function __construct($db, $id = null) {
|
public function __construct($db, $id = null) {
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
@ -36,7 +34,8 @@ class User {
|
||||||
/**
|
/**
|
||||||
* Load user data from the database by id.
|
* Load user data from the database by id.
|
||||||
*/
|
*/
|
||||||
private function loadUserById($id) {
|
private function loadUserById($id): void
|
||||||
|
{
|
||||||
$stmt = $this->db->prepare("SELECT * FROM users WHERE id = ?");
|
$stmt = $this->db->prepare("SELECT * FROM users WHERE id = ?");
|
||||||
$stmt->bind_param("i", $id);
|
$stmt->bind_param("i", $id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
@ -56,9 +55,9 @@ class User {
|
||||||
$this->updated = $user_data['lastupdated'];
|
$this->updated = $user_data['lastupdated'];
|
||||||
$this->role = $user_data['isAdmin'] ? 'admin' : 'user';
|
$this->role = $user_data['isAdmin'] ? 'admin' : 'user';
|
||||||
|
|
||||||
// These fields are not in your table; assign defaults or remove them.
|
// New fields loaded from the database
|
||||||
$this->location = "";
|
$this->location = $user_data['location'] ?? "";
|
||||||
$this->bio = "";
|
$this->bio = $user_data['bio'] ?? "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +68,7 @@ class User {
|
||||||
*/
|
*/
|
||||||
public function newUser(string $username, string $password, string $email, string $firstName, string $lastName): int {
|
public function newUser(string $username, string $password, string $email, string $firstName, string $lastName): int {
|
||||||
if ($this->check_existing_user($username, $email)) {
|
if ($this->check_existing_user($username, $email)) {
|
||||||
throw new \Random\RandomException("User already exists");
|
throw new RandomException("User already exists");
|
||||||
}
|
}
|
||||||
$this->username = $username;
|
$this->username = $username;
|
||||||
$this->email = $email;
|
$this->email = $email;
|
||||||
|
@ -87,8 +86,8 @@ class User {
|
||||||
$this->img = "";
|
$this->img = "";
|
||||||
$this->api_key = bin2hex(random_bytes(32));
|
$this->api_key = bin2hex(random_bytes(32));
|
||||||
|
|
||||||
$stmt = $this->db->prepare("INSERT INTO users (username, password, email, firstName, lastName, img, emailVerified) VALUES (?, ?, ?, ?, ?, '', 0)");
|
$stmt = $this->db->prepare("INSERT INTO users (username, password, email, firstName, lastName, img, emailVerified, apiKey, location, bio) VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?, ?)");
|
||||||
$stmt->bind_param("sssss", $this->username, $password_hashed, $this->email, $this->firstName, $this->lastName);
|
$stmt->bind_param("sssssssss", $this->username, $password_hashed, $this->email, $this->firstName, $this->lastName, $this->img, $this->api_key, $this->location, $this->bio);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$userId = $stmt->insert_id;
|
$userId = $stmt->insert_id;
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
@ -97,8 +96,8 @@ class User {
|
||||||
return $userId;
|
return $userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function check_existing_user($username, $email): false|array|null
|
||||||
private function check_existing_user($username, $email) {
|
{
|
||||||
$stmt = $this->db->prepare("SELECT * FROM users WHERE username = ? OR email = ?");
|
$stmt = $this->db->prepare("SELECT * FROM users WHERE username = ? OR email = ?");
|
||||||
$stmt->bind_param("ss", $username, $email);
|
$stmt->bind_param("ss", $username, $email);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
@ -113,8 +112,10 @@ class User {
|
||||||
*
|
*
|
||||||
* Returns the user data array if successful. In case of failure,
|
* Returns the user data array if successful. In case of failure,
|
||||||
* a string error message is returned.
|
* a string error message is returned.
|
||||||
|
* @throws DateMalformedStringException
|
||||||
*/
|
*/
|
||||||
public function login($email, $password) {
|
public function login($email, $password): array|string
|
||||||
|
{
|
||||||
// Retrieve user record by email
|
// Retrieve user record by email
|
||||||
$stmt = $this->db->prepare("SELECT * FROM users WHERE email = ?");
|
$stmt = $this->db->prepare("SELECT * FROM users WHERE email = ?");
|
||||||
$stmt->bind_param("s", $email);
|
$stmt->bind_param("s", $email);
|
||||||
|
@ -161,6 +162,7 @@ class User {
|
||||||
* Update (or create) a record in the login_attempts table for a failed attempt.
|
* Update (or create) a record in the login_attempts table for a failed attempt.
|
||||||
* If attempts reach 3, set a lockout that doubles each time.
|
* If attempts reach 3, set a lockout that doubles each time.
|
||||||
* Returns the current number of attempts.
|
* Returns the current number of attempts.
|
||||||
|
* @throws DateMalformedStringException
|
||||||
*/
|
*/
|
||||||
private function updateFailedAttempt($email) {
|
private function updateFailedAttempt($email) {
|
||||||
// Check for an existing record
|
// Check for an existing record
|
||||||
|
@ -187,31 +189,27 @@ class User {
|
||||||
$stmt = $this->db->prepare("UPDATE login_attempts SET attempts = ?, lockouts = ?, last_attempt = NOW(), lockout_until = ? WHERE email = ?");
|
$stmt = $this->db->prepare("UPDATE login_attempts SET attempts = ?, lockouts = ?, last_attempt = NOW(), lockout_until = ? WHERE email = ?");
|
||||||
$lockout_until_str = $lockout_until->format('Y-m-d H:i:s');
|
$lockout_until_str = $lockout_until->format('Y-m-d H:i:s');
|
||||||
$stmt->bind_param("iiss", $attempts, $lockouts, $lockout_until_str, $email);
|
$stmt->bind_param("iiss", $attempts, $lockouts, $lockout_until_str, $email);
|
||||||
$stmt->execute();
|
|
||||||
$stmt->close();
|
|
||||||
} else {
|
} else {
|
||||||
$stmt = $this->db->prepare("UPDATE login_attempts SET attempts = ?, last_attempt = NOW() WHERE email = ?");
|
$stmt = $this->db->prepare("UPDATE login_attempts SET attempts = ?, last_attempt = NOW() WHERE email = ?");
|
||||||
$stmt->bind_param("is", $attempts, $email);
|
$stmt->bind_param("is", $attempts, $email);
|
||||||
$stmt->execute();
|
|
||||||
$stmt->close();
|
|
||||||
}
|
}
|
||||||
return $attempts;
|
|
||||||
} else {
|
} else {
|
||||||
// Create a new record for this email
|
// Create a new record for this email
|
||||||
$attempts = 1;
|
$attempts = 1;
|
||||||
$lockouts = 0;
|
$lockouts = 0;
|
||||||
$stmt = $this->db->prepare("INSERT INTO login_attempts (email, attempts, lockouts, last_attempt) VALUES (?, ?, ?, NOW())");
|
$stmt = $this->db->prepare("INSERT INTO login_attempts (email, attempts, lockouts, last_attempt) VALUES (?, ?, ?, NOW())");
|
||||||
$stmt->bind_param("sii", $email, $attempts, $lockouts);
|
$stmt->bind_param("sii", $email, $attempts, $lockouts);
|
||||||
|
}
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
return $attempts;
|
return $attempts;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reset the login_attempts record for the given email.
|
* Reset the login_attempts record for the given email.
|
||||||
*/
|
*/
|
||||||
private function resetLoginAttempts($email) {
|
private function resetLoginAttempts($email): void
|
||||||
|
{
|
||||||
$stmt = $this->db->prepare("DELETE FROM login_attempts WHERE email = ?");
|
$stmt = $this->db->prepare("DELETE FROM login_attempts WHERE email = ?");
|
||||||
$stmt->bind_param("s", $email);
|
$stmt->bind_param("s", $email);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
@ -224,12 +222,12 @@ class User {
|
||||||
* @param string $newEmail
|
* @param string $newEmail
|
||||||
* @param array $config Configuration array for AWS SES and app settings.
|
* @param array $config Configuration array for AWS SES and app settings.
|
||||||
* @return string Success message.
|
* @return string Success message.
|
||||||
* @throws \Exception on validation or email-sending failure.
|
* @throws Exception on validation or email-sending failure.
|
||||||
*/
|
*/
|
||||||
public function updateEmail(string $newEmail, array $config): string {
|
public function updateEmail(string $newEmail, array $config): string {
|
||||||
$newEmail = filter_var($newEmail, FILTER_VALIDATE_EMAIL);
|
$newEmail = filter_var($newEmail, FILTER_VALIDATE_EMAIL);
|
||||||
if (!$newEmail) {
|
if (!$newEmail) {
|
||||||
throw new \Exception("Invalid email format.");
|
throw new Exception("Invalid email format.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update email and mark as unverified.
|
// Update email and mark as unverified.
|
||||||
|
@ -258,7 +256,11 @@ class User {
|
||||||
return "Email updated. A verification email has been sent to your new address.";
|
return "Email updated. A verification email has been sent to your new address.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateName($firstName, $lastName) {
|
/**
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function updateName($firstName, $lastName): string
|
||||||
|
{
|
||||||
// Update the user's name.
|
// Update the user's name.
|
||||||
$stmt = $this->db->prepare("UPDATE users SET firstName = ?, lastName = ? WHERE id = ?");
|
$stmt = $this->db->prepare("UPDATE users SET firstName = ?, lastName = ? WHERE id = ?");
|
||||||
$stmt->bind_param("ssi", $firstName, $lastName, $this->id);
|
$stmt->bind_param("ssi", $firstName, $lastName, $this->id);
|
||||||
|
@ -274,7 +276,11 @@ class User {
|
||||||
return "Name updated successfully.";
|
return "Name updated successfully.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updatePassword($currentPassword, $newPassword, $confirmPassword) {
|
/**
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function updatePassword($currentPassword, $newPassword, $confirmPassword): string
|
||||||
|
{
|
||||||
// Retrieve the current password hash.
|
// Retrieve the current password hash.
|
||||||
$stmt = $this->db->prepare("SELECT password FROM users WHERE id = ?");
|
$stmt = $this->db->prepare("SELECT password FROM users WHERE id = ?");
|
||||||
$stmt->bind_param("i", $this->id);
|
$stmt->bind_param("i", $this->id);
|
||||||
|
@ -307,7 +313,11 @@ class User {
|
||||||
return "Password updated successfully.";
|
return "Password updated successfully.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateUsername($newUsername) {
|
/**
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function updateUsername($newUsername): string
|
||||||
|
{
|
||||||
// Validate username format.
|
// Validate username format.
|
||||||
if (!preg_match('/^[a-zA-Z0-9_]{3,25}$/', $newUsername)) {
|
if (!preg_match('/^[a-zA-Z0-9_]{3,25}$/', $newUsername)) {
|
||||||
throw new Exception("Invalid username format.");
|
throw new Exception("Invalid username format.");
|
||||||
|
@ -339,7 +349,7 @@ class User {
|
||||||
*
|
*
|
||||||
* @param string $verification_code The code submitted by the user.
|
* @param string $verification_code The code submitted by the user.
|
||||||
* @return string Success message.
|
* @return string Success message.
|
||||||
* @throws \Exception If the code is invalid or expired.
|
* @throws Exception If the code is invalid or expired.
|
||||||
*/
|
*/
|
||||||
public function verifyEmail(string $verification_code): string {
|
public function verifyEmail(string $verification_code): string {
|
||||||
// Look up the verification record for this user and code
|
// Look up the verification record for this user and code
|
||||||
|
@ -351,14 +361,14 @@ class User {
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
|
||||||
if (!$record) {
|
if (!$record) {
|
||||||
throw new \Exception("Invalid verification code.");
|
throw new Exception("Invalid verification code.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the verification code has expired
|
// Check if the verification code has expired
|
||||||
$current_time = new \DateTime();
|
$current_time = new DateTime();
|
||||||
$expires_at = new \DateTime($record['expires_at']);
|
$expires_at = new DateTime($record['expires_at']);
|
||||||
if ($current_time > $expires_at) {
|
if ($current_time > $expires_at) {
|
||||||
throw new \Exception("Verification code has expired. Please request a new one.");
|
throw new Exception("Verification code has expired. Please request a new one.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the user's record to mark the email as verified
|
// Update the user's record to mark the email as verified
|
||||||
|
@ -379,18 +389,50 @@ class User {
|
||||||
return "Email verified successfully.";
|
return "Email verified successfully.";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Getter methods
|
// New setters for location and bio
|
||||||
public function getId() { return $this->id; }
|
|
||||||
public function getUsername() { return $this->username; }
|
/**
|
||||||
public function getFirstName() { return $this->firstName; }
|
* @throws Exception
|
||||||
public function getLastName() { return $this->lastName; }
|
*/
|
||||||
public function getEmail() { return $this->email; }
|
public function setLocation(string $location): string {
|
||||||
public function getLocation() { return $this->location; }
|
$stmt = $this->db->prepare("UPDATE users SET location = ? WHERE id = ?");
|
||||||
public function getBio() { return $this->bio; }
|
$stmt->bind_param("si", $location, $this->id);
|
||||||
public function getCreated() { return $this->created; }
|
if ($stmt->execute()) {
|
||||||
public function getUpdated() { return $this->updated; }
|
$this->location = $location;
|
||||||
public function getVerified() { return $this->verified; }
|
$stmt->close();
|
||||||
public function getRole() { return $this->role; }
|
return "Location updated successfully.";
|
||||||
public function getImg() { return $this->img; }
|
}
|
||||||
public function getApiKey() { return $this->api_key; }
|
$stmt->close();
|
||||||
|
throw new Exception("Failed to update location.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function setBio(string $bio): string {
|
||||||
|
$stmt = $this->db->prepare("UPDATE users SET bio = ? WHERE id = ?");
|
||||||
|
$stmt->bind_param("si", $bio, $this->id);
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
$this->bio = $bio;
|
||||||
|
$stmt->close();
|
||||||
|
return "Bio updated successfully.";
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
throw new Exception("Failed to update bio.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Getter methods
|
||||||
|
public function getId(): string { return $this->id; }
|
||||||
|
public function getUsername(): string { return $this->username; }
|
||||||
|
public function getFirstName(): string { return $this->firstName; }
|
||||||
|
public function getLastName(): string { return $this->lastName; }
|
||||||
|
public function getEmail(): string { return $this->email; }
|
||||||
|
public function getLocation(): string { return $this->location; }
|
||||||
|
public function getBio(): string { return $this->bio; }
|
||||||
|
public function getCreated(): string { return $this->created; }
|
||||||
|
public function getUpdated(): string { return $this->updated; }
|
||||||
|
public function getVerified(): string { return $this->verified; }
|
||||||
|
public function getRole(): string { return $this->role; }
|
||||||
|
public function getImg(): string { return $this->img; }
|
||||||
|
public function getApiKey(): string { return $this->api_key; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,8 @@
|
||||||
"php": ">=8.2.0",
|
"php": ">=8.2.0",
|
||||||
"phpunit/phpunit": ">=11",
|
"phpunit/phpunit": ">=11",
|
||||||
"yosymfony/toml": "*",
|
"yosymfony/toml": "*",
|
||||||
"ext-zip": "*"
|
"ext-zip": "*",
|
||||||
|
"ext-iconv": "*"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
|
16
contact.php
16
contact.php
|
@ -72,7 +72,7 @@ require_once 'includes/header.php';
|
||||||
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="toast" aria-label="Close"></button>
|
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="toast-body">
|
<div class="toast-body">
|
||||||
<?php echo $result['ok'] ? 'Message sent successfully!' : 'An error occurred while sending the message.'; ?>
|
<?php echo $result['ok'] ? $locale['messageSentSuccess'] : $locale['messageSentError']; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -96,29 +96,29 @@ require_once 'includes/header.php';
|
||||||
<div class="row mb-5 text-center">
|
<div class="row mb-5 text-center">
|
||||||
<div class="col-lg-8 mx-auto">
|
<div class="col-lg-8 mx-auto">
|
||||||
<h1 class="display-4 mb-3"><?php echo $locale['contactus']; ?></h1>
|
<h1 class="display-4 mb-3"><?php echo $locale['contactus']; ?></h1>
|
||||||
<p class="lead text-muted">We'd love to hear from you. Send us a message and we'll respond as soon as possible.</p>
|
<p class="lead text-muted"><?php echo $locale['contactUs2']; ?></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Contact Form -->
|
<!-- Contact Form -->
|
||||||
<div class="col-lg-7 mb-4 mb-lg-0">
|
<div class="col mb-lg-0">
|
||||||
<div class="contact-form">
|
<div class="contact-form">
|
||||||
<h3 class="mb-4">Send us a Message</h3>
|
<h3 class="mb-4"><?php echo $locale['messageSendUs']; ?></h3>
|
||||||
<form action="/contact" method="post">
|
<form action="/contact" method="post">
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<label for="name" class="form-label">Name</label>
|
<label for="name" class="form-label"><?php echo $locale['name']; ?></label>
|
||||||
<input type="text" class="form-control form-control-lg" id="name" name="name" value="<?php echo htmlspecialchars($userName); ?>" required>
|
<input type="text" class="form-control form-control-lg" id="name" name="name" value="<?php echo htmlspecialchars($userName); ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<label for="email" class="form-label">Email</label>
|
<label for="email" class="form-label"><?php echo $locale['email']; ?></label>
|
||||||
<input type="email" class="form-control form-control-lg" id="email" name="email" value="<?php echo htmlspecialchars($userEmail); ?>" required>
|
<input type="email" class="form-control form-control-lg" id="email" name="email" value="<?php echo htmlspecialchars($userEmail); ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<label for="message" class="form-label">Message</label>
|
<label for="message" class="form-label"><?php echo $locale['message']; ?></label>
|
||||||
<textarea class="form-control form-control-lg" id="message" name="message" rows="5" required></textarea>
|
<textarea class="form-control form-control-lg" id="message" name="message" rows="5" required></textarea>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary btn-lg px-5">Send Message</button>
|
<button type="submit" class="btn btn-primary btn-lg px-5"><?php echo $locale['messageSend']; ?></button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
24
dj.php
24
dj.php
|
@ -138,13 +138,15 @@ require_once 'includes/header.php';
|
||||||
$mixes = $dj->getDJMixes();
|
$mixes = $dj->getDJMixes();
|
||||||
if (!empty($mixes)) {
|
if (!empty($mixes)) {
|
||||||
// Add header row for the table-like layout
|
// Add header row for the table-like layout
|
||||||
echo '<div class="row font-weight-bold mb-2">';
|
?>
|
||||||
echo '<div class="col-md text-truncate">' . $locale['mixName'] . '</div>';
|
<div class="row font-weight-bold mb-2">
|
||||||
echo '<div class="col-md">' . $locale['genres'] . '</div>';
|
<div class="col-md text-truncate"><?php echo $locale['mixName'];?></div>
|
||||||
echo '<div class="col-md">' . $locale['duration'] . '</div>';
|
<div class="col-md"><?php echo $locale['genres']; ?></div>
|
||||||
echo '<div class="col-md">' . $locale['year'] . '</div>';
|
<div class="col-md"><?php echo $locale['duration'];?></div>
|
||||||
echo '</div>';
|
<div class="col-md"><?php echo $locale['year'];?></div>
|
||||||
echo '<hr class="my-2">'; // Optional horizontal rule for separation
|
</div>
|
||||||
|
<hr class="my-2">
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
$count = 0;
|
$count = 0;
|
||||||
|
@ -245,10 +247,10 @@ require_once 'includes/header.php';
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
var shareBtn = document.getElementById('shareBtn');
|
const shareBtn = document.getElementById('shareBtn');
|
||||||
var shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
const shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
||||||
var copyLinkBtn = document.getElementById("copyLinkBtn");
|
const copyLinkBtn = document.getElementById("copyLinkBtn");
|
||||||
var urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
const urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
||||||
|
|
||||||
shareBtn.addEventListener('click', function () {
|
shareBtn.addEventListener('click', function () {
|
||||||
shareModal.show();
|
shareModal.show();
|
||||||
|
|
|
@ -7,16 +7,141 @@ use DJMixHosting\Database;
|
||||||
use Aws\Ses\SesClient;
|
use Aws\Ses\SesClient;
|
||||||
use Aws\Exception\AwsException;
|
use Aws\Exception\AwsException;
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['email'])) {
|
$db = new Database($config);
|
||||||
$email = trim($_POST['email']);
|
|
||||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
// Ensure a CSRF token exists.
|
||||||
$_SESSION['error'] = "Invalid email format.";
|
if (empty($_SESSION['csrf_token'])) {
|
||||||
|
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine if we are in reset stage based on GET parameter.
|
||||||
|
$isResetStage = false;
|
||||||
|
$verification_code = "";
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['code'])) {
|
||||||
|
$verification_code = trim($_GET['code']);
|
||||||
|
$isResetStage = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process POST submissions.
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
|
||||||
|
// Validate the CSRF token.
|
||||||
|
if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'] ?? '')) {
|
||||||
|
$_SESSION['error'] = "Invalid CSRF token.";
|
||||||
header("Location: forgot-password.php");
|
header("Location: forgot-password.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = new Database($config);
|
// If a verification code is provided, we are in reset mode.
|
||||||
// Check if email exists in the system
|
if (isset($_POST['verification_code']) && !empty($_POST['verification_code'])) {
|
||||||
|
|
||||||
|
// Rate limiting for reset attempts.
|
||||||
|
if (!isset($_SESSION['attempts'])) {
|
||||||
|
$_SESSION['attempts'] = 0;
|
||||||
|
$_SESSION['first_attempt_time'] = time();
|
||||||
|
}
|
||||||
|
$_SESSION['attempts']++;
|
||||||
|
if ($_SESSION['attempts'] > 5 && (time() - $_SESSION['first_attempt_time']) < 900) { // 15 minutes
|
||||||
|
$_SESSION['error'] = "Too many attempts. Please try again later.";
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($_POST['verification_code']));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (time() - $_SESSION['first_attempt_time'] >= 900) {
|
||||||
|
$_SESSION['attempts'] = 1;
|
||||||
|
$_SESSION['first_attempt_time'] = time();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process the reset.
|
||||||
|
$verification_code = trim($_POST['verification_code']);
|
||||||
|
$username = trim($_POST['username'] ?? '');
|
||||||
|
$new_password = $_POST['new_password'] ?? '';
|
||||||
|
$confirm_password = $_POST['confirm_password'] ?? '';
|
||||||
|
|
||||||
|
if (empty($verification_code) || empty($username) || empty($new_password) || empty($confirm_password)) {
|
||||||
|
$_SESSION['error'] = $locale['allFieldsRequired'];
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($verification_code));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if ($new_password !== $confirm_password) {
|
||||||
|
$_SESSION['error'] = $locale['passwordMismatch'];
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($verification_code));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (!validate_password($new_password)) {
|
||||||
|
$_SESSION['error'] = $locale['passwordRequirements'];
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($verification_code));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Look up the password reset record.
|
||||||
|
$stmt = $db->prepare("SELECT * FROM email_verifications WHERE verification_code = ? AND purpose = 'password_reset'");
|
||||||
|
$stmt->bind_param("s", $verification_code);
|
||||||
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
$record = $result->fetch_assoc();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
if (!$record) {
|
||||||
|
$_SESSION['error'] = $locale['resetExpiredInvalid'];
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($verification_code));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check expiration.
|
||||||
|
$current_time = new DateTime();
|
||||||
|
$expires_at = new DateTime($record['expires_at']);
|
||||||
|
if ($current_time > $expires_at) {
|
||||||
|
$_SESSION['error'] = $locale['resetExpired'];
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($verification_code));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verify the username matches the record.
|
||||||
|
$stmt = $db->prepare("SELECT id, username FROM users WHERE id = ? AND username = ?");
|
||||||
|
$stmt->bind_param("is", $record['user_id'], $username);
|
||||||
|
$stmt->execute();
|
||||||
|
$userData = $stmt->get_result()->fetch_assoc();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
if (!$userData) {
|
||||||
|
$_SESSION['error'] = $locale['codeCredsInvalid'];
|
||||||
|
header("Location: forgot-password.php?code=" . urlencode($verification_code));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the user's password.
|
||||||
|
$hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
|
||||||
|
$stmt = $db->prepare("UPDATE users SET password = ? WHERE id = ?");
|
||||||
|
$stmt->bind_param("si", $hashed_password, $userData['id']);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
// Remove the password reset record.
|
||||||
|
$stmt = $db->prepare("DELETE FROM email_verifications WHERE verification_code = ? AND purpose = 'password_reset'");
|
||||||
|
$stmt->bind_param("s", $verification_code);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
session_regenerate_id(true);
|
||||||
|
$_SESSION['success'] = $locale['passwordResetSuccess'];
|
||||||
|
header("Location: /login");
|
||||||
|
exit;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Otherwise, we are processing a forgot password request.
|
||||||
|
$email = trim($_POST['email'] ?? '');
|
||||||
|
if (empty($email)) {
|
||||||
|
$_SESSION['error'] = $locale['enterEmailAddressPlease'];
|
||||||
|
header("Location: /forgot-password");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||||
|
$_SESSION['error'] = $locale['emailInvalid'];
|
||||||
|
header("Location: /forgot-password");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if email exists in the system.
|
||||||
$stmt = $db->prepare("SELECT id, username FROM users WHERE email = ?");
|
$stmt = $db->prepare("SELECT id, username FROM users WHERE email = ?");
|
||||||
$stmt->bind_param("s", $email);
|
$stmt->bind_param("s", $email);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
@ -24,22 +149,22 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['email'])) {
|
||||||
$userData = $result->fetch_assoc();
|
$userData = $result->fetch_assoc();
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
|
||||||
// Always show a success message (to avoid disclosing which emails are registered)
|
// Always display a success message (even if the email isn’t registered) to avoid disclosing registered emails.
|
||||||
$_SESSION['success'] = "If the email exists in our system, a password reset link has been sent.";
|
$_SESSION['success'] = $locale['passwordResetSent'];
|
||||||
|
|
||||||
if ($userData) {
|
if ($userData) {
|
||||||
$user_id = $userData['id'];
|
$user_id = $userData['id'];
|
||||||
// Generate a password reset verification code valid for 15 minutes
|
// Generate a password reset verification code valid for 15 minutes.
|
||||||
$verification_code = bin2hex(random_bytes(16));
|
$verification_code = bin2hex(random_bytes(16));
|
||||||
$expires_at = date("Y-m-d H:i:s", strtotime("+15 minutes"));
|
$expires_at = date("Y-m-d H:i:s", strtotime("+15 minutes"));
|
||||||
|
|
||||||
// Insert a record with purpose 'password_reset'
|
// Insert a record for the password reset.
|
||||||
$stmt = $db->prepare("REPLACE INTO email_verifications (user_id, email, verification_code, expires_at, purpose) VALUES (?, ?, ?, ?, 'password_reset')");
|
$stmt = $db->prepare("REPLACE INTO email_verifications (user_id, email, verification_code, expires_at, purpose) VALUES (?, ?, ?, ?, 'password_reset')");
|
||||||
$stmt->bind_param("isss", $user_id, $email, $verification_code, $expires_at);
|
$stmt->bind_param("isss", $user_id, $email, $verification_code, $expires_at);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
|
||||||
// Send password reset email via AWS SES
|
// Send the password reset email via AWS SES.
|
||||||
$sesClient = new SesClient([
|
$sesClient = new SesClient([
|
||||||
'version' => 'latest',
|
'version' => 'latest',
|
||||||
'region' => $config['aws']['ses']['region'],
|
'region' => $config['aws']['ses']['region'],
|
||||||
|
@ -52,12 +177,13 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['email'])) {
|
||||||
$sender_email = $config['aws']['ses']['sender_email'];
|
$sender_email = $config['aws']['ses']['sender_email'];
|
||||||
$recipient_email = $email;
|
$recipient_email = $email;
|
||||||
$subject = "Password Reset Request";
|
$subject = "Password Reset Request";
|
||||||
$reset_link = $config['app']['url'] . "/password-reset.php?code={$verification_code}";
|
$reset_link = $config['app']['url'] . "/forgot-password.php?code={$verification_code}";
|
||||||
$body_text = "You have requested to reset your password. Please click the link below to reset your password:\n\n";
|
$body_text = $locale['passwordResetRequested'] . "\n\n";
|
||||||
$body_text .= "{$reset_link}\n\nIf you did not request this, please ignore this email. This link will expire in 15 minutes.";
|
$body_text .= "{$reset_link}\n\n";
|
||||||
|
$body_text .= $locale['passwordResetUnrequested'];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$result = $sesClient->sendEmail([
|
$sesClient->sendEmail([
|
||||||
'Destination' => [
|
'Destination' => [
|
||||||
'ToAddresses' => [$recipient_email],
|
'ToAddresses' => [$recipient_email],
|
||||||
],
|
],
|
||||||
|
@ -77,12 +203,22 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['email'])) {
|
||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
} catch (AwsException $e) {
|
} catch (AwsException $e) {
|
||||||
// Optionally log the error without disclosing details to the user.
|
// Log the error as needed.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
header("Location: forgot-password.php");
|
header("Location: /forgot-password");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to validate password strength.
|
||||||
|
function validate_password($password) {
|
||||||
|
if (strlen($password) < 8) return false;
|
||||||
|
if (!preg_match('/[A-Z]/', $password)) return false;
|
||||||
|
if (!preg_match('/[a-z]/', $password)) return false;
|
||||||
|
if (!preg_match('/[0-9]/', $password)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
require_once 'includes/header.php';
|
require_once 'includes/header.php';
|
||||||
?>
|
?>
|
||||||
|
@ -93,26 +229,58 @@ require_once 'includes/header.php';
|
||||||
<div class="col-lg-5">
|
<div class="col-lg-5">
|
||||||
<?php
|
<?php
|
||||||
if (isset($_SESSION['error'])) {
|
if (isset($_SESSION['error'])) {
|
||||||
echo '<div class="alert alert-danger alert-dismissible fade show mb-4" role="alert">' . htmlspecialchars($_SESSION['error']) . '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button></div>';
|
echo '<div class="alert alert-danger alert-dismissible fade show mb-4" role="alert">'
|
||||||
|
. htmlspecialchars($_SESSION['error']) .
|
||||||
|
'<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button></div>';
|
||||||
unset($_SESSION['error']);
|
unset($_SESSION['error']);
|
||||||
}
|
}
|
||||||
if (isset($_SESSION['success'])) {
|
if (isset($_SESSION['success'])) {
|
||||||
echo '<div class="alert alert-success alert-dismissible fade show mb-4" role="alert">' . htmlspecialchars($_SESSION['success']) . '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button></div>';
|
echo '<div class="alert alert-success alert-dismissible fade show mb-4" role="alert">'
|
||||||
|
. htmlspecialchars($_SESSION['success']) .
|
||||||
|
'<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button></div>';
|
||||||
unset($_SESSION['success']);
|
unset($_SESSION['success']);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
<?php if ($isResetStage): ?>
|
||||||
|
<!-- Reset Password Form -->
|
||||||
<div class="card shadow-sm border-0">
|
<div class="card shadow-sm border-0">
|
||||||
<div class="card-body p-4">
|
<div class="card-body p-4">
|
||||||
<h3 class="text-center mb-4">Forgot Password</h3>
|
<h3 class="text-center mb-4"><?php echo $locale['passwordReset']; ?></h3>
|
||||||
<form action="forgot-password.php" method="post" class="needs-validation" novalidate>
|
<form action="/forgot-password.php" method="post" class="needs-validation" novalidate>
|
||||||
|
<input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
|
||||||
|
<input type="hidden" name="verification_code" value="<?php echo htmlspecialchars($verification_code); ?>">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="email" class="form-label">Enter your email address</label>
|
<label for="username" class="form-label"><?php echo $locale['enterYourUsername']; ?></label>
|
||||||
<input type="email" class="form-control" id="email" name="email" required>
|
<input type="text" class="form-control" id="username" name="username" required>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary w-100">Submit</button>
|
<div class="mb-3">
|
||||||
|
<label for="new_password" class="form-label"><?php echo $locale['newPassword']; ?></label>
|
||||||
|
<input type="password" class="form-control" id="new_password" name="new_password" required>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="confirm_password" class="form-label"><?php echo $locale['confirmPassword']; ?></label>
|
||||||
|
<input type="password" class="form-control" id="confirm_password" name="confirm_password" required>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary w-100"><?php echo $locale['passwordReset']; ?></button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<?php else: ?>
|
||||||
|
<!-- Forgot Password Request Form -->
|
||||||
|
<div class="card shadow-sm border-0">
|
||||||
|
<div class="card-body p-4">
|
||||||
|
<h3 class="text-center mb-4"><?php echo $locale['forgotPassword']; ?></h3>
|
||||||
|
<form action="/forgot-password.php" method="post" class="needs-validation" novalidate>
|
||||||
|
<input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="email" class="form-label"><?php echo $locale['emailaddressEnter']; ?></label>
|
||||||
|
<input type="email" class="form-control" id="email" name="email" required>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary w-100"><?php echo $locale['submit']; ?></button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
19
genre.php
19
genre.php
|
@ -52,10 +52,7 @@ require_once 'includes/header.php';
|
||||||
<img src="<?php echo $genre->get_img(); ?>"
|
<img src="<?php echo $genre->get_img(); ?>"
|
||||||
alt="avatar"
|
alt="avatar"
|
||||||
class="rounded-circle img-fluid" style="width: 150px;">
|
class="rounded-circle img-fluid" style="width: 150px;">
|
||||||
<h5 class="my-3"><?php echo $genre->get_name();
|
<h5 class="my-3"><?php echo $genre->get_name();?></h5>
|
||||||
?></h5>
|
|
||||||
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -110,11 +107,11 @@ require_once 'includes/header.php';
|
||||||
$output = new Mix($mix, $db);
|
$output = new Mix($mix, $db);
|
||||||
echo '<div class="row">';
|
echo '<div class="row">';
|
||||||
echo '<p class="mb-0">';
|
echo '<p class="mb-0">';
|
||||||
echo '<a href="/mix/' . $output->get_slug() . '">';
|
echo '<a href="/mix/' . $output->getSlug() . '">';
|
||||||
echo $output->get_name();
|
echo $output->getName();
|
||||||
echo '</a>';
|
echo '</a>';
|
||||||
echo ' ‐ ';
|
echo ' ‐ ';
|
||||||
$djs = $output->get_djs();
|
$djs = $output->getDJs();
|
||||||
$djCount = 0;
|
$djCount = 0;
|
||||||
foreach ($djs as $dj) {
|
foreach ($djs as $dj) {
|
||||||
echo '<a href="/dj/' . $dj->getSlug() . '">';
|
echo '<a href="/dj/' . $dj->getSlug() . '">';
|
||||||
|
@ -168,10 +165,10 @@ require_once 'includes/header.php';
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
var shareBtn = document.getElementById('shareBtn');
|
const shareBtn = document.getElementById('shareBtn');
|
||||||
var shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
const shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
||||||
var copyLinkBtn = document.getElementById("copyLinkBtn");
|
const copyLinkBtn = document.getElementById("copyLinkBtn");
|
||||||
var urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
const urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
||||||
|
|
||||||
shareBtn.addEventListener('click', function () {
|
shareBtn.addEventListener('click', function () {
|
||||||
shareModal.show();
|
shareModal.show();
|
||||||
|
|
|
@ -4,10 +4,13 @@
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col text-center">
|
<div class="col text-center">
|
||||||
<ul class="list-inline">
|
<ul class="list-inline">
|
||||||
<li class="list-inline-item"><a href="/contact">Contact Us</a></li>
|
<li class="list-inline-item"><a href="/contact"><?php echo $locale['contactus'];?></a></li>
|
||||||
<li class="list-inline-item"><a href="/privacy">Privacy Policy</a></li>
|
<li class="list-inline-item"><a href="/privacy"><?php echo $locale['privacyPolicy']?></a></li>
|
||||||
<!-- Uncomment the following line once you have a Terms & Conditions page -->
|
<!-- Uncomment the following line once you have a Terms & Conditions page -->
|
||||||
<!-- <li class="list-inline-item"><a href="/terms">Terms & Conditions</a></li> -->
|
<!-- <li class="list-inline-item"><a href="/terms"><?php
|
||||||
|
// echo $locale['termsAndConditions'];
|
||||||
|
?>
|
||||||
|
</a></li> -->
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,16 +18,18 @@
|
||||||
<!-- Copyright Text -->
|
<!-- Copyright Text -->
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col text-center">
|
<div class="col text-center">
|
||||||
<p><?php echo "© 2008 - " . date('Y') . " " . $locale['allrightsreserved']; ?></p>
|
<p><?php echo "© " . $config['app']['copyright_start_date'] . " - " . date('Y') . " " . $locale['allrightsreserved']; ?></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Software Credit -->
|
<!-- Software Credit -->
|
||||||
|
<?php if ($config['app']['made_using']){?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-center">
|
<div class="col text-center">
|
||||||
<p>Created using <a href="https://gitea.threefifteen.info/cody/dj_mix_hosting_software">DJ Mix Hosting Software</a></p>
|
<p><?php echo $locale['createdUsing']?> <a href="https://gitea.threefifteen.info/cody/dj_mix_hosting_software"><?php echo $locale['djmixhostingsoftware'];?></a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<?php } ?>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// read toml config file
|
// read toml config file
|
||||||
require_once 'vendor/autoload.php';
|
require_once 'vendor/autoload.php';
|
||||||
|
|
||||||
|
use Random\RandomException;
|
||||||
use Yosymfony\Toml\Toml;
|
use Yosymfony\Toml\Toml;
|
||||||
use DJMixHosting\SessionManager;
|
use DJMixHosting\SessionManager;
|
||||||
|
|
||||||
|
@ -11,6 +12,14 @@ require_once 'functions/i18n.php';
|
||||||
// Instead of including sessions.php, start the session via SessionManager:
|
// Instead of including sessions.php, start the session via SessionManager:
|
||||||
SessionManager::start();
|
SessionManager::start();
|
||||||
|
|
||||||
|
if (empty($_SESSION['csrf_token'])) {
|
||||||
|
try {
|
||||||
|
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
||||||
|
} catch (RandomException $e) {
|
||||||
|
die("An error occurred. Please try again.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
require_once 'includes/lang_loader.php';
|
require_once 'includes/lang_loader.php';
|
||||||
|
|
||||||
$mixshowsPages = ["/mixshows", "/mixshows/", "/mixshows.php"];
|
$mixshowsPages = ["/mixshows", "/mixshows/", "/mixshows.php"];
|
||||||
|
|
|
@ -36,9 +36,8 @@ $current_lang = $_SESSION['lang'] ?? $config['app']['locale'];
|
||||||
|
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<!-- Search form remains outside the dropdown -->
|
<!-- Search form remains outside the dropdown -->
|
||||||
<form class="d-flex me-3" role="search">
|
<form class="d-flex me-3" role="search" action="/search.php" method="get">
|
||||||
<input class="form-control me-2" type="search" placeholder="<?php echo $locale['search']; ?>"
|
<input class="form-control me-2" type="search" name="q" placeholder="<?php echo $locale['search']; ?>" aria-label="<?php echo $locale['search']; ?>">
|
||||||
aria-label="<?php echo $locale['search']; ?>">
|
|
||||||
<button class="btn btn-outline-success" type="submit"><?php echo $locale['search']; ?></button>
|
<button class="btn btn-outline-success" type="submit"><?php echo $locale['search']; ?></button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@ -62,7 +61,7 @@ $current_lang = $_SESSION['lang'] ?? $config['app']['locale'];
|
||||||
<label for="languageSelect" class="visually-hidden">Language Selector</label>
|
<label for="languageSelect" class="visually-hidden">Language Selector</label>
|
||||||
<select class="form-select" id="languageSelect" onchange="location = this.value;">
|
<select class="form-select" id="languageSelect" onchange="location = this.value;">
|
||||||
<?php
|
<?php
|
||||||
if (isset($_SERVER["REQUIEST_URI"])) {
|
if (isset($_SERVER["REQUEST_URI"])) {
|
||||||
$currentUrl = strtok($_SERVER["REQUEST_URI"], '?') ?? '/';
|
$currentUrl = strtok($_SERVER["REQUEST_URI"], '?') ?? '/';
|
||||||
} else {
|
} else {
|
||||||
$currentUrl = '/';
|
$currentUrl = '/';
|
||||||
|
@ -94,7 +93,7 @@ $current_lang = $_SESSION['lang'] ?? $config['app']['locale'];
|
||||||
<script>
|
<script>
|
||||||
// Dark mode toggle script
|
// Dark mode toggle script
|
||||||
function toggleDarkMode() {
|
function toggleDarkMode() {
|
||||||
var html = document.documentElement;
|
const html = document.documentElement;
|
||||||
if (html.getAttribute('data-bs-theme') === 'dark') {
|
if (html.getAttribute('data-bs-theme') === 'dark') {
|
||||||
html.removeAttribute('data-bs-theme'); // Switch to light mode
|
html.removeAttribute('data-bs-theme'); // Switch to light mode
|
||||||
localStorage.setItem('darkmode', 'false');
|
localStorage.setItem('darkmode', 'false');
|
||||||
|
@ -107,7 +106,7 @@ $current_lang = $_SESSION['lang'] ?? $config['app']['locale'];
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateDarkModeOnServer(value) {
|
function updateDarkModeOnServer(value) {
|
||||||
var xhr = new XMLHttpRequest();
|
const xhr = new XMLHttpRequest();
|
||||||
xhr.open('POST', '/settings.php', true);
|
xhr.open('POST', '/settings.php', true);
|
||||||
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
||||||
xhr.onload = function() {
|
xhr.onload = function() {
|
||||||
|
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'Welkom by ons webwerf!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'Dit is \'n beskrywing in Engels.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Beskrywing',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "Gebruikerprofiel",
|
||||||
'user' => 'User',
|
'user' => 'Gebruiker',
|
||||||
'home' => 'Home',
|
'home' => 'Huis',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'DJ Naam',
|
||||||
'email' => 'Email',
|
'email' => 'E-pos',
|
||||||
'location' => 'Location',
|
'location' => 'Ligging',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Bio',
|
||||||
'submit' => 'Submit',
|
'submit' => 'Dien in',
|
||||||
'login' => 'Login',
|
'login' => 'Teken in',
|
||||||
'message' => 'Message',
|
'message' => 'Boodskap',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Volg',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ\'s',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "Kon nie DJ laai nie; of die DJ is nie gevind nie of hierdie DJ is privaat.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "Bladsy nie gevind nie",
|
||||||
"genre" => "Genre",
|
"genre" => "Genre",
|
||||||
"genres" => "Genres",
|
"genres" => "Genres",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "Kon nie genre laai nie; of die genre is nie gevind nie, was leeg, of hierdie genre is privaat.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "Mengsel Teller",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Mengsels",
|
||||||
"mix" => "Mix",
|
"mix" => "Mengsel",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "Kon nie mengsel laai nie; of die mengsel is nie gevind nie, was leeg, of hierdie mengsel is privaat.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "Kon nie mengshow laai nie; of die mengshow is nie gevind nie, was leeg, of hierdie mengshow is privaat.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "Mengsel Naam",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "Mengsel Beskrywing",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "Mengsel Lengte",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Mengsel Genre",
|
||||||
"view" => "View",
|
"view" => "Sien",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "Mengsel Naam",
|
||||||
"search" => "Search",
|
"search" => "Soek",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "Soek Resultate",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "Soek Resultate vir",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "Soek Resultate Gevind",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Tracklys",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Laas opdateer",
|
||||||
"duration" => "Duration",
|
"duration" => "Duur",
|
||||||
"hour" => "hour",
|
"hour" => "uur",
|
||||||
"hours" => "hours",
|
"hours" => "ure",
|
||||||
"minute" => "minute",
|
"minute" => "minuut",
|
||||||
"minutes" => "minutes",
|
"minutes" => "minute",
|
||||||
"second" => "second",
|
"second" => "sekonde",
|
||||||
"seconds" => "seconds",
|
"seconds" => "sekondes",
|
||||||
"by" => "by",
|
"by" => "deur",
|
||||||
"added" => "Added",
|
"added" => "Gekoop",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Opgeneem",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "Jou blaaier ondersteun nie die klankelement nie.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Aflaai",
|
||||||
"download" => "Download",
|
"download" => "Aflaai",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "Laai Mengsel Af",
|
||||||
"plays" => "Plays",
|
"plays" => "Speel",
|
||||||
"play" => "Play",
|
"play" => "Speel",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Kontak Ons",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Alle regte voorbehou.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mengshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mengshow",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Mengshow Naam",
|
||||||
"share" => "Share",
|
"share" => "Deel",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Deel hierdie mengsel",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Deel hierdie mengshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Jaar",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "Deel na X (voorheen Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Deel na Facebook",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Deel na Instagram",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "Kopieer URL",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL na clipboard gekopieer",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "Kon nie URL kopieer nie",
|
||||||
"name" => "Name",
|
"name" => "Naam",
|
||||||
"username" => "Username",
|
"username" => "Gebruikersnaam",
|
||||||
"logout" => "Logout",
|
"logout" => "Teken uit",
|
||||||
"upload" => "Upload",
|
"upload" => "Laai op",
|
||||||
|
"loginToVerifyEmail" => "Jy moet ingelogde wees om jou e-pos te verifieer.",
|
||||||
|
"loginToUploadMix" => "Jy moet ingelogde wees om 'n mengsel te laai.",
|
||||||
|
"verificationCodeRequired" => "Verifikasiekode is nodig.",
|
||||||
|
"recordedDate" => "Opgeneem Datum",
|
||||||
|
"noUploadedFileFound" => "Geen opgelaaide lêer gevind nie. Laai asseblief 'n mengsel lêer op.",
|
||||||
|
"mixTitleRequired" => "Mengsel titel is nodig.",
|
||||||
|
"errorUploadCDN" => "Fout tydens die oplaaien van die lêer na CDN: ",
|
||||||
|
"errorSavingMixDB" => "Fout tydens die stoor van die mengsel in die databasis.",
|
||||||
|
"uploadedPendingApproval" => "Mengsel suksesvol opgelaai en wag vir goedkeuring.",
|
||||||
|
"uploadHeader1" => "Laai jou mengsel op na Utah se DJ's",
|
||||||
|
"uploadAlertHeader" => "Belangrike Oplaai Inligting",
|
||||||
|
"uploadAlert1" => "Utah se DJ's is hoofsaaklik 'n argiefprojek wat toegewyd is aan die bewarings van die geskiedenis en kultuur van EDM DJ's in Utah. Jou oplaai dra by tot hierdie historiese rekord.",
|
||||||
|
"uploadHeader2" => "Voor jy opgelaai",
|
||||||
|
"uploadAlert2" => "Verifieer dat al die DJ's betrokke in ons databasis gelys is. As 'n DJ nie gelys is nie, moet hulle bygevoeg en goedgekeur word voordat hulle opgelaai kan word.",
|
||||||
|
"uploadAlert3" => "Kyk of toepaslike genres beskikbaar is vir jou mengsel. Nuwe genres vereis goedkeuring voor hulle gebruik kan word.",
|
||||||
|
"uploadAlert4" => "Jy kan nuwe DJ of genre versoeke indien deur jou profielinstellings.",
|
||||||
|
"uploadProcess" => "Oplaai Proses",
|
||||||
|
"uploadProcess1" => "Laai jou mengsel lêer op (MP3 of ZIP formaat)",
|
||||||
|
"uploadProcess2" => "Voer mengsel besonderhede in, insluitend titel, beskrywing, en opnamesdatum",
|
||||||
|
"uploadProcess3" => "Kies toepaslike genres en DJ's",
|
||||||
|
"uploadProcess4" => "Dien vir hersiening in",
|
||||||
|
"uploadAMix" => "Laai 'n Mengsel op",
|
||||||
|
"uploadSelectMix" => "Kies Mengsel Lêer (MP3 of ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maximale lêergrootte: 500MB",
|
||||||
|
"uploadFile" => "Laai Lêer op",
|
||||||
|
"uploadSelectGenres" => "Kies Genres (tik om te soek)",
|
||||||
|
"uploadSelectDJSMax3" => "Kies DJ's (Maximaal 3)",
|
||||||
|
"uploadSubmitMix" => "Dien Mengsel in",
|
||||||
|
"uploadSelectDJ1" => "Kies DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Kies DJ 2 (opsioneel)",
|
||||||
|
"uploadSelectDJ3" => "Kies DJ 3 (opsioneel)",
|
||||||
|
"userAlreadyExists" => "Gebruiker bestaan reeds.",
|
||||||
|
"allFieldsRequired" => "Alle velde is nodig.",
|
||||||
|
"passwordsDoNotMatch" => "Die wagwoorde stem nie ooreen nie.",
|
||||||
|
"invalidEmail" => "Ongeldige e-posFORMAAK.",
|
||||||
|
"invalidUsername" => "Ongeldige gebruikersnaamFORMAAK.",
|
||||||
|
"verifyEmailAddress" => "Verifieer jou e-pos adres",
|
||||||
|
"registerThankYou" => "Dankie dat u geregistreer het by ",
|
||||||
|
"registerVerifyEmail" => "Verifieer asseblief jou e-pos adres deur die skakel hieronder te klik of deur die verifikasiekode in jou profiel in te voer:",
|
||||||
|
"registerVerifyCodeIs" => "Jou verifikasiekode is: ",
|
||||||
|
"registerVerifyTimeout" => "Hierdie kode sal in 15 minute verval.",
|
||||||
|
"password" => "Wagwoord",
|
||||||
|
"rememberMe" => "Onthou My",
|
||||||
|
"forgotPassword" => "Vergeet Wagwoord",
|
||||||
|
"dontHaveAccount" => "Het jy nie 'n rekening nie?",
|
||||||
|
"signUp" => "Teken Aan",
|
||||||
|
"passwordResetSent" => "As die e-pos in ons stelsel bestaan, is 'n wagwoord herstelskakel gestuur.",
|
||||||
|
"passwordResetRequested" => "Jy het versoek om jou wagwoord te herstel. Klik asseblief op die skakel hieronder om jou wagwoord te herstel:",
|
||||||
|
"passwordResetUnrequested" => "As jy nie hierdie versoek gedoen het nie, ignoreer asseblief hierdie e-pos. Hierdie skakel sal in 15 minute verval.",
|
||||||
|
"emailaddressEnter" => "Voer jou e-pos adres in",
|
||||||
|
"messageSentSuccess" => "Boodskap suksesvol gestuur.",
|
||||||
|
"messageSentError" => "Daar het 'n fout plaasgevind terwyl die boodskap gestuur is.",
|
||||||
|
"contactUs2" => "Ons hoor graag van jou. Stuur vir ons 'n boodskap en ons sal so gou moontlik reageer.",
|
||||||
|
"messageSendUs" => "Stuur vir Ons 'n Boodskap",
|
||||||
|
"messageSend" => "Stuur Boodskap",
|
||||||
|
"passwordReset" => "Herstel Wagwoord",
|
||||||
|
"enterYourUsername" => "Voer jou gebruikersnaam in",
|
||||||
|
"newPassword" => "Nuwe Wagwoord",
|
||||||
|
"confirmPassword" => "Bevestig Nuwe Wagwoord",
|
||||||
|
"passwordResetSuccess" => "Jou wagwoord is suksesvol teruggestel. Log in met jou nuwe wagwoord.",
|
||||||
|
"enterEmailAddressPlease" => "Voer asseblief jou e-pos adres in.",
|
||||||
|
"emailInvalid" => "Ongeldige e-pos formaat.",
|
||||||
|
"passwordMismatch" => "Wagwoorde stem nie ooreen nie.",
|
||||||
|
"passwordRequirements" => "Wagwoord moet minstens 8 karakters lank wees en ook hoofletters, kleinletters, asook 'n nommer insluit.",
|
||||||
|
"resetExpiredInvalid" => "Ongeldige of vervalde wagwoord herstelkode.",
|
||||||
|
"resetExpired" => "Wagwoord herstelkode het verval.",
|
||||||
|
"codeCredsInvalid" => "Ongeldige geloofsbriewe of verifikasiekode.",
|
||||||
|
"change" => "Verander",
|
||||||
|
"changePicture" => "Verander Prentjie",
|
||||||
|
"verify" => "Verifieer",
|
||||||
|
"createdUsing" => "Geskep met behulp van",
|
||||||
|
"djmixhostingsoftware" => "DJ Mengsel Gasheer Sagteware",
|
||||||
|
"privacyPolicy" => "Privaatheidsbeleid",
|
||||||
|
"termsAndConditions" => "Voorwaardes en bepalings",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'مرحبا بكم في موقعنا على الإنترنت!',
|
'welcome' => 'مرحبًا بك في موقعنا!',
|
||||||
'description' => 'هذا وصف بالإنكليزية.',
|
'description' => 'هذه وصف باللغة الإنجليزية.',
|
||||||
'desc' => 'الوصف',
|
'desc' => 'الوصف',
|
||||||
'userProfile' => "الملف الشخصي للمستخدم",
|
'userProfile' => "ملف المستخدم",
|
||||||
'user' => 'المستخدم',
|
'user' => 'مستخدم',
|
||||||
'home' => 'المنزل',
|
'home' => 'الرئيسية',
|
||||||
'djName' => 'اسم DJ',
|
'djName' => 'اسم الدي جي',
|
||||||
'email' => 'البريد الإلكتروني',
|
'email' => 'البريد الإلكتروني',
|
||||||
'location' => 'الموقع',
|
'location' => 'الموقع',
|
||||||
'bio' => 'بيو',
|
'bio' => 'السيرة الذاتية',
|
||||||
'submit' => 'إرسال',
|
'submit' => 'إرسال',
|
||||||
'login' => 'تسجيل الدخول',
|
'login' => 'تسجيل الدخول',
|
||||||
'message' => 'رسالة',
|
'message' => 'رسالة',
|
||||||
'follow' => 'اتبع',
|
'follow' => 'متابعة',
|
||||||
'djs' => 'دي جي',
|
'djs' => 'دي جي',
|
||||||
"djNotFound" => "تعذر تحميل DJ; إما لم يتم العثور على DJ أو هذا DJ خاص.",
|
"djNotFound" => "تعذر تحميل الدي جي؛ إما أن الدي جي غير موجود أو أن هذا الدي جي خاص.",
|
||||||
"notfound" => "لم يتم العثور على الصفحة",
|
"notfound" => "الصفحة غير موجودة",
|
||||||
"genre" => "النوع",
|
"genre" => "نوع الموسيقى",
|
||||||
"genres" => "أنواع الموسيقى",
|
"genres" => "أنواع الموسيقى",
|
||||||
"genreNotFound" => "لا يمكن تحميل النوع الجيد؛ إما لم يتم العثور على هذا النوع، أو كان فارغا، أو هذا النوع خاص.",
|
"genreNotFound" => "تعذر تحميل النوع؛ إما أن النوع غير موجود، فارغ، أو أن هذا النوع خاص.",
|
||||||
"mix-count" => "عدد المزيج",
|
"mix-count" => "عدد الميكسات",
|
||||||
"mixes" => "خلط",
|
"mixes" => "الميكسات",
|
||||||
"mix" => "خليط",
|
"mix" => "ميكس",
|
||||||
"mixNotFound" => "تعذر تحميل المزيج ؛ إما لم يتم العثور على المزيج ، أو كان فارغا، أو هذا المزيج خاص.",
|
"mixNotFound" => "تعذر تحميل الميكس؛ إما أن الميكس غير موجود، فارغ، أو أن هذا الميكس خاص.",
|
||||||
"mixshowNotFound" => "تعذر تحميل الخليط؛ إما لم يتم العثور على الخليط، أو كان فارغاً، أو هذا الخليط خاص.",
|
"mixshowNotFound" => "تعذر تحميل عرض الميكس؛ إما أن عرض الميكس غير موجود، فارغ، أو أن هذا العرض خاص.",
|
||||||
"mixName" => "اسم المزيج",
|
"mixName" => "اسم الميكس",
|
||||||
"mixDescription" => "وصف المزيج",
|
"mixDescription" => "وصف الميكس",
|
||||||
"mixLength" => "مزيج الطول",
|
"mixLength" => "مدة الميكس",
|
||||||
"mixGenre" => "خلط النوع",
|
"mixGenre" => "نوع الميكس",
|
||||||
"view" => "عرض",
|
"view" => "عرض",
|
||||||
"mixname" => "اسم المزيج",
|
"mixname" => "اسم الميكس",
|
||||||
"search" => "البحث",
|
"search" => "بحث",
|
||||||
"searchResults" => "نتائج البحث",
|
"searchResults" => "نتائج البحث",
|
||||||
"searchResultsFor" => "نتائج البحث عن",
|
"searchResultsFor" => "نتائج البحث لـ",
|
||||||
"searchResultsFound" => "تم العثور على نتائج البحث",
|
"searchResultsFound" => "نتائج البحث الموجودة",
|
||||||
"tracklist" => "قائمة التتبع",
|
"tracklist" => "قائمة المسارات",
|
||||||
"lastupdated" => "آخر تحديث",
|
"lastupdated" => "آخر تحديث",
|
||||||
"duration" => "المدة",
|
"duration" => "المدة",
|
||||||
"hour" => "ساعة",
|
"hour" => "ساعة",
|
||||||
|
@ -45,32 +45,111 @@ return [
|
||||||
"second" => "ثانية",
|
"second" => "ثانية",
|
||||||
"seconds" => "ثواني",
|
"seconds" => "ثواني",
|
||||||
"by" => "بواسطة",
|
"by" => "بواسطة",
|
||||||
"added" => "أضيف",
|
"added" => "تم الإضافة",
|
||||||
"recorded" => "مسجلة",
|
"recorded" => "تم التسجيل",
|
||||||
"audioNotSupported" => "المتصفح الخاص بك لا يدعم عنصر الصوت.",
|
"audioNotSupported" => "متصفحك لا يدعم عنصر الصوت.",
|
||||||
"downloads" => "التنزيلات",
|
"downloads" => "التحميلات",
|
||||||
"download" => "تنزيل",
|
"download" => "تحميل",
|
||||||
"downloadMix" => "تحميل الميكس",
|
"downloadMix" => "تحميل الميكس",
|
||||||
"plays" => "مشغلات",
|
"plays" => "العمليات",
|
||||||
"play" => "تشغيل",
|
"play" => "تشغيل",
|
||||||
"contactus" => "اتصل بنا",
|
"contactus" => "اتصل بنا",
|
||||||
"allrightsreserved" => "جميع الحقوق محفوظة.",
|
"allrightsreserved" => "جميع الحقوق محفوظة.",
|
||||||
"mixshows" => "المزج",
|
"mixshows" => "عروض الميكس",
|
||||||
"mixshow" => "عرض ميكس",
|
"mixshow" => "عرض ميكس",
|
||||||
"mixshowName" => "اسم المزج",
|
"mixshowName" => "اسم عرض الميكس",
|
||||||
"share" => "مشاركة",
|
"share" => "مشاركة",
|
||||||
"sahrethismix" => "شارك هذا المزيج",
|
"sahrethismix" => "مشاركة هذا الميكس",
|
||||||
"sharethismixshow" => "شارك هذا المزيج",
|
"sharethismixshow" => "مشاركة هذا عرض الميكس",
|
||||||
"rss" => "RSS",
|
"rss" => "آر إس إس",
|
||||||
"year" => "السنة",
|
"year" => "سنة",
|
||||||
"sharetotwitter" => "شارك إلى X (تويتر سابقاً)",
|
"sharetotwitter" => "مشاركة على X (سابقًا تويتر)",
|
||||||
"sharetofb" => "مشاركة على Facebook",
|
"sharetofb" => "مشاركة على Facebook",
|
||||||
"sharetoig" => "مشاركة على Instagram",
|
"sharetoig" => "مشاركة على إنستغرام",
|
||||||
"copyurl" => "نسخ الرابط",
|
"copyurl" => "نسخ الرابط",
|
||||||
"urlcopiedtoclipboard" => "تم نسخ عنوان URL إلى الحافظة",
|
"urlcopiedtoclipboard" => "تم نسخ الرابط إلى الحافظة",
|
||||||
"failedtocopyurl" => "فشل في نسخ الرابط",
|
"failedtocopyurl" => "فشل نسخ الرابط",
|
||||||
"name" => "الاسم",
|
"name" => "الاسم",
|
||||||
"username" => "اسم المستخدم",
|
"username" => "اسم المستخدم",
|
||||||
"logout" => "تسجيل الخروج",
|
"logout" => "تسجيل الخروج",
|
||||||
"upload" => "تحميل",
|
"upload" => "رفع",
|
||||||
|
"loginToVerifyEmail" => "يجب أن تكون مسجلاً للدخول للتحقق من بريدك الإلكتروني.",
|
||||||
|
"loginToUploadMix" => "يجب أن تكون مسجلاً للدخول لرفع مزيج.",
|
||||||
|
"verificationCodeRequired" => "رمز التحقق مطلوب.",
|
||||||
|
"recordedDate" => "تاريخ التسجيل",
|
||||||
|
"noUploadedFileFound" => "لم يتم العثور على ملف تم رفعه. يرجى رفع ملف ميكس.",
|
||||||
|
"mixTitleRequired" => "العنوان المطلوب للميكس.",
|
||||||
|
"errorUploadCDN" => "خطأ في رفع الملف إلى CDN: ",
|
||||||
|
"errorSavingMixDB" => "خطأ في حفظ الميكس إلى قاعدة البيانات.",
|
||||||
|
"uploadedPendingApproval" => "تم رفع الميكس بنجاح وهو في انتظار الموافقة.",
|
||||||
|
"uploadHeader1" => "قم بتحميل الميكس الخاص بك إلى دي جيز يوتا",
|
||||||
|
"uploadAlertHeader" => "معلومات تحميل مهمة",
|
||||||
|
"uploadAlert1" => "دي جيز يوتا هو مشروع أرشيفي يهدف إلى الحفاظ على تاريخ وثقافة كهربائية الدي جي في يوتا. تساهم تحميلاتك في هذا السجل التاريخي.",
|
||||||
|
"uploadHeader2" => "قبل أن تقوم بالتحميل",
|
||||||
|
"uploadAlert2" => "تحقق من أن جميع الدي جي المعنيين مدرجين في قاعدة البيانات لدينا. إذا لم يكن الدي جي مدرجًا، يجب إضافته والموافقة عليه قبل التحميل.",
|
||||||
|
"uploadAlert3" => "تحقق من وجود أنواع مناسبة لميكسك. الأنواع الجديدة تحتاج إلى موافقة قبل أن يمكن استخدامها.",
|
||||||
|
"uploadAlert4" => "يمكنك تقديم طلبات جديدة للدي جي أو الأنواع من خلال إعدادات ملفك الشخصي.",
|
||||||
|
"uploadProcess" => "عملية التحميل",
|
||||||
|
"uploadProcess1" => "قم بتحميل ملف الميكس الخاص بك (بتنسيق MP3 أو ZIP)",
|
||||||
|
"uploadProcess2" => "أدخل تفاصيل الميكس، بما في ذلك العنوان، الوصف، وتاريخ التسجيل",
|
||||||
|
"uploadProcess3" => "اختر الأنواع والدي جي المناسبة",
|
||||||
|
"uploadProcess4" => "قدم للمراجعة",
|
||||||
|
"uploadAMix" => "قم بتحميل ميكس",
|
||||||
|
"uploadSelectMix" => "اختر ملف الميكس (MP3 أو ZIP)",
|
||||||
|
"uploadMaxFileSize" => "حجم الملف الأقصى: 500MB",
|
||||||
|
"uploadFile" => "رفع الملف",
|
||||||
|
"uploadSelectGenres" => "اختر الأنواع (اكتب للبحث)",
|
||||||
|
"uploadSelectDJSMax3" => "اختر دي جي (حد أقصى 3)",
|
||||||
|
"uploadSubmitMix" => "قديم الميكس",
|
||||||
|
"uploadSelectDJ1" => "اختر دي جي 1",
|
||||||
|
"uploadSelectDJ2" => "اختر دي جي 2 (اختياري)",
|
||||||
|
"uploadSelectDJ3" => "اختر دي جي 3 (اختياري)",
|
||||||
|
"userAlreadyExists" => "المستخدم موجود بالفعل.",
|
||||||
|
"allFieldsRequired" => "جميع الحقول مطلوبة.",
|
||||||
|
"passwordsDoNotMatch" => "كلمات السر غير متطابقة.",
|
||||||
|
"invalidEmail" => "تنسيق البريد الإلكتروني غير صالح.",
|
||||||
|
"invalidUsername" => "تنسيق اسم المستخدم غير صالح.",
|
||||||
|
"verifyEmailAddress" => "تحقق من عنوان بريدك الإلكتروني",
|
||||||
|
"registerThankYou" => "شكرًا لتسجيلك في ",
|
||||||
|
"registerVerifyEmail" => "يرجى التحقق من عنوان بريدك الإلكتروني عن طريق النقر على الرابط أدناه أو بإدخال رمز التحقق في ملفك الشخصي:",
|
||||||
|
"registerVerifyCodeIs" => "رمز التحقق الخاص بك هو: ",
|
||||||
|
"registerVerifyTimeout" => "هذا الرمز سينتهي صلاحيته بعد 15 دقيقة.",
|
||||||
|
"password" => "كلمة المرور",
|
||||||
|
"rememberMe" => "تذكرني",
|
||||||
|
"forgotPassword" => "نسيت كلمة المرور",
|
||||||
|
"dontHaveAccount" => "لا تملك حسابًا؟",
|
||||||
|
"signUp" => "اشترك",
|
||||||
|
"passwordResetSent" => "إذا كان البريد الإلكتروني موجودًا في نظامنا، فقد تم إرسال رابط إعادة تعيين كلمة المرور.",
|
||||||
|
"passwordResetRequested" => "لقد طلبت إعادة تعيين كلمة المرور الخاصة بك. يرجى النقر على الرابط أدناه لإعادة تعيين كلمة مرورك:",
|
||||||
|
"passwordResetUnrequested" => "إذا لم تطلب ذلك، يرجى تجاهل هذا البريد الإلكتروني. هذا الرابط سينتهي صلاحيته بعد 15 دقيقة.",
|
||||||
|
"emailaddressEnter" => "أدخل عنوان بريدك الإلكتروني",
|
||||||
|
"messageSentSuccess" => "تم إرسال الرسالة بنجاح.",
|
||||||
|
"messageSentError" => "حدث خطأ أثناء إرسال الرسالة.",
|
||||||
|
"contactUs2" => "نود أن نسمع منك. أرسل لنا رسالة وسنرد عليها في أقرب وقت ممكن.",
|
||||||
|
"messageSendUs" => "أرسل لنا رسالة",
|
||||||
|
"messageSend" => "أرسل رسالة",
|
||||||
|
"passwordReset" => "إعادة تعيين كلمة المرور",
|
||||||
|
"enterYourUsername" => "أدخل اسم المستخدم الخاص بك",
|
||||||
|
"newPassword" => "كلمة مرور جديدة",
|
||||||
|
"confirmPassword" => "تأكيد كلمة المرور الجديدة",
|
||||||
|
"passwordResetSuccess" => "تم إعادة تعيين كلمة المرور بنجاح. يرجى تسجيل الدخول باستخدام كلمة المرور الجديدة الخاصة بك.",
|
||||||
|
"enterEmailAddressPlease" => "يرجى إدخال عنوان بريدك الإلكتروني.",
|
||||||
|
"emailInvalid" => "تنسيق البريد الإلكتروني غير صالح.",
|
||||||
|
"passwordMismatch" => "كلمات المرور غير متطابقة.",
|
||||||
|
"passwordRequirements" => "يجب أن تكون كلمة المرور مكونة من 8 أحرف على الأقل وتتضمن أحرف كبيرة وصغيرة، بالإضافة إلى رقم.",
|
||||||
|
"resetExpiredInvalid" => "رمز إعادة تعيين كلمة المرور غير صالح أو expired.",
|
||||||
|
"resetExpired" => "انتهت صلاحية رمز إعادة تعيين كلمة المرور.",
|
||||||
|
"codeCredsInvalid" => "بيانات الاعتماد أو رمز التحقق غير صالح.",
|
||||||
|
"change" => "تغيير",
|
||||||
|
"changePicture" => "تغيير الصورة",
|
||||||
|
"verify" => "تحقق",
|
||||||
|
"createdUsing" => "تم الإنشاء باستخدام",
|
||||||
|
"djmixhostingsoftware" => "برنامج استضافة ميكس الدي جي",
|
||||||
|
"privacyPolicy" => "سياسة الخصوصية",
|
||||||
|
"termsAndConditions" => "الشروط والأحكام",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'Benvingut al nostre lloc web!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'Aquesta és una descripció en anglès.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Descripció',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "Perfil d'Usuari",
|
||||||
'user' => 'User',
|
'user' => 'Usuari',
|
||||||
'home' => 'Home',
|
'home' => 'Inici',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'Nom del DJ',
|
||||||
'email' => 'Email',
|
'email' => 'Correu electrònic',
|
||||||
'location' => 'Location',
|
'location' => 'Ubicació',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografia',
|
||||||
'submit' => 'Submit',
|
'submit' => 'Enviar',
|
||||||
'login' => 'Login',
|
'login' => 'Inicia sessió',
|
||||||
'message' => 'Message',
|
'message' => 'Missatge',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Seguir',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "No s'ha pogut carregar el DJ; O bé no s'ha trobat el DJ o aquest DJ és privat.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "Pàgina no trobada",
|
||||||
"genre" => "Genre",
|
"genre" => "Gènere",
|
||||||
"genres" => "Genres",
|
"genres" => "Gèneres",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "No s'ha pogut carregar el gènere; O bé no s'ha trobat el gènere, estava buit, o aquest gènere és privat.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "Compte de mescles",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Mescles",
|
||||||
"mix" => "Mix",
|
"mix" => "Mescla",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "No s'ha pogut carregar la mescla; O bé no s'ha trobat la mescla, estava buida, o aquesta mescla és privada.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "No s'ha pogut carregar el mixshow; O bé no s'ha trobat el mixshow, estava buit, o aquest mixshow és privat.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "Nom de la mescla",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "Descripció de la mescla",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "Durada de la mescla",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Gènere de la mescla",
|
||||||
"view" => "View",
|
"view" => "Veure",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "Nom de la mescla",
|
||||||
"search" => "Search",
|
"search" => "Cerca",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "Resultats de la cerca",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "Resultats de la cerca per",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "Resultats de la cerca trobats",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Llista de pistes",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Última actualització",
|
||||||
"duration" => "Duration",
|
"duration" => "Durada",
|
||||||
"hour" => "hour",
|
"hour" => "hora",
|
||||||
"hours" => "hours",
|
"hours" => "hores",
|
||||||
"minute" => "minute",
|
"minute" => "minut",
|
||||||
"minutes" => "minutes",
|
"minutes" => "minuts",
|
||||||
"second" => "second",
|
"second" => "segon",
|
||||||
"seconds" => "seconds",
|
"seconds" => "segons",
|
||||||
"by" => "by",
|
"by" => "per",
|
||||||
"added" => "Added",
|
"added" => "Afegit",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Registrat",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "El teu navegador no suporta l'element d'àudio.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Descarregues",
|
||||||
"download" => "Download",
|
"download" => "Descarregar",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "Descarregar mescla",
|
||||||
"plays" => "Plays",
|
"plays" => "Reproduccions",
|
||||||
"play" => "Play",
|
"play" => "Reproduir",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Contacta'ns",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Tots els drets reservats.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Nom del mixshow",
|
||||||
"share" => "Share",
|
"share" => "Comparteix",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Comparteix aquesta mescla",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Comparteix aquest mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Any",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "Comparteix a X (antigament Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Comparteix a Facebook",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Comparteix a Instagram",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "Copia l'URL",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL copiat al porta-retalls",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "Error al copiar l'URL",
|
||||||
"name" => "Name",
|
"name" => "Nom",
|
||||||
"username" => "Username",
|
"username" => "Nom d'usuari",
|
||||||
"logout" => "Logout",
|
"logout" => "Tanca sessió",
|
||||||
"upload" => "Upload",
|
"upload" => "Carregar",
|
||||||
|
"loginToVerifyEmail" => "Has d'iniciar sessió per verificar el teu correu electrònic.",
|
||||||
|
"loginToUploadMix" => "Has d'iniciar sessió per carregar una mescla.",
|
||||||
|
"verificationCodeRequired" => "El codi de verificació és requerit.",
|
||||||
|
"recordedDate" => "Data de registre",
|
||||||
|
"noUploadedFileFound" => "No s'ha trobat cap fitxer carregat. Si us plau, carregueu un fitxer de mescla.",
|
||||||
|
"mixTitleRequired" => "El títol de la mescla és requerit.",
|
||||||
|
"errorUploadCDN" => "Error en carregar fitxer al CDN: ",
|
||||||
|
"errorSavingMixDB" => "Error en desar la mescla a la base de dades.",
|
||||||
|
"uploadedPendingApproval" => "Mescla carregada correctament i pendent d'aprovació.",
|
||||||
|
"uploadHeader1" => "Carrega la teva mescla a DJs d'Utah",
|
||||||
|
"uploadAlertHeader" => "Informació important sobre la càrrega",
|
||||||
|
"uploadAlert1" => "DJs d'Utah és un projecte principalment d'arxiu dedicat a preservar la història i la cultura dels DJs de EDM a Utah. Les teves càrregues contribueixen a aquest registre històric.",
|
||||||
|
"uploadHeader2" => "Abans de carregar",
|
||||||
|
"uploadAlert2" => "Verifica que tots els DJs involucrats estiguin llistats a la nostra base de dades. Si un DJ no està llistat, haurà de ser afegit i aprovat abans de la càrrega.",
|
||||||
|
"uploadAlert3" => "Verifica que hi hagi gèneres apropiats disponibles per a la teva mescla. Nous gèneres requereixen aprovació abans que puguin ser utilitzats.",
|
||||||
|
"uploadAlert4" => "Pots enviar nous DJs o sol·licituds de gènere a través de la configuració del teu perfil.",
|
||||||
|
"uploadProcess" => "Procés de càrrega",
|
||||||
|
"uploadProcess1" => "Carrega el teu fitxer de mescla (format MP3 o ZIP)",
|
||||||
|
"uploadProcess2" => "Introdueix els detalls de la mescla, incloent títol, descripció i data de registre",
|
||||||
|
"uploadProcess3" => "Selecciona gèneres i DJs rellevants",
|
||||||
|
"uploadProcess4" => "Enviar per revisió",
|
||||||
|
"uploadAMix" => "Carrega una mescla",
|
||||||
|
"uploadSelectMix" => "Selecciona el fitxer de mescla (MP3 o ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Mida màxima del fitxer: 500MB",
|
||||||
|
"uploadFile" => "Carregar fitxer",
|
||||||
|
"uploadSelectGenres" => "Selecciona gèneres (escriu per cercar)",
|
||||||
|
"uploadSelectDJSMax3" => "Selecciona DJs (màxim 3)",
|
||||||
|
"uploadSubmitMix" => "Enviar mescla",
|
||||||
|
"uploadSelectDJ1" => "Selecciona DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Selecciona DJ 2 (opcional)",
|
||||||
|
"uploadSelectDJ3" => "Selecciona DJ 3 (opcional)",
|
||||||
|
"userAlreadyExists" => "L'usuari ja existeix.",
|
||||||
|
"allFieldsRequired" => "Tots els camps són obligatoris.",
|
||||||
|
"passwordsDoNotMatch" => "Les contrasenyes no coincideixen.",
|
||||||
|
"invalidEmail" => "Format de correu electrònic invàlid.",
|
||||||
|
"invalidUsername" => "Format de nom d'usuari invàlid.",
|
||||||
|
"verifyEmailAddress" => "Verifica la teva adreça de correu electrònic",
|
||||||
|
"registerThankYou" => "Gràcies per registrar-te a ",
|
||||||
|
"registerVerifyEmail" => "Si us plau, verifica la teva adreça de correu electrònic fent clic al següent enllaç o introduint el codi de verificació al teu perfil:",
|
||||||
|
"registerVerifyCodeIs" => "El teu codi de verificació és: ",
|
||||||
|
"registerVerifyTimeout" => "Aquest codi caducarà en 15 minuts.",
|
||||||
|
"password" => "Contrasenya",
|
||||||
|
"rememberMe" => "Recorda'm",
|
||||||
|
"forgotPassword" => "Has oblidat la contrasenya",
|
||||||
|
"dontHaveAccount" => "No tens un compte?",
|
||||||
|
"signUp" => "Registra't",
|
||||||
|
"passwordResetSent" => "Si el correu electrònic existeix al nostre sistema, s'ha enviat un enllaç per restablir la contrasenya.",
|
||||||
|
"passwordResetRequested" => "Has sol·licitat restablir la teva contrasenya. Si us plau, fes clic a l'enllaç següent per restablir la teva contrasenya:",
|
||||||
|
"passwordResetUnrequested" => "Si no has sol·licitat això, si us plau, ignora aquest correu electrònic. Aquest enllaç caducarà en 15 minuts.",
|
||||||
|
"emailaddressEnter" => "Introdueix la teva adreça de correu electrònic",
|
||||||
|
"messageSentSuccess" => "Missatge enviat correctament.",
|
||||||
|
"messageSentError" => "S'ha produït un error en enviar el missatge.",
|
||||||
|
"contactUs2" => "Ens encantaria saber de vosaltres. Envia'ns un missatge i et respondrem el més aviat possible.",
|
||||||
|
"messageSendUs" => "Envia'ns un missatge",
|
||||||
|
"messageSend" => "Enviar missatge",
|
||||||
|
"passwordReset" => "Restablir contrasenya",
|
||||||
|
"enterYourUsername" => "Introdueix el teu nom d'usuari",
|
||||||
|
"newPassword" => "Nova contrasenya",
|
||||||
|
"confirmPassword" => "Confirma nova contrasenya",
|
||||||
|
"passwordResetSuccess" => "La teva contrasenya s'ha restablert correctament. Si us plau, inicia sessió amb la teva nova contrasenya.",
|
||||||
|
"enterEmailAddressPlease" => "Si us plau, introdueix la teva adreça de correu electrònic.",
|
||||||
|
"emailInvalid" => "Format de correu electrònic invàlid.",
|
||||||
|
"passwordMismatch" => "Les contrasenyes no coincideixen.",
|
||||||
|
"passwordRequirements" => "La contrasenya ha de tenir almenys 8 caràcters de longitud i incloure lletres majúscules i minúscules, així com un número.",
|
||||||
|
"resetExpiredInvalid" => "Codi de restabliment de contrasenya invàlid o caducat.",
|
||||||
|
"resetExpired" => "El codi de restabliment de contrasenya ha caducat.",
|
||||||
|
"codeCredsInvalid" => "Credencials o codi de verificació invàlids.",
|
||||||
|
"change" => "Canviar",
|
||||||
|
"changePicture" => "Canviar imatge",
|
||||||
|
"verify" => "Verificar",
|
||||||
|
"createdUsing" => "Creat amb",
|
||||||
|
"djmixhostingsoftware" => "Programari d'allotjament de mescles de DJ",
|
||||||
|
"privacyPolicy" => "Política de privadesa",
|
||||||
|
"termsAndConditions" => "Termes i condicions",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,43 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Vítejte na našich webových stránkách!',
|
'welcome' => 'Vítejte na našich webových stránkách!',
|
||||||
'description' => 'To je popis v angličtině.',
|
'description' => 'Toto je popis v angličtině.',
|
||||||
'desc' => 'L 343, 22.12.2009, s. 1).',
|
'desc' => 'Popis',
|
||||||
'userProfile' => "Profil uživatele",
|
'userProfile' => "Profil uživatele",
|
||||||
'user' => 'Uživatel',
|
'user' => 'Uživatel',
|
||||||
'home' => 'Domů',
|
'home' => 'Domov',
|
||||||
'djName' => 'Název DJ',
|
'djName' => 'Jméno DJ',
|
||||||
'email' => 'E-mailová adresa',
|
'email' => 'E-mail',
|
||||||
'location' => 'Poloha',
|
'location' => 'Umístění',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Bio',
|
||||||
'submit' => 'Odeslat',
|
'submit' => 'Odeslat',
|
||||||
'login' => 'Přihlásit se',
|
'login' => 'Přihlásit se',
|
||||||
'message' => 'Zpráva',
|
'message' => 'Zpráva',
|
||||||
'follow' => 'Sledovat',
|
'follow' => 'Sledovat',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJe',
|
||||||
"djNotFound" => "Nelze načíst DJ; buď nebyl nalezen DJ nebo je tento DJ soukromý.",
|
"djNotFound" => "Nepodařilo se načíst DJ; buď DJ nebyl nalezen, nebo je tento DJ soukromý.",
|
||||||
"notfound" => "Stránka nenalezena",
|
"notfound" => "Stránka nenalezena",
|
||||||
"genre" => "Žánr",
|
"genre" => "Žánr",
|
||||||
"genres" => "Genres",
|
"genres" => "Žánry",
|
||||||
"genreNotFound" => "Nelze načíst genre; buď nebyl žánr nalezen, byl prázdný, nebo tento žánr je soukromý.",
|
"genreNotFound" => "Nepodařilo se načíst žánr; buď žánr nebyl nalezen, byl prázdný nebo je tento žánr soukromý.",
|
||||||
"mix-count" => "Počet smíšených",
|
"mix-count" => "Počet mixů",
|
||||||
"mixes" => "Směsi",
|
"mixes" => "Mixy",
|
||||||
"mix" => "Míchat",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Nelze načíst mix; buď směs nebyla nalezena, byla prázdná, nebo je tato směs soukromá.",
|
"mixNotFound" => "Nepodařilo se načíst mix; buď mix nebyl nalezen, byl prázdný nebo je tento mix soukromý.",
|
||||||
"mixshowNotFound" => "Nelze načíst mixshow; buď mixshow nebyl nalezen, byl prázdný, nebo je tento mixshow soukromý.",
|
"mixshowNotFound" => "Nepodařilo se načíst mixshow; buď mixshow nebyl nalezen, byl prázdný nebo je tento mixshow soukromý.",
|
||||||
"mixName" => "Směsný název",
|
"mixName" => "Název mixu",
|
||||||
"mixDescription" => "Smíchat popis",
|
"mixDescription" => "Popis mixu",
|
||||||
"mixLength" => "Míchat délku",
|
"mixLength" => "Délka mixu",
|
||||||
"mixGenre" => "Míchat žánr",
|
"mixGenre" => "Žánr mixu",
|
||||||
"view" => "Zobrazit",
|
"view" => "Zobrazit",
|
||||||
"mixname" => "Směsný název",
|
"mixname" => "Název mixu",
|
||||||
"search" => "Hledat",
|
"search" => "Hledat",
|
||||||
"searchResults" => "Výsledky hledání",
|
"searchResults" => "Výsledky hledání",
|
||||||
"searchResultsFor" => "Výsledky hledání pro",
|
"searchResultsFor" => "Výsledky hledání pro",
|
||||||
"searchResultsFound" => "Nalezeny výsledky hledání",
|
"searchResultsFound" => "Nalezené výsledky hledání",
|
||||||
"tracklist" => "Seznam stop",
|
"tracklist" => "Seznam skladeb",
|
||||||
"lastupdated" => "Naposledy aktualizováno",
|
"lastupdated" => "Naposledy aktualizováno",
|
||||||
"duration" => "Doba trvání",
|
"duration" => "Délka",
|
||||||
"hour" => "hodina",
|
"hour" => "hodina",
|
||||||
"hours" => "hodiny",
|
"hours" => "hodiny",
|
||||||
"minute" => "minuta",
|
"minute" => "minuta",
|
||||||
|
@ -46,31 +46,110 @@ return [
|
||||||
"seconds" => "sekundy",
|
"seconds" => "sekundy",
|
||||||
"by" => "od",
|
"by" => "od",
|
||||||
"added" => "Přidáno",
|
"added" => "Přidáno",
|
||||||
"recorded" => "Zaznamenáno",
|
"recorded" => "Nahráno",
|
||||||
"audioNotSupported" => "Váš prohlížeč nepodporuje zvukový prvek.",
|
"audioNotSupported" => "Váš prohlížeč nepodporuje prvek audio.",
|
||||||
"downloads" => "Stahování",
|
"downloads" => "Stahování",
|
||||||
"download" => "Stáhnout",
|
"download" => "Stáhnout",
|
||||||
"downloadMix" => "Stáhnout směs",
|
"downloadMix" => "Stáhnout mix",
|
||||||
"plays" => "Hraje",
|
"plays" => "Přehrání",
|
||||||
"play" => "Hrát",
|
"play" => "Přehrát",
|
||||||
"contactus" => "Kontaktujte nás",
|
"contactus" => "Kontaktujte nás",
|
||||||
"allrightsreserved" => "Všechna práva vyhrazena.",
|
"allrightsreserved" => "Všechna práva vyhrazena.",
|
||||||
"mixshows" => "Směšovače",
|
"mixshows" => "Mixshowy",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Název Mixshow",
|
"mixshowName" => "Název mixshow",
|
||||||
"share" => "Sdílet",
|
"share" => "Sdílet",
|
||||||
"sahrethismix" => "Sdílet tuto skladbu",
|
"sahrethismix" => "Sdílet tento mix",
|
||||||
"sharethismixshow" => "Sdílet tento mixshow",
|
"sharethismixshow" => "Sdílet tuto mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Rok",
|
"year" => "Rok",
|
||||||
"sharetotwitter" => "Sdílet na X (dříve Twitter)",
|
"sharetotwitter" => "Sdílet na X (dříve Twitter)",
|
||||||
"sharetofb" => "Sdílet na Facebook",
|
"sharetofb" => "Sdílet na Facebook",
|
||||||
"sharetoig" => "Sdílet na Instagramu",
|
"sharetoig" => "Sdílet na Instagram",
|
||||||
"copyurl" => "Kopírovat URL",
|
"copyurl" => "Kopírovat URL",
|
||||||
"urlcopiedtoclipboard" => "URL zkopírováno do schránky",
|
"urlcopiedtoclipboard" => "URL byla zkopírována do schránky",
|
||||||
"failedtocopyurl" => "Kopírování URL se nezdařilo",
|
"failedtocopyurl" => "Nepodařilo se zkopírovat URL",
|
||||||
"name" => "Název",
|
"name" => "Jméno",
|
||||||
"username" => "Uživatelské jméno",
|
"username" => "Uživatelské jméno",
|
||||||
"logout" => "Odhlásit se",
|
"logout" => "Odhlásit se",
|
||||||
"upload" => "Nahrát",
|
"upload" => "Nahrát",
|
||||||
|
"loginToVerifyEmail" => "Musíte být přihlášeni, abyste ověřili svou e-mailovou adresu.",
|
||||||
|
"loginToUploadMix" => "Musíte být přihlášeni, abyste nahráli mix.",
|
||||||
|
"verificationCodeRequired" => "Je vyžadován ověřovací kód.",
|
||||||
|
"recordedDate" => "Datum nahrání",
|
||||||
|
"noUploadedFileFound" => "Žádný nahraný soubor nebyl nalezen. Prosím, nahrajte soubor mixu.",
|
||||||
|
"mixTitleRequired" => "Název mixu je požadován.",
|
||||||
|
"errorUploadCDN" => "Chyba při nahrávání souboru na CDN: ",
|
||||||
|
"errorSavingMixDB" => "Chyba při ukládání mixu do databáze.",
|
||||||
|
"uploadedPendingApproval" => "Mix byl úspěšně nahrán a čeká na schválení.",
|
||||||
|
"uploadHeader1" => "Nahrajte svůj mix pro DJs v Utahu",
|
||||||
|
"uploadAlertHeader" => "Důležité informace o nahrávání",
|
||||||
|
"uploadAlert1" => "DJs v Utahu jsou především archivním projektem zaměřeným na zachování historie a kultury EDM DJ v Utahu. Vaše nahrávky přispívají k této historické dokumentaci.",
|
||||||
|
"uploadHeader2" => "Před nahráním",
|
||||||
|
"uploadAlert2" => "Ověřte, že všichni DJové zapojení jsou uvedeni v naší databázi. Pokud DJ není uveden, musí být přidán a schválen před nahráním.",
|
||||||
|
"uploadAlert3" => "Zkontrolujte, že pro váš mix jsou k dispozici odpovídající žánry. Nové žánry vyžadují schválení před jejich použitím.",
|
||||||
|
"uploadAlert4" => "Můžete zaslat nové žádosti o DJ nebo žánr prostřednictvím nastavení svého profilu.",
|
||||||
|
"uploadProcess" => "Proces nahrávání",
|
||||||
|
"uploadProcess1" => "Nahrajte svůj soubor mixu (ve formátu MP3 nebo ZIP)",
|
||||||
|
"uploadProcess2" => "Zadejte podrobnosti o mixu, včetně názvu, popisu a data nahrávání",
|
||||||
|
"uploadProcess3" => "Vyberte příslušné žánry a DJy",
|
||||||
|
"uploadProcess4" => "Odeslat k posouzení",
|
||||||
|
"uploadAMix" => "Nahrát mix",
|
||||||
|
"uploadSelectMix" => "Vyberte soubor mixu (ve formátu MP3 nebo ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maximální velikost souboru: <b>500</b> MB",
|
||||||
|
"uploadFile" => "Nahrát soubor",
|
||||||
|
"uploadSelectGenres" => "Vyberte žánry (napište pro hledání)",
|
||||||
|
"uploadSelectDJSMax3" => "Vyberte DJe (maximálně 3)",
|
||||||
|
"uploadSubmitMix" => "Odeslat mix",
|
||||||
|
"uploadSelectDJ1" => "Vyberte DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Vyberte DJ 2 (volitelné)",
|
||||||
|
"uploadSelectDJ3" => "Vyberte DJ 3 (volitelné)",
|
||||||
|
"userAlreadyExists" => "Uživatel již existuje.",
|
||||||
|
"allFieldsRequired" => "Všechna pole jsou povinná.",
|
||||||
|
"passwordsDoNotMatch" => "Hesla se neshodují.",
|
||||||
|
"invalidEmail" => "Neplatný formát e-mailu.",
|
||||||
|
"invalidUsername" => "Neplatný formát uživatelského jména.",
|
||||||
|
"verifyEmailAddress" => "Ověřte svou e-mailovou adresu",
|
||||||
|
"registerThankYou" => "Děkujeme za registraci na ",
|
||||||
|
"registerVerifyEmail" => "Prosím ověřte svou e-mailovou adresu kliknutím na odkaz níže nebo zadáním ověřovacího kódu do svého profilu:",
|
||||||
|
"registerVerifyCodeIs" => "Váš ověřovací kód je: ",
|
||||||
|
"registerVerifyTimeout" => "Tento kód vyprší za 15 minut.",
|
||||||
|
"password" => "Heslo",
|
||||||
|
"rememberMe" => "Zapamatovat si mě",
|
||||||
|
"forgotPassword" => "Zapomněli jste heslo",
|
||||||
|
"dontHaveAccount" => "Nemáte účet?",
|
||||||
|
"signUp" => "Registrovat se",
|
||||||
|
"passwordResetSent" => "Pokud e-mail existuje v našem systému, byl odeslán odkaz na resetování hesla.",
|
||||||
|
"passwordResetRequested" => "Požádali jste o resetování hesla. Prosím, klikněte na odkaz níže pro resetování vašeho hesla:",
|
||||||
|
"passwordResetUnrequested" => "Pokud jste to nepožadovali, prosím ignorujte tento e-mail. Tento odkaz vyprší za 15 minut.",
|
||||||
|
"emailaddressEnter" => "Zadejte svou e-mailovou adresu",
|
||||||
|
"messageSentSuccess" => "Zpráva byla úspěšně odeslána.",
|
||||||
|
"messageSentError" => "Při odesílání zprávy došlo k chybě.",
|
||||||
|
"contactUs2" => "Rádi bychom od Vás slyšeli. Pošlete nám zprávu a odpovíme co nejdříve.",
|
||||||
|
"messageSendUs" => "Pošlete nám zprávu",
|
||||||
|
"messageSend" => "Odeslat zprávu",
|
||||||
|
"passwordReset" => "Resetovat heslo",
|
||||||
|
"enterYourUsername" => "Zadejte své uživatelské jméno",
|
||||||
|
"newPassword" => "Nové heslo",
|
||||||
|
"confirmPassword" => "Potvrďte nové heslo",
|
||||||
|
"passwordResetSuccess" => "Vaše heslo bylo úspěšně resetováno. Prosím, přihlaste se s vaším novým heslem.",
|
||||||
|
"enterEmailAddressPlease" => "Prosím zadejte svou e-mailovou adresu.",
|
||||||
|
"emailInvalid" => "Neplatný formát e-mailu.",
|
||||||
|
"passwordMismatch" => "Hesla se neshodují.",
|
||||||
|
"passwordRequirements" => "Heslo musí mít alespoň 8 znaků a obsahovat velká a malá písmena, stejně jako číslo.",
|
||||||
|
"resetExpiredInvalid" => "Neplatný nebo vypršený kód pro resetování hesla.",
|
||||||
|
"resetExpired" => "Kód pro resetování hesla vypršel.",
|
||||||
|
"codeCredsInvalid" => "Neplatné údaje nebo ověřovací kód.",
|
||||||
|
"change" => "Změnit",
|
||||||
|
"changePicture" => "Změnit obrázek",
|
||||||
|
"verify" => "Ověřit",
|
||||||
|
"createdUsing" => "Vytvořeno pomocí",
|
||||||
|
"djmixhostingsoftware" => "Software pro hosting DJ mixů",
|
||||||
|
"privacyPolicy" => "Zásady ochrany osobních údajů",
|
||||||
|
"termsAndConditions" => "Podmínky a ujednání",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -2,41 +2,41 @@
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Velkommen til vores hjemmeside!',
|
'welcome' => 'Velkommen til vores hjemmeside!',
|
||||||
'description' => 'Dette er en beskrivelse på engelsk.',
|
'description' => 'Dette er en beskrivelse på engelsk.',
|
||||||
'desc' => 'Varebeskrivelse',
|
'desc' => 'Beskrivelse',
|
||||||
'userProfile' => "Bruger Profil",
|
'userProfile' => "Brugerprofil",
|
||||||
'user' => 'Bruger',
|
'user' => 'Bruger',
|
||||||
'home' => 'Hjem',
|
'home' => 'Hjem',
|
||||||
'djName' => 'DJ Navn',
|
'djName' => 'DJ Navn',
|
||||||
'email' => 'E-mail',
|
'email' => 'Mail',
|
||||||
'location' => 'Placering',
|
'location' => 'Beliggenhed',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografi',
|
||||||
'submit' => 'Indsend',
|
'submit' => 'Indsend',
|
||||||
'login' => 'Login',
|
'login' => 'Log ind',
|
||||||
'message' => 'Besked',
|
'message' => 'Besked',
|
||||||
'follow' => 'Følg',
|
'follow' => 'Følg',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "Kunne ikke indlæse DJ; enten blev DJ ikke fundet eller denne DJ er privat.",
|
"djNotFound" => "Kunne ikke indlæse DJ; enten blev DJ ikke fundet, eller denne DJ er privat.",
|
||||||
"notfound" => "Siden blev ikke fundet",
|
"notfound" => "Siden blev ikke fundet",
|
||||||
"genre" => "Genre",
|
"genre" => "Genre",
|
||||||
"genres" => "Genres",
|
"genres" => "Genrer",
|
||||||
"genreNotFound" => "Kunne ikke indlæse genre; enten blev genren ikke fundet, var tom, eller denne genre er privat.",
|
"genreNotFound" => "Kunne ikke indlæse genre; enten blev genren ikke fundet, var tom, eller denne genre er privat.",
|
||||||
"mix-count" => "Bland Antal",
|
"mix-count" => "Mixantal",
|
||||||
"mixes" => "Blandinger",
|
"mixes" => "Mixes",
|
||||||
"mix" => "Bland",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Kunne ikke indlæse mix. Enten blev blandingen ikke fundet, var tom, eller også er dette miks privat.",
|
"mixNotFound" => "Kunne ikke indlæse mix; enten blev mixet ikke fundet, var tomt, eller dette mix er privat.",
|
||||||
"mixshowNotFound" => "Kunne ikke indlæse mixshow; enten blev mixshowet ikke fundet, var tomt, eller dette mixshow er privat.",
|
"mixshowNotFound" => "Kunne ikke indlæse mixshow; enten blev mixshow ikke fundet, var tomt, eller dette mixshow er privat.",
|
||||||
"mixName" => "Mix Navn",
|
"mixName" => "Mixnavn",
|
||||||
"mixDescription" => "Bland Beskrivelse",
|
"mixDescription" => "Mixbeskrivelse",
|
||||||
"mixLength" => "Bland Længde",
|
"mixLength" => "Mixlængde",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Mixgenre",
|
||||||
"view" => "Vis",
|
"view" => "Vis",
|
||||||
"mixname" => "Mix Navn",
|
"mixname" => "Mixnavn",
|
||||||
"search" => "Søg",
|
"search" => "Søg",
|
||||||
"searchResults" => "Søge Resultater",
|
"searchResults" => "Søgeresultater",
|
||||||
"searchResultsFor" => "Søgeresultater for",
|
"searchResultsFor" => "Søgeresultater for",
|
||||||
"searchResultsFound" => "Søgeresultater Fundet",
|
"searchResultsFound" => "Fundne søgeresultater",
|
||||||
"tracklist" => "Sporliste",
|
"tracklist" => "Trackliste",
|
||||||
"lastupdated" => "Sidst Opdateret",
|
"lastupdated" => "Seneste opdatering",
|
||||||
"duration" => "Varighed",
|
"duration" => "Varighed",
|
||||||
"hour" => "time",
|
"hour" => "time",
|
||||||
"hours" => "timer",
|
"hours" => "timer",
|
||||||
|
@ -47,30 +47,109 @@ return [
|
||||||
"by" => "af",
|
"by" => "af",
|
||||||
"added" => "Tilføjet",
|
"added" => "Tilføjet",
|
||||||
"recorded" => "Optaget",
|
"recorded" => "Optaget",
|
||||||
"audioNotSupported" => "Din browser understøtter ikke lydelementet.",
|
"audioNotSupported" => "Din browser understøtter ikke audio-elementet.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Downloads",
|
||||||
"download" => "Hent",
|
"download" => "Download",
|
||||||
"downloadMix" => "Download Blanding",
|
"downloadMix" => "Download Mix",
|
||||||
"plays" => "Afspil",
|
"plays" => "Afspilninger",
|
||||||
"play" => "Afspil",
|
"play" => "Afspil",
|
||||||
"contactus" => "Kontakt Os",
|
"contactus" => "Kontakt os",
|
||||||
"allrightsreserved" => "Alle rettigheder forbeholdt.",
|
"allrightsreserved" => "Alle rettigheder forbeholdes.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mixshow Navn",
|
"mixshowName" => "Mixshow navn",
|
||||||
"share" => "Del",
|
"share" => "Del",
|
||||||
"sahrethismix" => "Del dette mix",
|
"sahrethismix" => "Del dette mix",
|
||||||
"sharethismixshow" => "Del dette mixshow",
|
"sharethismixshow" => "Del dette mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "År",
|
"year" => "År",
|
||||||
"sharetotwitter" => "Del til X (tidligere Twitter)",
|
"sharetotwitter" => "Del til X (tidligere Twitter)",
|
||||||
"sharetofb" => "Del på Facebook",
|
"sharetofb" => "Del til Facebook",
|
||||||
"sharetoig" => "Del på Instagram",
|
"sharetoig" => "Del til Instagram",
|
||||||
"copyurl" => "Kopiér URL",
|
"copyurl" => "Kopier URL",
|
||||||
"urlcopiedtoclipboard" => "URL kopieret til udklipsholder",
|
"urlcopiedtoclipboard" => "URL kopieret til udklipsholder",
|
||||||
"failedtocopyurl" => "Kopiering af URL mislykkedes",
|
"failedtocopyurl" => "Kunne ikke kopiere URL",
|
||||||
"name" => "Navn",
|
"name" => "Navn",
|
||||||
"username" => "Brugernavn",
|
"username" => "Brugernavn",
|
||||||
"logout" => "Log Ud",
|
"logout" => "Log ud",
|
||||||
"upload" => "Upload",
|
"upload" => "Upload",
|
||||||
|
"loginToVerifyEmail" => "Du skal være logget ind for at bekræfte din e-mail.",
|
||||||
|
"loginToUploadMix" => "Du skal være logget ind for at uploade et mix.",
|
||||||
|
"verificationCodeRequired" => "Verifikationskode er nødvendig.",
|
||||||
|
"recordedDate" => "Optaget dato",
|
||||||
|
"noUploadedFileFound" => "Ingen uploaded fil fundet. Upload venligst en mixfil.",
|
||||||
|
"mixTitleRequired" => "Mixtitel er nødvendig.",
|
||||||
|
"errorUploadCDN" => "Fejl ved upload af fil til CDN: ",
|
||||||
|
"errorSavingMixDB" => "Fejl ved gemme mix til databasen.",
|
||||||
|
"uploadedPendingApproval" => "Mixet er uploadet succesfuldt og venter på godkendelse.",
|
||||||
|
"uploadHeader1" => "Upload dit mix til Utahs DJs",
|
||||||
|
"uploadAlertHeader" => "Vigtig uploadinformation",
|
||||||
|
"uploadAlert1" => "Utahs DJs er primært et arkiveringsprojekt dedikeret til at bevare historien og kulturen af EDM DJs i Utah. Dine uploads bidrager til denne historiske optegnelse.",
|
||||||
|
"uploadHeader2" => "Før du uploader",
|
||||||
|
"uploadAlert2" => "Bekræft, at alle involverede DJs er opført i vores database. Hvis en DJ ikke er opført, skal de tilføjes og godkendes, før de uploades.",
|
||||||
|
"uploadAlert3" => "Tjek, at relevante genrer er tilgængelige for dit mix. Nye genrer kræver godkendelse, før de kan bruges.",
|
||||||
|
"uploadAlert4" => "Du kan indsende nye DJ- eller genreanmodninger gennem dine profilindstillinger.",
|
||||||
|
"uploadProcess" => "Upload proces",
|
||||||
|
"uploadProcess1" => "Upload din mixfil (MP3 eller ZIP-format)",
|
||||||
|
"uploadProcess2" => "Indtast mixdetaljer, herunder titel, beskrivelse og optagedato",
|
||||||
|
"uploadProcess3" => "Vælg relevante genrer og DJs",
|
||||||
|
"uploadProcess4" => "Indsend til gennemgang",
|
||||||
|
"uploadAMix" => "Upload et mix",
|
||||||
|
"uploadSelectMix" => "Vælg mixfil (MP3 eller ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maksimal filstørrelse: 500MB",
|
||||||
|
"uploadFile" => "Upload fil",
|
||||||
|
"uploadSelectGenres" => "Vælg genrer (skriv for at søge)",
|
||||||
|
"uploadSelectDJSMax3" => "Vælg DJs (maksimum 3)",
|
||||||
|
"uploadSubmitMix" => "Indsend Mix",
|
||||||
|
"uploadSelectDJ1" => "Vælg DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Vælg DJ 2 (valgfrit)",
|
||||||
|
"uploadSelectDJ3" => "Vælg DJ 3 (valgfrit)",
|
||||||
|
"userAlreadyExists" => "Bruger findes allerede.",
|
||||||
|
"allFieldsRequired" => "Alle felter er påkrævet.",
|
||||||
|
"passwordsDoNotMatch" => "Adgangskoder matcher ikke.",
|
||||||
|
"invalidEmail" => "Ugyldigt e-mailformat.",
|
||||||
|
"invalidUsername" => "Ugyldigt brugernavnformat.",
|
||||||
|
"verifyEmailAddress" => "Bekræft din e-mailadresse",
|
||||||
|
"registerThankYou" => "Tak fordi du registrerede dig på ",
|
||||||
|
"registerVerifyEmail" => "Bekræft venligst din e-mailadresse ved at klikke på linket nedenfor, eller ved at indtaste verifikationskoden i din profil:",
|
||||||
|
"registerVerifyCodeIs" => "Din verifikationskode er: ",
|
||||||
|
"registerVerifyTimeout" => "Denne kode udløber om 15 minutter.",
|
||||||
|
"password" => "Adgangskode",
|
||||||
|
"rememberMe" => "Husk mig",
|
||||||
|
"forgotPassword" => "Glemt adgangskode",
|
||||||
|
"dontHaveAccount" => "Har du ikke en konto?",
|
||||||
|
"signUp" => "Tilmeld dig",
|
||||||
|
"passwordResetSent" => "Hvis e-mailen findes i vores system, er et link til nulstilling af adgangskoden blevet sendt.",
|
||||||
|
"passwordResetRequested" => "Du har anmodet om at nulstille din adgangskode. Klik venligst på linket nedenfor for at nulstille din adgangskode:",
|
||||||
|
"passwordResetUnrequested" => "Hvis du ikke anmodede om dette, bedes du ignorere denne e-mail. Dette link vil udløbe om 15 minutter.",
|
||||||
|
"emailaddressEnter" => "Indtast din e-mailadresse",
|
||||||
|
"messageSentSuccess" => "Besked sendt succesfuldt.",
|
||||||
|
"messageSentError" => "Der opstod en fejl under sending af beskeden.",
|
||||||
|
"contactUs2" => "Vi vil elske at høre fra dig. Send os en besked, og vi vil reagere så hurtigt som muligt.",
|
||||||
|
"messageSendUs" => "Send os en besked",
|
||||||
|
"messageSend" => "Send besked",
|
||||||
|
"passwordReset" => "Nulstil adgangskode",
|
||||||
|
"enterYourUsername" => "Indtast dit brugernavn",
|
||||||
|
"newPassword" => "Ny adgangskode",
|
||||||
|
"confirmPassword" => "Bekræft ny adgangskode",
|
||||||
|
"passwordResetSuccess" => "Din adgangskode er blevet nulstillet succesfuldt. Log venligst ind med din nye adgangskode.",
|
||||||
|
"enterEmailAddressPlease" => "Indtast venligst din e-mailadresse.",
|
||||||
|
"emailInvalid" => "Ugyldigt e-mailformat.",
|
||||||
|
"passwordMismatch" => "Adgangskoder matcher ikke.",
|
||||||
|
"passwordRequirements" => "Adgangskoden skal være mindst 8 tegn lang og inkludere store og små bogstaver samt et tal.",
|
||||||
|
"resetExpiredInvalid" => "Ugyldig eller udløbet nulstillingskode.",
|
||||||
|
"resetExpired" => "Nulstillingskoden er udløbet.",
|
||||||
|
"codeCredsInvalid" => "Ugyldige legitimationsoplysninger eller verifikationskode.",
|
||||||
|
"change" => "Ændre",
|
||||||
|
"changePicture" => "Ændre billede",
|
||||||
|
"verify" => "Bekræft",
|
||||||
|
"createdUsing" => "Oprettet ved hjælp af",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Hosting Software",
|
||||||
|
"privacyPolicy" => "Privatlivspolitik",
|
||||||
|
"termsAndConditions" => "Vilkår og betingelser",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -5,72 +5,151 @@ return [
|
||||||
'desc' => 'Beschreibung',
|
'desc' => 'Beschreibung',
|
||||||
'userProfile' => "Benutzerprofil",
|
'userProfile' => "Benutzerprofil",
|
||||||
'user' => 'Benutzer',
|
'user' => 'Benutzer',
|
||||||
'home' => 'Zuhause',
|
'home' => 'Startseite',
|
||||||
'djName' => 'DJ-Name',
|
'djName' => 'DJ-Name',
|
||||||
'email' => 'E-Mail',
|
'email' => 'E-Mail',
|
||||||
'location' => 'Standort',
|
'location' => 'Standort',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografie',
|
||||||
'submit' => 'Absenden',
|
'submit' => 'Einreichen',
|
||||||
'login' => 'Anmelden',
|
'login' => 'Anmelden',
|
||||||
'message' => 'Nachricht',
|
'message' => 'Nachricht',
|
||||||
'follow' => 'Folgen',
|
'follow' => 'Folgen',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "DJ konnte nicht geladen werden. Entweder wurde der DJ nicht gefunden oder dieser DJ ist privat.",
|
"djNotFound" => "DJ konnte nicht geladen werden; entweder wurde der DJ nicht gefunden oder dieser DJ ist privat.",
|
||||||
"notfound" => "Seite nicht gefunden",
|
"notfound" => "Seite nicht gefunden",
|
||||||
"genre" => "Genre",
|
"genre" => "Genre",
|
||||||
"genres" => "Genres",
|
"genres" => "Genres",
|
||||||
"genreNotFound" => "Genre konnte nicht geladen werden; entweder wurde das Genre nicht gefunden, war leer oder dieses Genre ist privat.",
|
"genreNotFound" => "Genre konnte nicht geladen werden; entweder wurde das Genre nicht gefunden, war leer oder dieses Genre ist privat.",
|
||||||
"mix-count" => "Mix-Anzahl",
|
"mix-count" => "Mixanzahl",
|
||||||
"mixes" => "Mischungen",
|
"mixes" => "Mixes",
|
||||||
"mix" => "Mix",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Mix konnte nicht geladen werden; entweder wurde der Mix nicht gefunden, war leer oder dieser Mix ist privat.",
|
"mixNotFound" => "Mix konnte nicht geladen werden; entweder wurde der Mix nicht gefunden, war leer oder dieser Mix ist privat.",
|
||||||
"mixshowNotFound" => "Mixshow konnte nicht geladen werden; entweder wurde die Mixshow nicht gefunden, war leer oder diese Mixshow ist privat.",
|
"mixshowNotFound" => "Mixshow konnte nicht geladen werden; entweder wurde die Mixshow nicht gefunden, war leer oder diese Mixshow ist privat.",
|
||||||
"mixName" => "Mix-Name",
|
"mixName" => "Mixname",
|
||||||
"mixDescription" => "Mix-Beschreibung",
|
"mixDescription" => "Mixbeschreibung",
|
||||||
"mixLength" => "Mix-Länge",
|
"mixLength" => "Mixlänge",
|
||||||
"mixGenre" => "Genre mischen",
|
"mixGenre" => "Mixgenre",
|
||||||
"view" => "Ansicht",
|
"view" => "Ansehen",
|
||||||
"mixname" => "Mix-Name",
|
"mixname" => "Mixname",
|
||||||
"search" => "Suchen",
|
"search" => "Suche",
|
||||||
"searchResults" => "Suchergebnisse",
|
"searchResults" => "Suchergebnisse",
|
||||||
"searchResultsFor" => "Suchergebnisse für",
|
"searchResultsFor" => "Suchergebnisse für",
|
||||||
"searchResultsFound" => "Suchergebnisse gefunden",
|
"searchResultsFound" => "Gefundene Suchergebnisse",
|
||||||
"tracklist" => "Trackliste",
|
"tracklist" => "Trackliste",
|
||||||
"lastupdated" => "Zuletzt aktualisiert",
|
"lastupdated" => "Zuletzt aktualisiert",
|
||||||
"duration" => "Dauer",
|
"duration" => "Dauer",
|
||||||
"hour" => "std",
|
"hour" => "Stunde",
|
||||||
"hours" => "std",
|
"hours" => "Stunden",
|
||||||
"minute" => "minute",
|
"minute" => "Minute",
|
||||||
"minutes" => "minuten",
|
"minutes" => "Minuten",
|
||||||
"second" => "sekunde",
|
"second" => "Sekunde",
|
||||||
"seconds" => "Sekunden",
|
"seconds" => "Sekunden",
|
||||||
"by" => "von",
|
"by" => "von",
|
||||||
"added" => "Hinzugefügt",
|
"added" => "Hinzugefügt",
|
||||||
"recorded" => "Aufgenommen",
|
"recorded" => "Aufgenommen",
|
||||||
"audioNotSupported" => "Ihr Browser unterstützt das Audio-Element nicht.",
|
"audioNotSupported" => "Ihr Browser unterstützt das Audioelement nicht.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Downloads",
|
||||||
"download" => "Download",
|
"download" => "Herunterladen",
|
||||||
"downloadMix" => "Mix herunterladen",
|
"downloadMix" => "Mix herunterladen",
|
||||||
"plays" => "Spielt",
|
"plays" => "Spiele",
|
||||||
"play" => "Abspielen",
|
"play" => "Abspielen",
|
||||||
"contactus" => "Kontaktiere uns",
|
"contactus" => "Kontaktiere uns",
|
||||||
"allrightsreserved" => "Alle Rechte vorbehalten.",
|
"allrightsreserved" => "Alle Rechte vorbehalten.",
|
||||||
"mixshows" => "Mix-Shows",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mix-Show-Name",
|
"mixshowName" => "Mixshow-Name",
|
||||||
"share" => "Teilen",
|
"share" => "Teilen",
|
||||||
"sahrethismix" => "Diesen Mix teilen",
|
"sahrethismix" => "Teile diesen Mix",
|
||||||
"sharethismixshow" => "Diese Mixshow teilen",
|
"sharethismixshow" => "Teile diese Mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Jahr",
|
"year" => "Jahr",
|
||||||
"sharetotwitter" => "Auf X teilen (ehemals Twitter)",
|
"sharetotwitter" => "Teilen mit X (ehemals Twitter)",
|
||||||
"sharetofb" => "Auf Facebook teilen",
|
"sharetofb" => "Teilen auf Facebook",
|
||||||
"sharetoig" => "Auf Instagram teilen",
|
"sharetoig" => "Teilen auf Instagram",
|
||||||
"copyurl" => "URL kopieren",
|
"copyurl" => "URL kopieren",
|
||||||
"urlcopiedtoclipboard" => "URL in Zwischenablage kopiert",
|
"urlcopiedtoclipboard" => "URL in die Zwischenablage kopiert",
|
||||||
"failedtocopyurl" => "Fehler beim Kopieren der URL",
|
"failedtocopyurl" => "URL konnte nicht kopiert werden",
|
||||||
"name" => "Name",
|
"name" => "Name",
|
||||||
"username" => "Benutzername",
|
"username" => "Benutzername",
|
||||||
"logout" => "Abmelden",
|
"logout" => "Abmelden",
|
||||||
"upload" => "Hochladen",
|
"upload" => "Hochladen",
|
||||||
|
"loginToVerifyEmail" => "Sie müssen angemeldet sein, um Ihre E-Mail zu überprüfen.",
|
||||||
|
"loginToUploadMix" => "Sie müssen angemeldet sein, um einen Mix hochzuladen.",
|
||||||
|
"verificationCodeRequired" => "Überprüfungs-Code ist erforderlich.",
|
||||||
|
"recordedDate" => "Aufnahmedatum",
|
||||||
|
"noUploadedFileFound" => "Kein hochgeladenes Datei gefunden. Bitte laden Sie eine Mix-Datei hoch.",
|
||||||
|
"mixTitleRequired" => "Mix-Titel ist erforderlich.",
|
||||||
|
"errorUploadCDN" => "Fehler beim Hochladen der Datei zu CDN: ",
|
||||||
|
"errorSavingMixDB" => "Fehler beim Speichern des Mixes in der Datenbank.",
|
||||||
|
"uploadedPendingApproval" => "Mix erfolgreich hochgeladen und wartet auf Genehmigung.",
|
||||||
|
"uploadHeader1" => "Laden Sie Ihren Mix bei Utah's DJs hoch",
|
||||||
|
"uploadAlertHeader" => "Wichtige Informationen zum Hochladen",
|
||||||
|
"uploadAlert1" => "Utah's DJs ist hauptsächlich ein Archivprojekt, das der Erhaltung der Geschichte und Kultur von EDM-DJs in Utah gewidmet ist. Ihre Uploads tragen zu diesem historischen Dokument bei.",
|
||||||
|
"uploadHeader2" => "Vor dem Hochladen",
|
||||||
|
"uploadAlert2" => "Überprüfen Sie, dass alle beteiligten DJs in unserer Datenbank aufgeführt sind. Wenn ein DJ nicht aufgeführt ist, muss er hinzugefügt und genehmigt werden, bevor Sie hochladen.",
|
||||||
|
"uploadAlert3" => "Überprüfen Sie, dass geeignete Genres für Ihren Mix verfügbar sind. Neue Genres benötigen eine Genehmigung, bevor sie verwendet werden können.",
|
||||||
|
"uploadAlert4" => "Sie können neue DJ- oder Genre-Anfragen über Ihre Profileinstellungen einreichen.",
|
||||||
|
"uploadProcess" => "Hochladeprozess",
|
||||||
|
"uploadProcess1" => "Laden Sie Ihre Mix-Datei (MP3- oder ZIP-Format) hoch",
|
||||||
|
"uploadProcess2" => "Geben Sie Mix-Details an, einschließlich Titel, Beschreibung und Aufnahmedatum",
|
||||||
|
"uploadProcess3" => "Wählen Sie passende Genres und DJs aus",
|
||||||
|
"uploadProcess4" => "Zur Überprüfung einreichen",
|
||||||
|
"uploadAMix" => "Einen Mix hochladen",
|
||||||
|
"uploadSelectMix" => "Wählen Sie die Mix-Datei (MP3 oder ZIP) aus",
|
||||||
|
"uploadMaxFileSize" => "Maximale Dateigröße: 500 MB",
|
||||||
|
"uploadFile" => "Datei hochladen",
|
||||||
|
"uploadSelectGenres" => "Genres auswählen (tippen, um zu suchen)",
|
||||||
|
"uploadSelectDJSMax3" => "DJs auswählen (maximal 3)",
|
||||||
|
"uploadSubmitMix" => "Mix einreichen",
|
||||||
|
"uploadSelectDJ1" => "DJ 1 auswählen",
|
||||||
|
"uploadSelectDJ2" => "DJ 2 auswählen (optional)",
|
||||||
|
"uploadSelectDJ3" => "DJ 3 auswählen (optional)",
|
||||||
|
"userAlreadyExists" => "Benutzer existiert bereits.",
|
||||||
|
"allFieldsRequired" => "Alle Felder sind erforderlich.",
|
||||||
|
"passwordsDoNotMatch" => "Passwörter stimmen nicht überein.",
|
||||||
|
"invalidEmail" => "Ungültiges E-Mail-Format.",
|
||||||
|
"invalidUsername" => "Ungültiges Benutzername-Format.",
|
||||||
|
"verifyEmailAddress" => "Bestätigen Sie Ihre E-Mail-Adresse",
|
||||||
|
"registerThankYou" => "Vielen Dank für Ihre Registrierung bei ",
|
||||||
|
"registerVerifyEmail" => "Bitte überprüfen Sie Ihre E-Mail-Adresse, indem Sie auf den Link unten klicken oder den Überprüfungscode in Ihrem Profil eingeben:",
|
||||||
|
"registerVerifyCodeIs" => "Ihr Überprüfungscode ist: ",
|
||||||
|
"registerVerifyTimeout" => "Dieser Code läuft in 15 Minuten ab.",
|
||||||
|
"password" => "Passwort",
|
||||||
|
"rememberMe" => "Merk dir mich",
|
||||||
|
"forgotPassword" => "Passwort vergessen",
|
||||||
|
"dontHaveAccount" => "Haben Sie kein Konto?",
|
||||||
|
"signUp" => "Registrieren",
|
||||||
|
"passwordResetSent" => "Wenn die E-Mail in unserem System existiert, wurde ein Link zum Zurücksetzen des Passworts gesendet.",
|
||||||
|
"passwordResetRequested" => "Sie haben beantragt, Ihr Passwort zurückzusetzen. Bitte klicken Sie auf den Link unten, um Ihr Passwort zurückzusetzen:",
|
||||||
|
"passwordResetUnrequested" => "Wenn Sie dies nicht angefordert haben, ignorieren Sie bitte diese E-Mail. Dieser Link läuft in 15 Minuten ab.",
|
||||||
|
"emailaddressEnter" => "Geben Sie Ihre E-Mail-Adresse ein",
|
||||||
|
"messageSentSuccess" => "Nachricht erfolgreich gesendet.",
|
||||||
|
"messageSentError" => "Beim Senden der Nachricht ist ein Fehler aufgetreten.",
|
||||||
|
"contactUs2" => "Wir würden uns freuen, von dir zu hören. Schicken Sie uns eine Nachricht und wir werden so bald wie möglich antworten.",
|
||||||
|
"messageSendUs" => "Senden Sie uns eine Nachricht",
|
||||||
|
"messageSend" => "Nachricht senden",
|
||||||
|
"passwordReset" => "Passwort zurücksetzen",
|
||||||
|
"enterYourUsername" => "Geben Sie Ihren Benutzernamen ein",
|
||||||
|
"newPassword" => "Neues Passwort",
|
||||||
|
"confirmPassword" => "Neues Passwort bestätigen",
|
||||||
|
"passwordResetSuccess" => "Ihr Passwort wurde erfolgreich zurückgesetzt. Bitte melden Sie sich mit Ihrem neuen Passwort an.",
|
||||||
|
"enterEmailAddressPlease" => "Bitte geben Sie Ihre E-Mail-Adresse ein.",
|
||||||
|
"emailInvalid" => "Ungültiges E-Mail-Format.",
|
||||||
|
"passwordMismatch" => "Passwörter stimmen nicht überein.",
|
||||||
|
"passwordRequirements" => "Das Passwort muss mindestens 8 Zeichen lang sein und Groß- und Kleinbuchstaben sowie eine Zahl enthalten.",
|
||||||
|
"resetExpiredInvalid" => "Ungültiger oder abgelaufener Passwort-Zurücksetz-Code.",
|
||||||
|
"resetExpired" => "Der Passwort-Zurücksetz-Code ist abgelaufen.",
|
||||||
|
"codeCredsInvalid" => "Ungültige Anmeldeinformationen oder Überprüfungscode.",
|
||||||
|
"change" => "Ändern",
|
||||||
|
"changePicture" => "Bild ändern",
|
||||||
|
"verify" => "Überprüfen",
|
||||||
|
"createdUsing" => "Erstellt mit",
|
||||||
|
"djmixhostingsoftware" => "DJ-Mix-Hosting-Software",
|
||||||
|
"privacyPolicy" => "Datenschutzbestimmungen",
|
||||||
|
"termsAndConditions" => "Allgemeine Geschäftsbedingungen",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Καλώς ήλθατε στην ιστοσελίδα μας!',
|
'welcome' => 'Καλώς ήρθατε στην ιστοσελίδα μας!',
|
||||||
'description' => 'Αυτή είναι μια περιγραφή στα αγγλικά.',
|
'description' => 'Αυτή είναι μια περιγραφή στα Αγγλικά.',
|
||||||
'desc' => 'Περιγραφή',
|
'desc' => 'Περιγραφή',
|
||||||
'userProfile' => "Προφίλ Χρήστη",
|
'userProfile' => "Προφίλ Χρήστη",
|
||||||
'user' => 'Χρήστης',
|
'user' => 'Χρήστης',
|
||||||
'home' => 'Αρχική',
|
'home' => 'Αρχική',
|
||||||
'djName' => 'Όνομα DJ',
|
'djName' => 'Όνομα DJ',
|
||||||
'email' => 'E-mail',
|
'email' => 'Ηλεκτρονικό Ταχυδρομείο',
|
||||||
'location' => 'Τοποθεσία',
|
'location' => 'Τοποθεσία',
|
||||||
'bio' => 'Βιογραφικό',
|
'bio' => 'Βιογραφικό',
|
||||||
'submit' => 'Υποβολή',
|
'submit' => 'Υποβολή',
|
||||||
'login' => 'Είσοδος',
|
'login' => 'Σύνδεση',
|
||||||
'message' => 'Μήνυμα',
|
'message' => 'Μήνυμα',
|
||||||
'follow' => 'Ακολουθήστε',
|
'follow' => 'Ακολούθησε',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "Δεν ήταν δυνατή η φόρτωση του DJ, ούτε ο DJ βρέθηκε ούτε αυτός ο DJ είναι ιδιωτικός.",
|
"djNotFound" => "Δεν ήταν δυνατή η φόρτωση του DJ· είτε ο DJ δεν βρέθηκε είτε αυτός ο DJ είναι ιδιωτικός.",
|
||||||
"notfound" => "Η σελίδα δεν βρέθηκε",
|
"notfound" => "Η σελίδα δεν βρέθηκε",
|
||||||
"genre" => "Είδος",
|
"genre" => "Είδος",
|
||||||
"genres" => "Genres",
|
"genres" => "Είδη",
|
||||||
"genreNotFound" => "Δεν ήταν δυνατή η φόρτωση είδους. Είτε το είδος δεν βρέθηκε, ήταν άδειο, είτε αυτό το είδος είναι ιδιωτικό.",
|
"genreNotFound" => "Δεν ήταν δυνατή η φόρτωση είδους· είτε το είδος δεν βρέθηκε, ήταν κενό ή αυτό το είδος είναι ιδιωτικό.",
|
||||||
"mix-count" => "Αριθμός Μεικτών",
|
"mix-count" => "Πλήθος μιξ",
|
||||||
"mixes" => "Μείγματα",
|
"mixes" => "Μίξεις",
|
||||||
"mix" => "Μείγμα",
|
"mix" => "Μίξη",
|
||||||
"mixNotFound" => "Δεν ήταν δυνατή η φόρτωση του μείγματος. Είτε το μείγμα δεν βρέθηκε, ήταν άδειο, είτε αυτό το μίγμα είναι ιδιωτικό.",
|
"mixNotFound" => "Δεν ήταν δυνατή η φόρτωση μίξης· είτε η μίξη δεν βρέθηκε, ήταν κενή ή αυτή η μίξη είναι ιδιωτική.",
|
||||||
"mixshowNotFound" => "Δεν ήταν δυνατή η φόρτωση του mixshow. Είτε το mixshow δεν βρέθηκε, ήταν άδειο, είτε αυτό το mixshow είναι ιδιωτικό.",
|
"mixshowNotFound" => "Δεν ήταν δυνατή η φόρτωση του mixshow· είτε το mixshow δεν βρέθηκε, ήταν κενό ή αυτό το mixshow είναι ιδιωτικό.",
|
||||||
"mixName" => "Όνομα Μεικτού",
|
"mixName" => "Όνομα Μίξης",
|
||||||
"mixDescription" => "Περιγραφή Μεικτού",
|
"mixDescription" => "Περιγραφή Μίξης",
|
||||||
"mixLength" => "Μήκος Μείγματος",
|
"mixLength" => "Διάρκεια Μίξης",
|
||||||
"mixGenre" => "Είδος Μείγματος",
|
"mixGenre" => "Είδος Μίξης",
|
||||||
"view" => "Προβολή",
|
"view" => "Προβολή",
|
||||||
"mixname" => "Όνομα Μεικτού",
|
"mixname" => "Όνομα Μίξης",
|
||||||
"search" => "Αναζήτηση",
|
"search" => "Αναζήτηση",
|
||||||
"searchResults" => "Αποτελέσματα Αναζήτησης",
|
"searchResults" => "Αποτελέσματα Αναζήτησης",
|
||||||
"searchResultsFor" => "Αποτελέσματα αναζήτησης για",
|
"searchResultsFor" => "Αποτελέσματα Αναζήτησης για",
|
||||||
"searchResultsFound" => "Βρέθηκαν Αποτελέσματα Αναζήτησης",
|
"searchResultsFound" => "Βρέθηκαν αποτελέσματα αναζήτησης",
|
||||||
"tracklist" => "Ανίχνευση",
|
"tracklist" => "Λίστα κομματιών",
|
||||||
"lastupdated" => "Τελευταία Ενημέρωση",
|
"lastupdated" => "Τελευταία Ενημέρωση",
|
||||||
"duration" => "Διάρκεια",
|
"duration" => "Διάρκεια",
|
||||||
"hour" => "ώρα",
|
"hour" => "ώρα",
|
||||||
|
@ -47,30 +47,109 @@ return [
|
||||||
"by" => "από",
|
"by" => "από",
|
||||||
"added" => "Προστέθηκε",
|
"added" => "Προστέθηκε",
|
||||||
"recorded" => "Ηχογραφήθηκε",
|
"recorded" => "Ηχογραφήθηκε",
|
||||||
"audioNotSupported" => "Το πρόγραμμα περιήγησής σας δεν υποστηρίζει το στοιχείο ήχου.",
|
"audioNotSupported" => "Ο περιηγητής σας δεν υποστηρίζει το στοιχείο ήχου.",
|
||||||
"downloads" => "Λήψεις",
|
"downloads" => "Λήψεις",
|
||||||
"download" => "Λήψη",
|
"download" => "Λήψη",
|
||||||
"downloadMix" => "Κατεβάστε Το Mix",
|
"downloadMix" => "Λήψη Μίξης",
|
||||||
"plays" => "Παίζει",
|
"plays" => "Αναπαραγωγές",
|
||||||
"play" => "Αναπαραγωγή",
|
"play" => "Αναπαραγωγή",
|
||||||
"contactus" => "Επικοινωνήστε Μαζί Μας",
|
"contactus" => "Επικοινωνήστε μαζί μας",
|
||||||
"allrightsreserved" => "Με επιφύλαξη παντός δικαιώματος.",
|
"allrightsreserved" => "Όλα τα δικαιώματα διατηρούνται.",
|
||||||
"mixshows" => "Μείγματα",
|
"mixshows" => "Μιξάρισμα",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Μιξάρισμα",
|
||||||
"mixshowName" => "Όνομα Mixshow",
|
"mixshowName" => "Όνομα Mixshow",
|
||||||
"share" => "Κοινοποίηση",
|
"share" => "Κοινοποίηση",
|
||||||
"sahrethismix" => "Μοιραστείτε αυτό το μίγμα",
|
"sahrethismix" => "Κοινοποιήστε αυτή τη μίξη",
|
||||||
"sharethismixshow" => "Μοιραστείτε αυτό το μίγμα",
|
"sharethismixshow" => "Κοινοποιήστε αυτό το mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Έτος",
|
"year" => "Έτος",
|
||||||
"sharetotwitter" => "Μοιραστείτε στο X (πρώην Twitter)",
|
"sharetotwitter" => "Κοινοποίηση στο X (πρώην Twitter)",
|
||||||
"sharetofb" => "Κοινοποίηση στο Facebook",
|
"sharetofb" => "Κοινοποίηση στο Facebook",
|
||||||
"sharetoig" => "Κοινοποίηση στο Instagram",
|
"sharetoig" => "Κοινοποίηση στο Instagram",
|
||||||
"copyurl" => "Αντιγραφή URL",
|
"copyurl" => "Αντιγραφή URL",
|
||||||
"urlcopiedtoclipboard" => "Το URL αντιγράφηκε στο πρόχειρο",
|
"urlcopiedtoclipboard" => "Το URL αντιγράφηκε στο πρόχειρο",
|
||||||
"failedtocopyurl" => "Αποτυχία αντιγραφής URL",
|
"failedtocopyurl" => "Απέτυχε η αντιγραφή του URL",
|
||||||
"name" => "Όνομα",
|
"name" => "Όνομα",
|
||||||
"username" => "Όνομα Χρήστη",
|
"username" => "Όνομα Χρήστη",
|
||||||
"logout" => "Αποσύνδεση",
|
"logout" => "Αποσύνδεση",
|
||||||
"upload" => "Ανέβασμα",
|
"upload" => "Ανεβάστε",
|
||||||
|
"loginToVerifyEmail" => "Πρέπει να είστε συνδεδεμένοι για να επαληθεύσετε το ηλεκτρονικό σας ταχυδρομείο.",
|
||||||
|
"loginToUploadMix" => "Πρέπει να είστε συνδεδεμένοι για να ανεβάσετε μια μίξη.",
|
||||||
|
"verificationCodeRequired" => "Απαιτείται κωδικός επαλήθευσης.",
|
||||||
|
"recordedDate" => "Ημερομηνία Ηχογράφησης",
|
||||||
|
"noUploadedFileFound" => "Δεν βρέθηκε κανένα αρχείο ανεβασμένο. Παρακαλώ ανεβάστε ένα αρχείο μίξης.",
|
||||||
|
"mixTitleRequired" => "Ο τίτλος της μίξης είναι υποχρεωτικός.",
|
||||||
|
"errorUploadCDN" => "Σφάλμα κατά την αποθήκευση αρχείου στο CDN: ",
|
||||||
|
"errorSavingMixDB" => "Σφάλμα κατά την αποθήκευση της μίξης στη βάση δεδομένων.",
|
||||||
|
"uploadedPendingApproval" => "Η μίξη ανέβηκε επιτυχώς και εκκρεμεί έγκριση.",
|
||||||
|
"uploadHeader1" => "Ανεβάστε τη μίξη σας στους DJs της Utah",
|
||||||
|
"uploadAlertHeader" => "Σημαντικές Πληροφορίες Ανεβάσματος",
|
||||||
|
"uploadAlert1" => "Οι DJs της Utah είναι κατά κύριο λόγο ένα αρχειακό έργο αφιερωμένο στη διατήρηση της ιστορίας και του πολιτισμού των DJs EDM στην Utah. Οι αναρτήσεις σας συμβάλλουν σε αυτήν την ιστορική καταγραφή.",
|
||||||
|
"uploadHeader2" => "Πριν Ανεβάσετε",
|
||||||
|
"uploadAlert2" => "Επιβεβαιώστε ότι όλοι οι DJs που συμμετέχουν είναι καταχωρημένοι στη βάση δεδομένων μας. Εάν ένας DJ δεν είναι καταχωρημένος, πρέπει να προστεθεί και να εγκριθεί πριν από την ανάρτηση.",
|
||||||
|
"uploadAlert3" => "Ελέγξτε ότι οι κατάλληλοι μουσικοί τύποι είναι διαθέσιμοι για τη μίξη σας. Νέοι τύποι απαιτούν έγκριση πριν μπορέσουν να χρησιμοποιηθούν.",
|
||||||
|
"uploadAlert4" => "Μπορείτε να υποβάλετε αιτήματα για νέους DJs ή μουσικά είδη μέσω των ρυθμίσεων του προφίλ σας.",
|
||||||
|
"uploadProcess" => "Διαδικασία Ανέβασης",
|
||||||
|
"uploadProcess1" => "Ανεβάστε το αρχείο μίξης σας (σε μορφή MP3 ή ZIP)",
|
||||||
|
"uploadProcess2" => "Εισάγετε λεπτομέρειες μίξης, συμπεριλαμβανομένου του τίτλου, της περιγραφής και της ημερομηνίας ηχογράφησης",
|
||||||
|
"uploadProcess3" => "Επιλέξτε σχετικά είδη και DJs",
|
||||||
|
"uploadProcess4" => "Υποβάλετε για έλεγχο",
|
||||||
|
"uploadAMix" => "Ανεβάστε μια Μίξη",
|
||||||
|
"uploadSelectMix" => "Επιλέξτε το Αρχείο Μίξης (MP3 ή ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Μέγιστο μέγεθος αρχείου: 500MB",
|
||||||
|
"uploadFile" => "Ανεβάστε Αρχείο",
|
||||||
|
"uploadSelectGenres" => "Επιλέξτε Είδη (πληκτρολογήστε για αναζήτηση)",
|
||||||
|
"uploadSelectDJSMax3" => "Επιλέξτε DJs (Μέγιστο 3)",
|
||||||
|
"uploadSubmitMix" => "Υποβάλετε Μίξη",
|
||||||
|
"uploadSelectDJ1" => "Επιλέξτε DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Επιλέξτε DJ 2 (προαιρετικά)",
|
||||||
|
"uploadSelectDJ3" => "Επιλέξτε DJ 3 (προαιρετικά)",
|
||||||
|
"userAlreadyExists" => "Ο χρήστης υπάρχει ήδη.",
|
||||||
|
"allFieldsRequired" => "Όλα τα πεδία είναι υποχρεωτικά.",
|
||||||
|
"passwordsDoNotMatch" => "Οι κωδικοί δεν ταιριάζουν.",
|
||||||
|
"invalidEmail" => "Μη έγκυρη μορφή ηλεκτρονικού ταχυδρομείου.",
|
||||||
|
"invalidUsername" => "Μη έγκυρη μορφή ονόματος χρήστη.",
|
||||||
|
"verifyEmailAddress" => "Επιβεβαιώστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
|
||||||
|
"registerThankYou" => "Σας ευχαριστούμε που εγγραφείτε στο ",
|
||||||
|
"registerVerifyEmail" => "Παρακαλώ επιβεβαιώστε τη διεύθυνση ηλεκτρονικού σας ταχυδρομείου κάνοντας κλικ στον παρακάτω σύνδεσμο ή πληκτρολογώντας τον κωδικό επαλήθευσης στο προφίλ σας:",
|
||||||
|
"registerVerifyCodeIs" => "Ο κωδικός επαλήθευσής σας είναι: ",
|
||||||
|
"registerVerifyTimeout" => "Αυτός ο κωδικός θα λήξει σε 15 λεπτά.",
|
||||||
|
"password" => "Κωδικός πρόσβασης",
|
||||||
|
"rememberMe" => "Να με θυμάσαι",
|
||||||
|
"forgotPassword" => "Ξεχάσατε τον κωδικό πρόσβασης",
|
||||||
|
"dontHaveAccount" => "Δεν έχετε λογαριασμό;",
|
||||||
|
"signUp" => "Εγγραφή",
|
||||||
|
"passwordResetSent" => "Εάν το ηλεκτρονικό ταχυδρομείο υπάρχει στο σύστημά μας, έχει σταλεί σύνδεσμος επαναφοράς κωδικού πρόσβασης.",
|
||||||
|
"passwordResetRequested" => "Έχετε ζητήσει να επαναφέρετε τον κωδικό πρόσβασης σας. Παρακαλώ κάντε κλικ στον παρακάτω σύνδεσμο για να επαναφέρετε τον κωδικό πρόσβασης σας:",
|
||||||
|
"passwordResetUnrequested" => "Εάν δεν ζητήσατε αυτό, παρακαλώ αγνοήστε αυτό το ηλεκτρονικό ταχυδρομείο. Αυτός ο σύνδεσμος θα λήξει σε 15 λεπτά.",
|
||||||
|
"emailaddressEnter" => "Εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
|
||||||
|
"messageSentSuccess" => "Το μήνυμα στάλθηκε με επιτυχία.",
|
||||||
|
"messageSentError" => "Παρουσιάστηκε σφάλμα κατά την αποστολή του μηνύματος.",
|
||||||
|
"contactUs2" => "Θα θέλαμε να ακούσουμε από εσάς. Στείλτε μας ένα μήνυμα και θα απαντήσουμε το συντομότερο δυνατό.",
|
||||||
|
"messageSendUs" => "Στείλτε μας ένα μήνυμα",
|
||||||
|
"messageSend" => "Στείλτε Μήνυμα",
|
||||||
|
"passwordReset" => "Επαναφορά Κωδικού Πρόσβασης",
|
||||||
|
"enterYourUsername" => "Εισάγετε το όνομα χρήστη σας",
|
||||||
|
"newPassword" => "Νέος Κωδικός Πρόσβασης",
|
||||||
|
"confirmPassword" => "Επιβεβαίωση Νέου Κωδικού Πρόσβασης",
|
||||||
|
"passwordResetSuccess" => "Ο κωδικός πρόσβασης έχει επαναφερθεί με επιτυχία. Παρακαλώ συνδεθείτε με τον νέο κωδικό πρόσβασης σας.",
|
||||||
|
"enterEmailAddressPlease" => "Παρακαλώ εισάγετε τη διεύθυνση ηλεκτρονικού σας ταχυδρομείου.",
|
||||||
|
"emailInvalid" => "Μη έγκυρη μορφή ηλεκτρονικού ταχυδρομείου.",
|
||||||
|
"passwordMismatch" => "Οι κωδικοί δεν ταιριάζουν.",
|
||||||
|
"passwordRequirements" => "Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον 8 χαρακτήρες και να περιλαμβάνει κεφαλαία και μικρά γράμματα, καθώς και έναν αριθμό.",
|
||||||
|
"resetExpiredInvalid" => "Μη έγκυρος ή ληγμένος κωδικός επαναφοράς κωδικού πρόσβασης.",
|
||||||
|
"resetExpired" => "Ο κωδικός επαναφοράς κωδικού πρόσβασης έχει λήξει.",
|
||||||
|
"codeCredsInvalid" => "Μη έγκυρα διαπιστευτήρια ή κωδικός επαλήθευσης.",
|
||||||
|
"change" => "Αλλαγή",
|
||||||
|
"changePicture" => "Αλλαγή Εικόνας",
|
||||||
|
"verify" => "Επιβεβαίωση",
|
||||||
|
"createdUsing" => "Δημιουργήθηκε χρησιμοποιώντας",
|
||||||
|
"djmixhostingsoftware" => "Λογισμικό Φιλοξενίας DJ Mix",
|
||||||
|
"privacyPolicy" => "Πολιτική Απορρήτου",
|
||||||
|
"termsAndConditions" => "Όροι και Προϋποθέσεις",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -82,6 +82,74 @@ return [
|
||||||
"errorUploadCDN" => "Error uploading file to CDN: ",
|
"errorUploadCDN" => "Error uploading file to CDN: ",
|
||||||
"errorSavingMixDB" => "Error saving mix to database.",
|
"errorSavingMixDB" => "Error saving mix to database.",
|
||||||
"uploadedPendingApproval" => "Mix uploaded successfully and is pending approval.",
|
"uploadedPendingApproval" => "Mix uploaded successfully and is pending approval.",
|
||||||
"uploadHeader1" => "Upload your mix to Utah's DJs"
|
"uploadHeader1" => "Upload your mix to Utah's DJs",
|
||||||
|
"uploadAlertHeader" => "Important Upload Information",
|
||||||
|
"uploadAlert1" => "Utah's DJs is primarily an archival project dedicated to preserving the history and culture of EDM DJs in Utah. Your uploads contribute to this historical record.",
|
||||||
|
"uploadHeader2" => "Before You Upload",
|
||||||
|
"uploadAlert2" => "Verify that all DJs involved are listed in our database. If a DJ is not listed, they must be added and approved before uploading.",
|
||||||
|
"uploadAlert3" => "Check that appropriate genres are available for your mix. New genres require approval before they can be used.",
|
||||||
|
"uploadAlert4" => "You can submit new DJ or genre requests through your profile settings.",
|
||||||
|
"uploadProcess" => "Upload Process",
|
||||||
|
"uploadProcess1" => "Upload your mix file (MP3 or ZIP format)",
|
||||||
|
"uploadProcess2" => "Enter mix details, including title, description, and recording date",
|
||||||
|
"uploadProcess3" => "Select relevant genres and DJs",
|
||||||
|
"uploadProcess4" => "Submit for review",
|
||||||
|
"uploadAMix" => "Upload a Mix",
|
||||||
|
"uploadSelectMix" => "Select Mix File (MP3 or ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maximum file size: 500MB",
|
||||||
|
"uploadFile" => "Upload File",
|
||||||
|
"uploadSelectGenres" => "Select Genres (type to search)",
|
||||||
|
"uploadSelectDJSMax3" => "Select DJs (Maximum 3)",
|
||||||
|
"uploadSubmitMix" => "Submit Mix",
|
||||||
|
"uploadSelectDJ1" => "Select DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Select DJ 2 (optional)",
|
||||||
|
"uploadSelectDJ3" => "Select DJ 3 (optional)",
|
||||||
|
"userAlreadyExists" => "User already exists.",
|
||||||
|
"allFieldsRequired" => "All fields are required.",
|
||||||
|
"passwordsDoNotMatch" => "Passwords do not match.",
|
||||||
|
"invalidEmail" => "Invalid email format.",
|
||||||
|
"invalidUsername" => "Invalid username format.",
|
||||||
|
"verifyEmailAddress" => "Verify Your Email Address",
|
||||||
|
"registerThankYou" => "Thank you for registering at ",
|
||||||
|
"registerVerifyEmail" => "Please verify your email address by clicking the link below or by entering the verification code in your profile:",
|
||||||
|
"registerVerifyCodeIs" => "Your verification code is: ",
|
||||||
|
"registerVerifyTimeout" => "This code will expire in 15 minutes.",
|
||||||
|
"password" => "Password",
|
||||||
|
"rememberMe" => "Remember Me",
|
||||||
|
"forgotPassword" => "Forgot Password",
|
||||||
|
"dontHaveAccount" => "Don't have an account?",
|
||||||
|
"signUp" => "Sign Up",
|
||||||
|
"passwordResetSent" => "If the email exists in our system, a password reset link has been sent.",
|
||||||
|
"passwordResetRequested" => "You have requested to reset your password. Please click the link below to reset your password:",
|
||||||
|
"passwordResetUnrequested" => "If you did not request this, please ignore this email. This link will expire in 15 minutes.",
|
||||||
|
"emailaddressEnter" => "Enter your email address",
|
||||||
|
"messageSentSuccess" => "Message sent successfully.",
|
||||||
|
"messageSentError" => "An error occurred while sending the message.",
|
||||||
|
"contactUs2" => "We'd love to hear from you. Send us a message and we'll respond as soon as possible.",
|
||||||
|
"messageSendUs" => "Send Us a Message",
|
||||||
|
"messageSend" => "Send Message",
|
||||||
|
"passwordReset" => "Reset Password",
|
||||||
|
"enterYourUsername" => "Enter your username",
|
||||||
|
"newPassword" => "New Password",
|
||||||
|
"confirmPassword" => "Confirm New Password",
|
||||||
|
"passwordResetSuccess" => "Your password has been reset successfully. Please log in with your new password.",
|
||||||
|
"enterEmailAddressPlease" => "Please enter your email address.",
|
||||||
|
"emailInvalid" => "Invalid email format.",
|
||||||
|
"passwordMismatch" => "Passwords do not match.",
|
||||||
|
"passwordRequirements" => "Password must be at least 8 characters long and include upper and lower case letters, as well as a number.",
|
||||||
|
"resetExpiredInvalid" => "Invalid or expired password reset code.",
|
||||||
|
"resetExpired" => "Password reset code has expired.",
|
||||||
|
"codeCredsInvalid" => "Invalid credentials or verification code.",
|
||||||
|
"change" => "Change",
|
||||||
|
"changePicture" => "Change Picture",
|
||||||
|
"verify" => "Verify",
|
||||||
|
"createdUsing" => "Created using",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Hosting Software",
|
||||||
|
"privacyPolicy" => "Privacy Policy",
|
||||||
|
"termsAndConditions" => "Terms and Conditions",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => '¡Bienvenido a nuestro sitio web!',
|
'welcome' => '¡Bienvenido a nuestro sitio web!',
|
||||||
'description' => 'This is a description in Spanish.',
|
'description' => 'Esta es una descripción en inglés.',
|
||||||
'desc' => 'Descripción',
|
'desc' => 'Descripción',
|
||||||
'userProfile' => "Perfil de usuario",
|
'userProfile' => "Perfil de usuario",
|
||||||
'user' => 'Usuario',
|
'user' => 'Usuario',
|
||||||
'home' => 'Inicio',
|
'home' => 'Inicio',
|
||||||
'djName' => 'Nombre DJ',
|
'djName' => 'Nombre del DJ',
|
||||||
'email' => 'E-mail',
|
'email' => 'Correo electrónico',
|
||||||
'location' => 'Ubicación',
|
'location' => 'Ubicación',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografía',
|
||||||
'submit' => 'Enviar',
|
'submit' => 'Enviar',
|
||||||
'login' => 'Ingresar',
|
'login' => 'Iniciar sesión',
|
||||||
'message' => 'Mensaje',
|
'message' => 'Mensaje',
|
||||||
'follow' => 'Seguir',
|
'follow' => 'Seguir',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "No se pudo cargar el DJ; o el DJ no se encontró o este DJ es privado.",
|
"djNotFound" => "No se pudo cargar el DJ; o no se encontró al DJ o este DJ es privado.",
|
||||||
"notfound" => "Página no encontrada",
|
"notfound" => "Página no encontrada",
|
||||||
"genre" => "Género",
|
"genre" => "Género",
|
||||||
"genres" => "Genres",
|
"genres" => "Géneros",
|
||||||
"genreNotFound" => "No se pudo cargar el género; o el género no fue encontrado, estaba vacío, o este género es privado.",
|
"genreNotFound" => "No se pudo cargar el género; o no se encontró el género, estaba vacío o este género es privado.",
|
||||||
"mix-count" => "Conteo Mix",
|
"mix-count" => "Conteo de mezclas",
|
||||||
"mixes" => "Mezclas",
|
"mixes" => "Mezclas",
|
||||||
"mix" => "Mezcla",
|
"mix" => "Mezcla",
|
||||||
"mixNotFound" => "No se pudo cargar la mezcla; o bien la mezcla no fue encontrada, estaba vacía, o esta mezcla es privada.",
|
"mixNotFound" => "No se pudo cargar la mezcla; o no se encontró la mezcla, estaba vacía o esta mezcla es privada.",
|
||||||
"mixshowNotFound" => "No se pudo cargar mixshow; o bien el mixshow no fue encontrado, estaba vacío, o este mixshow es privado.",
|
"mixshowNotFound" => "No se pudo cargar el programa de mezcla; o no se encontró el programa de mezcla, estaba vacío o este programa de mezcla es privado.",
|
||||||
"mixName" => "Mezclar nombre",
|
"mixName" => "Nombre de la mezcla",
|
||||||
"mixDescription" => "Mezclar descripción",
|
"mixDescription" => "Descripción de la mezcla",
|
||||||
"mixLength" => "Mezclar longitud",
|
"mixLength" => "Duración de la mezcla",
|
||||||
"mixGenre" => "Mezclar género",
|
"mixGenre" => "Género de la mezcla",
|
||||||
"view" => "Ver",
|
"view" => "Ver",
|
||||||
"mixname" => "Mezclar nombre",
|
"mixname" => "Nombre de la mezcla",
|
||||||
"search" => "Buscar",
|
"search" => "Buscar",
|
||||||
"searchResults" => "Resultados de búsqueda",
|
"searchResults" => "Resultados de búsqueda",
|
||||||
"searchResultsFor" => "Resultados de búsqueda para",
|
"searchResultsFor" => "Resultados de búsqueda para",
|
||||||
"searchResultsFound" => "Resultados de búsqueda encontrados",
|
"searchResultsFound" => "Resultados de búsqueda encontrados",
|
||||||
"tracklist" => "Lista de seguimiento",
|
"tracklist" => "Lista de pistas",
|
||||||
"lastupdated" => "Última actualización",
|
"lastupdated" => "Última actualización",
|
||||||
"duration" => "Duración",
|
"duration" => "Duración",
|
||||||
"hour" => "hora",
|
"hour" => "hora",
|
||||||
|
@ -45,22 +45,22 @@ return [
|
||||||
"second" => "segundo",
|
"second" => "segundo",
|
||||||
"seconds" => "segundos",
|
"seconds" => "segundos",
|
||||||
"by" => "por",
|
"by" => "por",
|
||||||
"added" => "Añadido",
|
"added" => "Agregado",
|
||||||
"recorded" => "Registrado",
|
"recorded" => "Grabado",
|
||||||
"audioNotSupported" => "Su navegador no soporta el elemento de audio.",
|
"audioNotSupported" => "Tu navegador no soporta el elemento de audio.",
|
||||||
"downloads" => "Descargas",
|
"downloads" => "Descargas",
|
||||||
"download" => "Descargar",
|
"download" => "Descargar",
|
||||||
"downloadMix" => "Descargar Mix",
|
"downloadMix" => "Descargar Mezcla",
|
||||||
"plays" => "Reproducciones",
|
"plays" => "Reproducciones",
|
||||||
"play" => "Jugar",
|
"play" => "Reproducir",
|
||||||
"contactus" => "Contáctenos",
|
"contactus" => "Contáctanos",
|
||||||
"allrightsreserved" => "Todos los derechos reservados.",
|
"allrightsreserved" => "Todos los derechos reservados.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Programas de mezcla",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Programa de mezcla",
|
||||||
"mixshowName" => "Nombre de Mixshow",
|
"mixshowName" => "Nombre del programa de mezcla",
|
||||||
"share" => "Compartir",
|
"share" => "Compartir",
|
||||||
"sahrethismix" => "Compartir esta mezcla",
|
"sahrethismix" => "Compartir esta mezcla",
|
||||||
"sharethismixshow" => "Compartir este mixshow",
|
"sharethismixshow" => "Compartir este programa de mezcla",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Año",
|
"year" => "Año",
|
||||||
"sharetotwitter" => "Compartir en X (anteriormente Twitter)",
|
"sharetotwitter" => "Compartir en X (anteriormente Twitter)",
|
||||||
|
@ -70,7 +70,86 @@ return [
|
||||||
"urlcopiedtoclipboard" => "URL copiada al portapapeles",
|
"urlcopiedtoclipboard" => "URL copiada al portapapeles",
|
||||||
"failedtocopyurl" => "Error al copiar la URL",
|
"failedtocopyurl" => "Error al copiar la URL",
|
||||||
"name" => "Nombre",
|
"name" => "Nombre",
|
||||||
"username" => "Usuario",
|
"username" => "Nombre de usuario",
|
||||||
"logout" => "Cerrar sesión",
|
"logout" => "Cerrar sesión",
|
||||||
"upload" => "Subir",
|
"upload" => "Subir",
|
||||||
|
"loginToVerifyEmail" => "Debes haber iniciado sesión para verificar tu correo electrónico.",
|
||||||
|
"loginToUploadMix" => "Debes haber iniciado sesión para subir una mezcla.",
|
||||||
|
"verificationCodeRequired" => "Se requiere código de verificación.",
|
||||||
|
"recordedDate" => "Fecha de grabación",
|
||||||
|
"noUploadedFileFound" => "No se encontró ningún archivo subido. Por favor, sube un archivo de mezcla.",
|
||||||
|
"mixTitleRequired" => "Se requiere el título de la mezcla.",
|
||||||
|
"errorUploadCDN" => "Error al subir el archivo a CDN: ",
|
||||||
|
"errorSavingMixDB" => "Error al guardar la mezcla en la base de datos.",
|
||||||
|
"uploadedPendingApproval" => "Mezcla subida correctamente y está pendiente de aprobación.",
|
||||||
|
"uploadHeader1" => "Sube tu mezcla a los DJs de Utah",
|
||||||
|
"uploadAlertHeader" => "Información importante sobre la carga",
|
||||||
|
"uploadAlert1" => "Los DJs de Utah son principalmente un proyecto de archivo dedicado a preservar la historia y cultura de los DJs de EDM en Utah. Tus cargas contribuyen a este registro histórico.",
|
||||||
|
"uploadHeader2" => "Antes de subir",
|
||||||
|
"uploadAlert2" => "Verifica que todos los DJs involucrados estén listados en nuestra base de datos. Si un DJ no está listado, debe ser agregado y aprobado antes de subir.",
|
||||||
|
"uploadAlert3" => "Verifica que los géneros apropiados estén disponibles para tu mezcla. Los nuevos géneros requieren aprobación antes de poder ser utilizados.",
|
||||||
|
"uploadAlert4" => "Puedes enviar nuevas solicitudes de DJ o género a través de la configuración de tu perfil.",
|
||||||
|
"uploadProcess" => "Proceso de carga",
|
||||||
|
"uploadProcess1" => "Sube tu archivo de mezcla (formato MP3 o ZIP)",
|
||||||
|
"uploadProcess2" => "Ingresa los detalles de la mezcla, incluyendo el título, la descripción y la fecha de grabación",
|
||||||
|
"uploadProcess3" => "Selecciona los géneros y DJs relevantes",
|
||||||
|
"uploadProcess4" => "Enviar para revisión",
|
||||||
|
"uploadAMix" => "Sube una mezcla",
|
||||||
|
"uploadSelectMix" => "Selecciona el archivo de mezcla (MP3 o ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Tamaño máximo del archivo: 500MB",
|
||||||
|
"uploadFile" => "Subir archivo",
|
||||||
|
"uploadSelectGenres" => "Seleccionar géneros (escribe para buscar)",
|
||||||
|
"uploadSelectDJSMax3" => "Seleccionar DJs (máximo 3)",
|
||||||
|
"uploadSubmitMix" => "Enviar mezcla",
|
||||||
|
"uploadSelectDJ1" => "Seleccionar DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Seleccionar DJ 2 (opcional)",
|
||||||
|
"uploadSelectDJ3" => "Seleccionar DJ 3 (opcional)",
|
||||||
|
"userAlreadyExists" => "El usuario ya existe.",
|
||||||
|
"allFieldsRequired" => "Todos los campos son obligatorios.",
|
||||||
|
"passwordsDoNotMatch" => "Las contraseñas no coinciden.",
|
||||||
|
"invalidEmail" => "Formato de correo electrónico inválido.",
|
||||||
|
"invalidUsername" => "Formato de nombre de usuario inválido.",
|
||||||
|
"verifyEmailAddress" => "Verifica tu dirección de correo electrónico",
|
||||||
|
"registerThankYou" => "Gracias por registrarte en ",
|
||||||
|
"registerVerifyEmail" => "Por favor verifica tu dirección de correo electrónico haciendo clic en el enlace a continuación o ingresando el código de verificación en tu perfil:",
|
||||||
|
"registerVerifyCodeIs" => "Tu código de verificación es: ",
|
||||||
|
"registerVerifyTimeout" => "Este código expirará en 15 minutos.",
|
||||||
|
"password" => "Contraseña",
|
||||||
|
"rememberMe" => "Recuérdame",
|
||||||
|
"forgotPassword" => "¿Olvidaste tu contraseña?",
|
||||||
|
"dontHaveAccount" => "¿No tienes una cuenta?",
|
||||||
|
"signUp" => "Registrarse",
|
||||||
|
"passwordResetSent" => "Si el correo electrónico existe en nuestro sistema, se ha enviado un enlace para restablecer la contraseña.",
|
||||||
|
"passwordResetRequested" => "Has solicitado restablecer tu contraseña. Por favor haz clic en el enlace de abajo para restablecer tu contraseña:",
|
||||||
|
"passwordResetUnrequested" => "Si no solicitaste esto, por favor ignora este correo electrónico. Este enlace expirará en 15 minutos.",
|
||||||
|
"emailaddressEnter" => "Ingresa tu dirección de correo electrónico",
|
||||||
|
"messageSentSuccess" => "Mensaje enviado con éxito.",
|
||||||
|
"messageSentError" => "Ocurrió un error al enviar el mensaje.",
|
||||||
|
"contactUs2" => "Nos encantaría saber de ti. Envíanos un mensaje y te responderemos lo antes posible.",
|
||||||
|
"messageSendUs" => "Envíanos un mensaje",
|
||||||
|
"messageSend" => "Enviar mensaje",
|
||||||
|
"passwordReset" => "Restablecer contraseña",
|
||||||
|
"enterYourUsername" => "Ingresa tu nombre de usuario",
|
||||||
|
"newPassword" => "Nueva contraseña",
|
||||||
|
"confirmPassword" => "Confirmar nueva contraseña",
|
||||||
|
"passwordResetSuccess" => "Tu contraseña ha sido restablecida correctamente. Por favor inicia sesión con tu nueva contraseña.",
|
||||||
|
"enterEmailAddressPlease" => "Por favor ingresa tu dirección de correo electrónico.",
|
||||||
|
"emailInvalid" => "Formato de correo electrónico inválido.",
|
||||||
|
"passwordMismatch" => "Las contraseñas no coinciden.",
|
||||||
|
"passwordRequirements" => "La contraseña debe tener al menos 8 caracteres y debe incluir letras en mayúsculas y minúsculas, así como un número.",
|
||||||
|
"resetExpiredInvalid" => "Código de restablecimiento de contraseña inválido o expirado.",
|
||||||
|
"resetExpired" => "El código de restablecimiento de contraseña ha expirado.",
|
||||||
|
"codeCredsInvalid" => "Credenciales inválidas o código de verificación.",
|
||||||
|
"change" => "Cambiar",
|
||||||
|
"changePicture" => "Cambiar imagen",
|
||||||
|
"verify" => "Verificar",
|
||||||
|
"createdUsing" => "Creado usando",
|
||||||
|
"djmixhostingsoftware" => "Software de alojamiento de mezclas de DJ",
|
||||||
|
"privacyPolicy" => "Política de privacidad",
|
||||||
|
"termsAndConditions" => "Términos y condiciones",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,42 +1,42 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Tervetuloa sivustollemme!',
|
'welcome' => 'Tervetuloa verkkosivustollemme!',
|
||||||
'description' => 'Tämä on englanninkielinen kuvaus.',
|
'description' => 'Tämä on kuvaus englanniksi.',
|
||||||
'desc' => 'Kuvaus',
|
'desc' => 'Kuvaus',
|
||||||
'userProfile' => "Käyttäjän Profiili",
|
'userProfile' => "Käyttäjäprofiili",
|
||||||
'user' => 'Käyttäjä',
|
'user' => 'Käyttäjä',
|
||||||
'home' => 'Koti',
|
'home' => 'Aloitus',
|
||||||
'djName' => 'DJ Nimi',
|
'djName' => 'DJ:n nimi',
|
||||||
'email' => 'Sähköposti',
|
'email' => 'Sähköposti',
|
||||||
'location' => 'Sijainti',
|
'location' => 'Sijainti',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Bio',
|
||||||
'submit' => 'Lähetä',
|
'submit' => 'Lähetä',
|
||||||
'login' => 'Kirjaudu',
|
'login' => 'Kirjaudu sisään',
|
||||||
'message' => 'Viesti',
|
'message' => 'Viesti',
|
||||||
'follow' => 'Seuraa',
|
'follow' => 'Seuraa',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ:t',
|
||||||
"djNotFound" => "DJ ei voitu ladata. DJ ei löytynyt tai tämä DJ on yksityinen.",
|
"djNotFound" => "DJ:tä ei voitu ladata; joko DJ:tä ei löytynyt tai tämä DJ on yksityinen.",
|
||||||
"notfound" => "Sivua ei löydy",
|
"notfound" => "Sivua ei löytynyt",
|
||||||
"genre" => "Lajityyppi",
|
"genre" => "Genret",
|
||||||
"genres" => "Genres",
|
"genres" => "Genrejä",
|
||||||
"genreNotFound" => "Lajityyppiä ei voitu ladata. Lajityyppiä ei löydetty, se oli tyhjä, tai tämä lajityyppi on yksityinen.",
|
"genreNotFound" => "Genreä ei voitu ladata; joko genreä ei löytynyt, se oli tyhjää tai tämä genre on yksityinen.",
|
||||||
"mix-count" => "Sekoita Lukumäärä",
|
"mix-count" => "Miksausten lukumäärä",
|
||||||
"mixes" => "Sekoitukset",
|
"mixes" => "Miksauksia",
|
||||||
"mix" => "Sekoita",
|
"mix" => "Miksaus",
|
||||||
"mixNotFound" => "Sekoitusta ei voitu ladata. Sekoitus ei löytynyt, se oli tyhjä, tai tämä sekoitus on yksityinen.",
|
"mixNotFound" => "Miksausta ei voitu ladata; joko miksauksia ei löytynyt, se oli tyhjää tai tämä miksaus on yksityinen.",
|
||||||
"mixshowNotFound" => "Sekoitusnäyttöä ei voitu ladata. Sekoitusnäyttöä ei löytynyt, se oli tyhjä, tai tämä mixshow on yksityinen.",
|
"mixshowNotFound" => "Miksashowta ei voitu ladata; joko miksashowta ei löytynyt, se oli tyhjää tai tämä miksashow on yksityinen.",
|
||||||
"mixName" => "Sekoita Nimi",
|
"mixName" => "Miksauksen nimi",
|
||||||
"mixDescription" => "Sekoita Kuvaus",
|
"mixDescription" => "Miksauksen kuvaus",
|
||||||
"mixLength" => "Sekoita Pituus",
|
"mixLength" => "Miksauksen pituus",
|
||||||
"mixGenre" => "Sekoita Lajityyppi",
|
"mixGenre" => "Miksauksen genre",
|
||||||
"view" => "Näytä",
|
"view" => "Näytä",
|
||||||
"mixname" => "Sekoita Nimi",
|
"mixname" => "Miksauksen nimi",
|
||||||
"search" => "Etsi",
|
"search" => "Haku",
|
||||||
"searchResults" => "Hakutulokset",
|
"searchResults" => "Hakutulokset",
|
||||||
"searchResultsFor" => "Hae tuloksia",
|
"searchResultsFor" => "Hakutulokset haulle",
|
||||||
"searchResultsFound" => "Hakutulokset Löydetty",
|
"searchResultsFound" => "Hakutuloksia löydetty",
|
||||||
"tracklist" => "Kappalelilista",
|
"tracklist" => "Kappalelista",
|
||||||
"lastupdated" => "Viimeksi Päivitetty",
|
"lastupdated" => "Viimeksi päivitetty",
|
||||||
"duration" => "Kesto",
|
"duration" => "Kesto",
|
||||||
"hour" => "tunti",
|
"hour" => "tunti",
|
||||||
"hours" => "tuntia",
|
"hours" => "tuntia",
|
||||||
|
@ -44,33 +44,112 @@ return [
|
||||||
"minutes" => "minuuttia",
|
"minutes" => "minuuttia",
|
||||||
"second" => "sekunti",
|
"second" => "sekunti",
|
||||||
"seconds" => "sekuntia",
|
"seconds" => "sekuntia",
|
||||||
"by" => "mennessä",
|
"by" => "tekijä",
|
||||||
"added" => "Lisätty",
|
"added" => "Lisätty",
|
||||||
"recorded" => "Tallennettu",
|
"recorded" => "Tallennettu",
|
||||||
"audioNotSupported" => "Selaimesi ei tue äänielementtiä.",
|
"audioNotSupported" => "Selaimesi ei tue audio-elementtiä.",
|
||||||
"downloads" => "Lataukset",
|
"downloads" => "Lataukset",
|
||||||
"download" => "Lataa",
|
"download" => "Lataa",
|
||||||
"downloadMix" => "Lataa Mix",
|
"downloadMix" => "Lataa miksauksesi",
|
||||||
"plays" => "Soittajat",
|
"plays" => "Soitot",
|
||||||
"play" => "Toista",
|
"play" => "Soita",
|
||||||
"contactus" => "Ota Yhteyttä",
|
"contactus" => "Ota meihin yhteyttä",
|
||||||
"allrightsreserved" => "Kaikki oikeudet pidätetään.",
|
"allrightsreserved" => "Kaikki oikeudet pidätetään.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Miksashowt",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Miksashow",
|
||||||
"mixshowName" => "Mixshow Nimi",
|
"mixshowName" => "Miksashown nimi",
|
||||||
"share" => "Jaa",
|
"share" => "Jaa",
|
||||||
"sahrethismix" => "Jaa tämä sekoitus",
|
"sahrethismix" => "Jaa tämä miksauksen",
|
||||||
"sharethismixshow" => "Jaa tämä mixshow",
|
"sharethismixshow" => "Jaa tämä miksashow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Vuosi",
|
"year" => "Vuosi",
|
||||||
"sharetotwitter" => "Jaa kohtaan X (entinen Twitter)",
|
"sharetotwitter" => "Jaa X:lle (ent. Twitter)",
|
||||||
"sharetofb" => "Jaa Facebookiin",
|
"sharetofb" => "Jaa Facebookiin",
|
||||||
"sharetoig" => "Jaa Instagramiin",
|
"sharetoig" => "Jaa Instagramiin",
|
||||||
"copyurl" => "Kopioi URL",
|
"copyurl" => "Kopioi URL-osoite",
|
||||||
"urlcopiedtoclipboard" => "URL kopioitu leikepöydälle",
|
"urlcopiedtoclipboard" => "URL-osoite kopioitu leikepöydälle",
|
||||||
"failedtocopyurl" => "URL-osoitteen kopiointi epäonnistui",
|
"failedtocopyurl" => "URL-osoitteen kopiointi epäonnistui",
|
||||||
"name" => "Nimi",
|
"name" => "Nimi",
|
||||||
"username" => "Käyttäjätunnus",
|
"username" => "Käyttäjänimi",
|
||||||
"logout" => "Kirjaudu Ulos",
|
"logout" => "Kirjaudu ulos",
|
||||||
"upload" => "Lähetä",
|
"upload" => "Lataa",
|
||||||
|
"loginToVerifyEmail" => "Sinun on kirjauduttava sisään vahvistaaksesi sähköpostisi.",
|
||||||
|
"loginToUploadMix" => "Sinun on kirjauduttava sisään ladataksesi miksauksen.",
|
||||||
|
"verificationCodeRequired" => "Vahvistuskoodi on pakollinen.",
|
||||||
|
"recordedDate" => "Tallennettu päivämäärä",
|
||||||
|
"noUploadedFileFound" => "Yhtään ladattua tiedostoa ei löytynyt. Lataa miksauksen tiedosto.",
|
||||||
|
"mixTitleRequired" => "Miksauksen otsikko on pakollinen.",
|
||||||
|
"errorUploadCDN" => "Virhe ladattaessa tiedostoa CDN:ään: ",
|
||||||
|
"errorSavingMixDB" => "Virhe tallennettaessa miksauksen tietokantaan.",
|
||||||
|
"uploadedPendingApproval" => "Miksaus ladattu onnistuneesti ja se odottaa hyväksyntää.",
|
||||||
|
"uploadHeader1" => "Lataa miksauksesi Utahin DJ:lle",
|
||||||
|
"uploadAlertHeader" => "Tärkeää lataustietoa",
|
||||||
|
"uploadAlert1" => "Utahin DJ:t on pääasiassa arkistoprojekti, joka on omistettu EDM DJ:iden historian ja kulttuurin säilyttämiselle Utahiin. Latauksesi edistävät tätä historiallista asiakirjaa.",
|
||||||
|
"uploadHeader2" => "Ennen lataamista",
|
||||||
|
"uploadAlert2" => "Vahvista, että kaikki asiasta kiinnostuneet DJ:t on lueteltu tietokannassamme. Jos DJ:tä ei ole luettelossa, hänen on oltava lisätty ja hyväksytty ennen lataamista.",
|
||||||
|
"uploadAlert3" => "Tarkista, että asianmukaiset genret ovat saatavilla miksauksellesi. Uudet genret vaativat hyväksynnän ennen kuin niitä voidaan käyttää.",
|
||||||
|
"uploadAlert4" => "Voit lähettää uusia DJ- tai genrepyyntöjä profiilisi asetusten kautta.",
|
||||||
|
"uploadProcess" => "Latausprosessi",
|
||||||
|
"uploadProcess1" => "Lataa miksauksen tiedosto (MP3- tai ZIP-muodossa)",
|
||||||
|
"uploadProcess2" => "Syötä miksauksen tiedot, mukaan lukien otsikko, kuvaus ja tallennuspäivämäärä",
|
||||||
|
"uploadProcess3" => "Valitse relevantit genret ja DJ:t",
|
||||||
|
"uploadProcess4" => "Lähetä tarkastettavaksi",
|
||||||
|
"uploadAMix" => "Lataa miksaus",
|
||||||
|
"uploadSelectMix" => "Valitse miksauksen tiedosto (MP3 tai ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maksimi tiedostokoko: 500MB",
|
||||||
|
"uploadFile" => "Lataa tiedosto",
|
||||||
|
"uploadSelectGenres" => "Valitse genret (kirjoita etsiäksesi)",
|
||||||
|
"uploadSelectDJSMax3" => "Valitse DJ:t (max. 3)",
|
||||||
|
"uploadSubmitMix" => "Lähetä miksauksen",
|
||||||
|
"uploadSelectDJ1" => "Valitse DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Valitse DJ 2 (valinnainen)",
|
||||||
|
"uploadSelectDJ3" => "Valitse DJ 3 (valinnainen)",
|
||||||
|
"userAlreadyExists" => "Käyttäjä on jo olemassa.",
|
||||||
|
"allFieldsRequired" => "Kaikkien kenttien täyttäminen on pakollista.",
|
||||||
|
"passwordsDoNotMatch" => "Salasanat eivät täsmää.",
|
||||||
|
"invalidEmail" => "Virheellinen sähköpostimuoto.",
|
||||||
|
"invalidUsername" => "Virheellinen käyttäjänimimuoto.",
|
||||||
|
"verifyEmailAddress" => "Vahvista sähköpostiosoitteesi",
|
||||||
|
"registerThankYou" => "Kiitos rekisteröitymisestäsi osoitteessa ",
|
||||||
|
"registerVerifyEmail" => "Vahvista sähköpostiosoitteesi napsauttamalla alla olevaa linkkiä tai syöttämällä vahvistuskoodi profiiliisi:",
|
||||||
|
"registerVerifyCodeIs" => "Vahvistuskoodisi on: ",
|
||||||
|
"registerVerifyTimeout" => "Tämä koodi vanhenee 15 minuutin kuluttua.",
|
||||||
|
"password" => "Salasana",
|
||||||
|
"rememberMe" => "Muista minut",
|
||||||
|
"forgotPassword" => "Unohditko salasanasi",
|
||||||
|
"dontHaveAccount" => "Ei oletko sinulla tiliä?",
|
||||||
|
"signUp" => "Rekisteröidy",
|
||||||
|
"passwordResetSent" => "Jos sähköposti on olemassa järjestelmässämme, salasanan palautuslinkki on lähetetty.",
|
||||||
|
"passwordResetRequested" => "Olet pyytänyt salasanasi palauttamista. Napsauta alla olevaa linkkiä palauttaaksesi salasanasi:",
|
||||||
|
"passwordResetUnrequested" => "Jos et pyytänyt tätä, seuraa vain sähköpostia. Tämä linkki vanhenee 15 minuutin kuluttua.",
|
||||||
|
"emailaddressEnter" => "Syötä sähköpostiosoitteesi",
|
||||||
|
"messageSentSuccess" => "Viesti lähetetty onnistuneesti.",
|
||||||
|
"messageSentError" => "Viestin lähettämisessä tapahtui virhe.",
|
||||||
|
"contactUs2" => "Haluaisimme kuulla sinulta. Lähetä meille viesti ja vastaamme niin pian kuin mahdollista.",
|
||||||
|
"messageSendUs" => "Lähetä meille viesti",
|
||||||
|
"messageSend" => "Lähetä viesti",
|
||||||
|
"passwordReset" => "Palauta salasana",
|
||||||
|
"enterYourUsername" => "Syötä käyttäjänimesi",
|
||||||
|
"newPassword" => "Uusi salasana",
|
||||||
|
"confirmPassword" => "Vahvista uusi salasana",
|
||||||
|
"passwordResetSuccess" => "Salasanasi on palautettu onnistuneesti. Kirjaudu sisään uudella salasanallasi.",
|
||||||
|
"enterEmailAddressPlease" => "Ole hyvä ja syötä sähköpostiosoitteesi.",
|
||||||
|
"emailInvalid" => "Virheellinen sähköpostimuoto.",
|
||||||
|
"passwordMismatch" => "Salasanat eivät täsmää.",
|
||||||
|
"passwordRequirements" => "Salasanan on oltava vähintään 8 merkkiä pitkä ja sisällettävä isoja ja pieniä kirjaimia sekä numero.",
|
||||||
|
"resetExpiredInvalid" => "Virheellinen tai vanhentunut salasanan palautuskoodi.",
|
||||||
|
"resetExpired" => "Salasanan palautuskoodi on vanhentunut.",
|
||||||
|
"codeCredsInvalid" => "Virheelliset tunnistetiedot tai vahvistuskoodi.",
|
||||||
|
"change" => "Muokata",
|
||||||
|
"changePicture" => "Vaihda kuva",
|
||||||
|
"verify" => "Vahvista",
|
||||||
|
"createdUsing" => "Luotu käyttäen",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Hosting Software",
|
||||||
|
"privacyPolicy" => "Tietosuojakäytäntö",
|
||||||
|
"termsAndConditions" => "Käyttöehdot",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -2,16 +2,16 @@
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Maligayang pagdating sa aming website!',
|
'welcome' => 'Maligayang pagdating sa aming website!',
|
||||||
'description' => 'Ito ay isang paglalarawan sa Tagalog.',
|
'description' => 'Ito ay isang paglalarawan sa Tagalog.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Paglalarawan',
|
||||||
'userProfile' => "Profile ng User",
|
'userProfile' => "Profile ng User",
|
||||||
'user' => 'User',
|
'user' => 'Gumagamit',
|
||||||
'home' => 'Home',
|
'home' => 'Bahay',
|
||||||
'djName' => 'Pangalan ng DJ',
|
'djName' => 'Pangalan ng DJ',
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
'location' => 'Lokasyon',
|
'location' => 'Lokasyon',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Bio',
|
||||||
'submit' => 'Isumite',
|
'submit' => 'Isumite',
|
||||||
'login' => 'Login',
|
'login' => 'Mag-login',
|
||||||
'message' => 'Mensahe',
|
'message' => 'Mensahe',
|
||||||
'follow' => 'Sundan',
|
'follow' => 'Sundan',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
|
@ -22,9 +22,9 @@ return [
|
||||||
"genreNotFound" => "Hindi ma-load ang dyanra; maaaring hindi nakita ang dyanra, walang laman, o pribado ang dyanra na ito.",
|
"genreNotFound" => "Hindi ma-load ang dyanra; maaaring hindi nakita ang dyanra, walang laman, o pribado ang dyanra na ito.",
|
||||||
"mix-count" => "Bilang ng Mix",
|
"mix-count" => "Bilang ng Mix",
|
||||||
"mixes" => "Mga Mix",
|
"mixes" => "Mga Mix",
|
||||||
"mix" => "Mix",
|
"mix" => "Halo-halo",
|
||||||
"mixNotFound" => "Hindi ma-load ang mix; maaaring hindi nakita ang mix, walang laman, o pribado ang mix na ito.",
|
"mixNotFound" => "Hindi ma-load ang mix; maaaring hindi nakita ang mix, walang laman, o pribado ang mix na ito.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "Hindi ma-load ang mixshow; maaaring hindi nahanap ang mixshow, walang laman, o pribado ang mixshow na ito.",
|
||||||
"mixName" => "Pangalan ng Mix",
|
"mixName" => "Pangalan ng Mix",
|
||||||
"mixDescription" => "Mix Paglalarawan",
|
"mixDescription" => "Mix Paglalarawan",
|
||||||
"mixLength" => "Haba ng Mix",
|
"mixLength" => "Haba ng Mix",
|
||||||
|
@ -35,42 +35,121 @@ return [
|
||||||
"searchResults" => "Mga Resulta ng Paghahanap",
|
"searchResults" => "Mga Resulta ng Paghahanap",
|
||||||
"searchResultsFor" => "Mga resulta ng paghahanap para sa",
|
"searchResultsFor" => "Mga resulta ng paghahanap para sa",
|
||||||
"searchResultsFound" => "Natagpuan ang mga Resulta ng Paghahanap",
|
"searchResultsFound" => "Natagpuan ang mga Resulta ng Paghahanap",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Listahan ng mga Pista",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Huling Na-update",
|
||||||
"duration" => "Duration",
|
"duration" => "Tagal",
|
||||||
"hour" => "hour",
|
"hour" => "oras",
|
||||||
"hours" => "hours",
|
"hours" => "mga oras",
|
||||||
"minute" => "minute",
|
"minute" => "minuto",
|
||||||
"minutes" => "minutes",
|
"minutes" => "mga minuto",
|
||||||
"second" => "second",
|
"second" => "segundo",
|
||||||
"seconds" => "seconds",
|
"seconds" => "mga segundo",
|
||||||
"by" => "by",
|
"by" => "ng",
|
||||||
"added" => "Added",
|
"added" => "Idinagdag",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Naitala",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "Ang iyong browser ay hindi sinusuportahan ang audio element.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Mga Download",
|
||||||
"download" => "Download",
|
"download" => "I-download",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "I-download ang Mix",
|
||||||
"plays" => "Plays",
|
"plays" => "Mga Pag-play",
|
||||||
"play" => "Play",
|
"play" => "I-play",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Makipag-ugnayan sa Amin",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Lahat ng karapatan ay nakalaan.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Pangalan ng Mixshow",
|
||||||
"share" => "Share",
|
"share" => "Ibahagi",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Ibahagi ang mix na ito",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Ibahagi ang mixshow na ito",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Taon",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "Ibahagi sa X (dati Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Ibahagi sa Facebook",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Ibahagi sa Instagram",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "Kopyahin ang URL",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL na kopya sa clipboard",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "Nabigong kopyahin ang URL",
|
||||||
"name" => "Name",
|
"name" => "Pangalan",
|
||||||
"username" => "Username",
|
"username" => "Username",
|
||||||
"logout" => "Logout",
|
"logout" => "Mag-Logout",
|
||||||
"upload" => "Upload",
|
"upload" => "I-upload",
|
||||||
|
"loginToVerifyEmail" => "Dapat kang naka-login upang i-verify ang iyong email.",
|
||||||
|
"loginToUploadMix" => "Dapat kang naka-login upang mag-upload ng mix.",
|
||||||
|
"verificationCodeRequired" => "Kinakailangan ang verification code.",
|
||||||
|
"recordedDate" => "Naitalang Petsa",
|
||||||
|
"noUploadedFileFound" => "Walang na-upload na file na natagpuan. Mangyaring mag-upload ng isang mix file.",
|
||||||
|
"mixTitleRequired" => "Kinakailangan ang pamagat ng mix.",
|
||||||
|
"errorUploadCDN" => "Error sa pag-upload ng file sa CDN: ",
|
||||||
|
"errorSavingMixDB" => "Error sa pag-save ng mix sa database.",
|
||||||
|
"uploadedPendingApproval" => "Ang mix ay matagumpay na na-upload at nakabinbin ang approval.",
|
||||||
|
"uploadHeader1" => "I-upload ang iyong mix sa Utah's DJs",
|
||||||
|
"uploadAlertHeader" => "Mahalagang Impormasyon sa Pag-upload",
|
||||||
|
"uploadAlert1" => "Ang Utah's DJs ay pangunahing isang archival project na naglalayong mapanatili ang kasaysayan at kultura ng mga EDM DJs sa Utah. Ang iyong mga uploads ay nag-aambag sa kasaysayan.",
|
||||||
|
"uploadHeader2" => "Bago Ka Mag-upload",
|
||||||
|
"uploadAlert2" => "I-verify na ang lahat ng DJs na kasangkot ay nakalista sa aming database. Kung ang isang DJ ay hindi nakalista, dapat itong idagdag at aprubahan bago mag-upload.",
|
||||||
|
"uploadAlert3" => "Tiyakin na ang mga angkop na dyanra ay available para sa iyong mix. Ang mga bagong dyanra ay nangangailangan ng approval bago ito magamit.",
|
||||||
|
"uploadAlert4" => "Maaari kang magsumite ng mga bagong kahilingan para sa DJ o dyanra sa pamamagitan ng iyong mga setting sa profile.",
|
||||||
|
"uploadProcess" => "Proseso ng Pag-upload",
|
||||||
|
"uploadProcess1" => "I-upload ang iyong mix file (MP3 o ZIP format)",
|
||||||
|
"uploadProcess2" => "Ipasok ang mga detalye ng mix, kasama ang pamagat, paglalarawan, at petsa ng pag-record",
|
||||||
|
"uploadProcess3" => "Pumili ng mga nauugnay na dyanra at DJs",
|
||||||
|
"uploadProcess4" => "Isumite para sa pagsusuri",
|
||||||
|
"uploadAMix" => "Mag-upload ng Mix",
|
||||||
|
"uploadSelectMix" => "Pumili ng Mix File (MP3 o ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maximum na laki ng file: 500MB",
|
||||||
|
"uploadFile" => "I-upload ang File",
|
||||||
|
"uploadSelectGenres" => "Pumili ng mga Dyanra (mag-type upang maghanap)",
|
||||||
|
"uploadSelectDJSMax3" => "Pumili ng DJs (Maximum 3)",
|
||||||
|
"uploadSubmitMix" => "Isumite ang Mix",
|
||||||
|
"uploadSelectDJ1" => "Pumili ng DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Pumili ng DJ 2 (opsyonal)",
|
||||||
|
"uploadSelectDJ3" => "Pumili ng DJ 3 (opsyonal)",
|
||||||
|
"userAlreadyExists" => "Umiiral na ang User.",
|
||||||
|
"allFieldsRequired" => "Lahat ng mga field ay kinakailangan.",
|
||||||
|
"passwordsDoNotMatch" => "Ang mga password ay hindi magkatugma.",
|
||||||
|
"invalidEmail" => "Hindi wastong format ng email.",
|
||||||
|
"invalidUsername" => "Hindi wastong format ng username.",
|
||||||
|
"verifyEmailAddress" => "I-verify ang Iyong Email Address",
|
||||||
|
"registerThankYou" => "Salamat sa pagrehistro sa ",
|
||||||
|
"registerVerifyEmail" => "Mangyaring i-verify ang iyong email address sa pamamagitan ng pag-click sa link sa ibaba o sa pamamagitan ng pagpasok ng verification code sa iyong profile:",
|
||||||
|
"registerVerifyCodeIs" => "Ang iyong verification code ay: ",
|
||||||
|
"registerVerifyTimeout" => "Ang code na ito ay mag-e-expire sa loob ng 15 minuto.",
|
||||||
|
"password" => "Password",
|
||||||
|
"rememberMe" => "Tandaan Mo Ako",
|
||||||
|
"forgotPassword" => "Nakalimutan ang Password",
|
||||||
|
"dontHaveAccount" => "Wala ka bang account?",
|
||||||
|
"signUp" => "Mag-sign Up",
|
||||||
|
"passwordResetSent" => "Kung ang email ay umiiral sa aming sistema, ang link para sa pag-reset ng password ay naipadala na.",
|
||||||
|
"passwordResetRequested" => "Humiling ka ng pag-reset ng iyong password. Mangyaring i-click ang link sa ibaba upang i-reset ang iyong password:",
|
||||||
|
"passwordResetUnrequested" => "Kung hindi mo ito humiling, mangyaring balewalain ang email na ito. Ang link na ito ay mag-e-expire sa loob ng 15 minuto.",
|
||||||
|
"emailaddressEnter" => "Ipasok ang iyong email address",
|
||||||
|
"messageSentSuccess" => "Matagumpay na naipadala ang mensahe.",
|
||||||
|
"messageSentError" => "Nagkaroon ng error habang pinapadala ang mensahe.",
|
||||||
|
"contactUs2" => "Gusto naming makarinig mula sa iyo. Magpadala sa amin ng mensahe at tutugon kami sa lalong madaling panahon.",
|
||||||
|
"messageSendUs" => "Mag-send sa Amin ng Mensahe",
|
||||||
|
"messageSend" => "I-send ang Mensahe",
|
||||||
|
"passwordReset" => "I-reset ang Password",
|
||||||
|
"enterYourUsername" => "Ipasok ang iyong username",
|
||||||
|
"newPassword" => "Bagong Password",
|
||||||
|
"confirmPassword" => "Kumpirmahin ang Bagong Password",
|
||||||
|
"passwordResetSuccess" => "Matagumpay na na-reset ang iyong password. Mangyaring mag-login gamit ang iyong bagong password.",
|
||||||
|
"enterEmailAddressPlease" => "Mangyaring ipasok ang iyong email address.",
|
||||||
|
"emailInvalid" => "Hindi wastong format ng email.",
|
||||||
|
"passwordMismatch" => "Ang mga password ay hindi magkatugma.",
|
||||||
|
"passwordRequirements" => "Ang Password ay dapat hindi bababa sa 8 characters ang haba at dapat kasama ang mga uppercase at lowercase letters, gayundin ang isang numero.",
|
||||||
|
"resetExpiredInvalid" => "Hindi wastong o nag-expire na password reset code.",
|
||||||
|
"resetExpired" => "Ang password reset code ay nag-expire na.",
|
||||||
|
"codeCredsInvalid" => "Hindi wastong kredensyal o verification code.",
|
||||||
|
"change" => "Baguhin",
|
||||||
|
"changePicture" => "Baguhin ang Larawan",
|
||||||
|
"verify" => "I-verify",
|
||||||
|
"createdUsing" => "Nilikhang gamit ang",
|
||||||
|
"djmixhostingsoftware" => "Software para sa Pagho-host ng DJ Mix",
|
||||||
|
"privacyPolicy" => "Patakaran sa Privacy",
|
||||||
|
"termsAndConditions" => "Mga Tuntunin at Kundisyon",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Bienvenue sur notre site Web!',
|
'welcome' => 'Bienvenue sur notre site web !',
|
||||||
'description' => 'Ceci est une description en français.',
|
'description' => 'Ceci est une description en français.',
|
||||||
'desc' => 'Libellé',
|
'desc' => 'Description',
|
||||||
'userProfile' => "Profil de l'utilisateur",
|
'userProfile' => "Profil de l'utilisateur",
|
||||||
'user' => 'Utilisateur',
|
'user' => 'Utilisateur',
|
||||||
'home' => 'Domicile',
|
'home' => 'Accueil',
|
||||||
'djName' => 'Nom du DJ',
|
'djName' => 'Nom du DJ',
|
||||||
'email' => 'Courriel',
|
'email' => 'E-mail',
|
||||||
'location' => 'Localisation',
|
'location' => 'Lieu',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biographie',
|
||||||
'submit' => 'Soumettre',
|
'submit' => 'Soumettre',
|
||||||
'login' => 'Se connecter',
|
'login' => 'Connexion',
|
||||||
'message' => 'Message',
|
'message' => 'Message',
|
||||||
'follow' => 'Suivre',
|
'follow' => 'Suivre',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "Impossible de charger le DJ ; soit le DJ n'a pas été trouvé, soit ce DJ est privé.",
|
"djNotFound" => "Impossible de charger le DJ ; soit le DJ n'a pas été trouvé, soit ce DJ est privé.",
|
||||||
"notfound" => "Page introuvable",
|
"notfound" => "Page non trouvée",
|
||||||
"genre" => "Genre",
|
"genre" => "Genre",
|
||||||
"genres" => "Genres",
|
"genres" => "Genres",
|
||||||
"genreNotFound" => "Impossible de charger le genre, soit le genre n'a pas été trouvé, soit ce genre est privé.",
|
"genreNotFound" => "Impossible de charger le genre ; soit le genre n'a pas été trouvé, soit il est vide, soit ce genre est privé.",
|
||||||
"mix-count" => "Nombre de mixages",
|
"mix-count" => "Compteur de mix",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Mixes",
|
||||||
"mix" => "Mélanger",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Impossible de charger le mixage; soit le mixage n'a pas été trouvé, soit le mixage est vide, soit ce mixage est privé.",
|
"mixNotFound" => "Impossible de charger le mix ; soit le mix n'a pas été trouvé, soit il est vide, soit ce mix est privé.",
|
||||||
"mixshowNotFound" => "Impossible de charger le mixshow ; soit le mixshow n'a pas été trouvé, soit le mixshow est vide, soit ce mixshow est privé.",
|
"mixshowNotFound" => "Impossible de charger le mixshow ; soit le mixshow n'a pas été trouvé, soit il est vide, soit ce mixshow est privé.",
|
||||||
"mixName" => "Nom du mixage",
|
"mixName" => "Nom du mix",
|
||||||
"mixDescription" => "Description du mixage",
|
"mixDescription" => "Description du mix",
|
||||||
"mixLength" => "Longueur du mixage",
|
"mixLength" => "Durée du mix",
|
||||||
"mixGenre" => "Mélanger le genre",
|
"mixGenre" => "Genre du mix",
|
||||||
"view" => "Voir",
|
"view" => "Voir",
|
||||||
"mixname" => "Nom du mixage",
|
"mixname" => "Nom du mix",
|
||||||
"search" => "Chercher",
|
"search" => "Recherche",
|
||||||
"searchResults" => "Résultats de recherche",
|
"searchResults" => "Résultats de recherche",
|
||||||
"searchResultsFor" => "Résultats de recherche pour",
|
"searchResultsFor" => "Résultats de recherche pour",
|
||||||
"searchResultsFound" => "Résultats de recherche trouvés",
|
"searchResultsFound" => "Résultats de recherche trouvés",
|
||||||
"tracklist" => "Liste de suivi",
|
"tracklist" => "Liste de pistes",
|
||||||
"lastupdated" => "Dernière mise à jour",
|
"lastupdated" => "Dernière mise à jour",
|
||||||
"duration" => "Durée",
|
"duration" => "Durée",
|
||||||
"hour" => "heure",
|
"hour" => "heure",
|
||||||
|
@ -47,23 +47,23 @@ return [
|
||||||
"by" => "par",
|
"by" => "par",
|
||||||
"added" => "Ajouté",
|
"added" => "Ajouté",
|
||||||
"recorded" => "Enregistré",
|
"recorded" => "Enregistré",
|
||||||
"audioNotSupported" => "Votre navigateur ne supporte pas l'élément audio.",
|
"audioNotSupported" => "Votre navigateur ne prend pas en charge l'élément audio.",
|
||||||
"downloads" => "Téléchargements",
|
"downloads" => "Téléchargements",
|
||||||
"download" => "Télécharger",
|
"download" => "Télécharger",
|
||||||
"downloadMix" => "Télécharger Mix",
|
"downloadMix" => "Télécharger le mix",
|
||||||
"plays" => "Jouer",
|
"plays" => "Lectures",
|
||||||
"play" => "Jouer",
|
"play" => "Jouer",
|
||||||
"contactus" => "Contactez-nous",
|
"contactus" => "Contactez-nous",
|
||||||
"allrightsreserved" => "Tous droits réservés.",
|
"allrightsreserved" => "Tous droits réservés.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Nom du Mixshow",
|
"mixshowName" => "Nom du mixshow",
|
||||||
"share" => "Partager",
|
"share" => "Partager",
|
||||||
"sahrethismix" => "Partager ce mix",
|
"sahrethismix" => "Partager ce mix",
|
||||||
"sharethismixshow" => "Partager ce mixshow",
|
"sharethismixshow" => "Partager ce mixshow",
|
||||||
"rss" => "Flux RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Année",
|
"year" => "Année",
|
||||||
"sharetotwitter" => "Partager vers X (anciennement Twitter)",
|
"sharetotwitter" => "Partager sur X (anciennement Twitter)",
|
||||||
"sharetofb" => "Partager sur Facebook",
|
"sharetofb" => "Partager sur Facebook",
|
||||||
"sharetoig" => "Partager sur Instagram",
|
"sharetoig" => "Partager sur Instagram",
|
||||||
"copyurl" => "Copier l'URL",
|
"copyurl" => "Copier l'URL",
|
||||||
|
@ -72,5 +72,84 @@ return [
|
||||||
"name" => "Nom",
|
"name" => "Nom",
|
||||||
"username" => "Nom d'utilisateur",
|
"username" => "Nom d'utilisateur",
|
||||||
"logout" => "Déconnexion",
|
"logout" => "Déconnexion",
|
||||||
"upload" => "Charger",
|
"upload" => "Télécharger",
|
||||||
|
"loginToVerifyEmail" => "Vous devez être connecté pour vérifier votre email.",
|
||||||
|
"loginToUploadMix" => "Vous devez être connecté pour télécharger un mix.",
|
||||||
|
"verificationCodeRequired" => "Le code de vérification est requis.",
|
||||||
|
"recordedDate" => "Date d'enregistrement",
|
||||||
|
"noUploadedFileFound" => "Aucun fichier téléchargé trouvé. Veuillez télécharger un fichier mix.",
|
||||||
|
"mixTitleRequired" => "Le titre du mix est requis.",
|
||||||
|
"errorUploadCDN" => "Erreur lors du téléchargement du fichier sur le CDN : ",
|
||||||
|
"errorSavingMixDB" => "Erreur lors de l'enregistrement du mix dans la base de données.",
|
||||||
|
"uploadedPendingApproval" => "Mix téléchargé avec succès et en attente d'approbation.",
|
||||||
|
"uploadHeader1" => "Téléchargez votre mix sur les DJs de l'Utah",
|
||||||
|
"uploadAlertHeader" => "Informations importantes sur le téléchargement",
|
||||||
|
"uploadAlert1" => "Les DJs de l'Utah sont principalement un projet d'archivage dédié à la préservation de l'histoire et de la culture des DJs EDM en Utah. Vos téléchargements contribuent à cet historique.",
|
||||||
|
"uploadHeader2" => "Avant de télécharger",
|
||||||
|
"uploadAlert2" => "Vérifiez que tous les DJs impliqués sont listés dans notre base de données. Si un DJ n'est pas listé, il doit être ajouté et approuvé avant le téléchargement.",
|
||||||
|
"uploadAlert3" => "Vérifiez que les genres appropriés sont disponibles pour votre mix. Les nouveaux genres nécessitent une approbation avant de pouvoir être utilisés.",
|
||||||
|
"uploadAlert4" => "Vous pouvez soumettre de nouvelles demandes de DJ ou de genre via les paramètres de votre profil.",
|
||||||
|
"uploadProcess" => "Processus de téléchargement",
|
||||||
|
"uploadProcess1" => "Téléchargez votre fichier mix (format MP3 ou ZIP)",
|
||||||
|
"uploadProcess2" => "Entrez les détails du mix, y compris le titre, la description et la date d'enregistrement",
|
||||||
|
"uploadProcess3" => "Sélectionnez les genres et les DJs pertinents",
|
||||||
|
"uploadProcess4" => "Soumettre pour révision",
|
||||||
|
"uploadAMix" => "Téléchargez un mix",
|
||||||
|
"uploadSelectMix" => "Sélectionnez le fichier mix (MP3 ou ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Taille maximale du fichier : 500 Mo",
|
||||||
|
"uploadFile" => "Télécharger le fichier",
|
||||||
|
"uploadSelectGenres" => "Sélectionnez les genres (taper pour rechercher)",
|
||||||
|
"uploadSelectDJSMax3" => "Sélectionnez les DJs (maximum 3)",
|
||||||
|
"uploadSubmitMix" => "Soumettre le mix",
|
||||||
|
"uploadSelectDJ1" => "Sélectionnez DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Sélectionnez DJ 2 (optionnel)",
|
||||||
|
"uploadSelectDJ3" => "Sélectionnez DJ 3 (optionnel)",
|
||||||
|
"userAlreadyExists" => "L'utilisateur existe déjà.",
|
||||||
|
"allFieldsRequired" => "Tous les champs sont requis.",
|
||||||
|
"passwordsDoNotMatch" => "Les mots de passe ne correspondent pas.",
|
||||||
|
"invalidEmail" => "Format d'email invalide.",
|
||||||
|
"invalidUsername" => "Format de nom d'utilisateur invalide.",
|
||||||
|
"verifyEmailAddress" => "Vérifiez votre adresse email",
|
||||||
|
"registerThankYou" => "Merci de vous être enregistré sur ",
|
||||||
|
"registerVerifyEmail" => "Veuillez vérifier votre adresse email en cliquant sur le lien ci-dessous ou en entrant le code de vérification dans votre profil :",
|
||||||
|
"registerVerifyCodeIs" => "Votre code de vérification est : ",
|
||||||
|
"registerVerifyTimeout" => "Ce code expirera dans 15 minutes.",
|
||||||
|
"password" => "Mot de passe",
|
||||||
|
"rememberMe" => "Se souvenir de moi",
|
||||||
|
"forgotPassword" => "Mot de passe oublié",
|
||||||
|
"dontHaveAccount" => "Vous n'avez pas de compte ?",
|
||||||
|
"signUp" => "Inscrivez-vous",
|
||||||
|
"passwordResetSent" => "Si l'email existe dans notre système, un lien de réinitialisation du mot de passe a été envoyé.",
|
||||||
|
"passwordResetRequested" => "Vous avez demandé à réinitialiser votre mot de passe. Veuillez cliquer sur le lien ci-dessous pour réinitialiser votre mot de passe :",
|
||||||
|
"passwordResetUnrequested" => "Si vous n'avez pas fait cette demande, veuillez ignorer cet email. Ce lien expirera dans 15 minutes.",
|
||||||
|
"emailaddressEnter" => "Entrez votre adresse email",
|
||||||
|
"messageSentSuccess" => "Message envoyé avec succès.",
|
||||||
|
"messageSentError" => "Une erreur s'est produite lors de l'envoi du message.",
|
||||||
|
"contactUs2" => "Nous serions ravis de recevoir de votre part. Envoyez-nous un message et nous répondrons dès que possible.",
|
||||||
|
"messageSendUs" => "Envoyez-nous un message",
|
||||||
|
"messageSend" => "Envoyer le message",
|
||||||
|
"passwordReset" => "Réinitialiser le mot de passe",
|
||||||
|
"enterYourUsername" => "Entrez votre nom d'utilisateur",
|
||||||
|
"newPassword" => "Nouveau mot de passe",
|
||||||
|
"confirmPassword" => "Confirmer le nouveau mot de passe",
|
||||||
|
"passwordResetSuccess" => "Votre mot de passe a été réinitialisé avec succès. Veuillez vous connecter avec votre nouveau mot de passe.",
|
||||||
|
"enterEmailAddressPlease" => "Veuillez entrer votre adresse email.",
|
||||||
|
"emailInvalid" => "Format d'email invalide.",
|
||||||
|
"passwordMismatch" => "Les mots de passe ne correspondent pas.",
|
||||||
|
"passwordRequirements" => "Le mot de passe doit contenir au moins 8 caractères et inclure des lettres majuscules et minuscules, ainsi qu'un chiffre.",
|
||||||
|
"resetExpiredInvalid" => "Code de réinitialisation du mot de passe invalide ou expiré.",
|
||||||
|
"resetExpired" => "Le code de réinitialisation du mot de passe a expiré.",
|
||||||
|
"codeCredsInvalid" => "Identifiants ou code de vérification invalides.",
|
||||||
|
"change" => "Changer",
|
||||||
|
"changePicture" => "Changer de photo",
|
||||||
|
"verify" => "Vérifier",
|
||||||
|
"createdUsing" => "Créé à l'aide de",
|
||||||
|
"djmixhostingsoftware" => "Logiciel d'hébergement de mix DJ",
|
||||||
|
"privacyPolicy" => "Politique de confidentialité",
|
||||||
|
"termsAndConditions" => "Conditions générales",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'ברוכים הבאים לאתר שלנו!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'זו תיאור באנגלית.',
|
||||||
'desc' => 'Description',
|
'desc' => 'תיאור',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "פרופיל משתמש",
|
||||||
'user' => 'User',
|
'user' => 'משתמש',
|
||||||
'home' => 'Home',
|
'home' => 'בית',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'שם די.ג\'יי',
|
||||||
'email' => 'Email',
|
'email' => 'דוא"ל',
|
||||||
'location' => 'Location',
|
'location' => 'מיקום',
|
||||||
'bio' => 'Bio',
|
'bio' => 'ביוגרפיה',
|
||||||
'submit' => 'Submit',
|
'submit' => 'שלח',
|
||||||
'login' => 'Login',
|
'login' => 'כניסה',
|
||||||
'message' => 'Message',
|
'message' => 'הודעה',
|
||||||
'follow' => 'Follow',
|
'follow' => 'עקוב',
|
||||||
'djs' => 'DJs',
|
'djs' => 'די.ג\'ייז',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "לא ניתן היה לטעון די.ג'יי; או שהדי.ג'יי לא נמצא או שהדי.ג'יי הזה פרטי.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "העמוד לא נמצא",
|
||||||
"genre" => "Genre",
|
"genre" => "ז'אנר",
|
||||||
"genres" => "Genres",
|
"genres" => "ז'אנרים",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "לא ניתן היה לטעון ז'אנר; או שהז'אנר לא נמצא, היה ריק, או שהז'אנר הזה פרטי.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "ספירת מיקס",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "מיקסים",
|
||||||
"mix" => "Mix",
|
"mix" => "מיקס",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "לא ניתן היה לטעון מיקס; או שהמיקס לא נמצא, היה ריק, או שהמיקס הזה פרטי.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "לא ניתן היה לטעון מיקסשואו; או שהמיקסשואו לא נמצא, היה ריק, או שהמיקסשואו הזה פרטי.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "שם המיקס",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "תיאור המיקס",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "אורך המיקס",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "ז'אנר המיקס",
|
||||||
"view" => "View",
|
"view" => "צפה",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "שם המיקס",
|
||||||
"search" => "Search",
|
"search" => "חיפוש",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "תוצאות חיפוש",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "תוצאות חיפוש עבור",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "תוצאות חיפוש נמצאו",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "רשימת שירים",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "עדכון אחרון",
|
||||||
"duration" => "Duration",
|
"duration" => "משך",
|
||||||
"hour" => "hour",
|
"hour" => "שעה",
|
||||||
"hours" => "hours",
|
"hours" => "שעות",
|
||||||
"minute" => "minute",
|
"minute" => "דקה",
|
||||||
"minutes" => "minutes",
|
"minutes" => "דקות",
|
||||||
"second" => "second",
|
"second" => "שנייה",
|
||||||
"seconds" => "seconds",
|
"seconds" => "שניות",
|
||||||
"by" => "by",
|
"by" => "על ידי",
|
||||||
"added" => "Added",
|
"added" => "נוסף",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "הוקלט",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "הדפדפן שלך אינו תומך ביישום האודיו.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "הורדות",
|
||||||
"download" => "Download",
|
"download" => "הורדה",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "הורדת מיקס",
|
||||||
"plays" => "Plays",
|
"plays" => "הקשבות",
|
||||||
"play" => "Play",
|
"play" => "נגן",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "צור קשר",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "כל הזכויות שמורות.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "מיקסשואים",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "מיקסשואו",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "שם מיקסשואו",
|
||||||
"share" => "Share",
|
"share" => "שתף",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "שתף מיקס זה",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "שתף את המיקסשואו הזה",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "שנה",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "שתף ל-X (לשעבר טוויטר)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "שתף לפייסבוק",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "שתף לאינסטגרם",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "העתק כתובת URL",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "כתובת URL הועתקה ללוח",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "שגיאה בהעתקת כתובת URL",
|
||||||
"name" => "Name",
|
"name" => "שם",
|
||||||
"username" => "Username",
|
"username" => "שם משתמש",
|
||||||
"logout" => "Logout",
|
"logout" => "התנתק",
|
||||||
"upload" => "Upload",
|
"upload" => "העלה",
|
||||||
|
"loginToVerifyEmail" => "עליך להתחבר כדי לאמת את הדוא\"ל שלך.",
|
||||||
|
"loginToUploadMix" => "עליך להתחבר כדי להעלות מיקס.",
|
||||||
|
"verificationCodeRequired" => "דרוש קוד אימות.",
|
||||||
|
"recordedDate" => "תאריך הקלטה",
|
||||||
|
"noUploadedFileFound" => "לא נמצא קובץ שהועלה. אנא העלה קובץ מיקס.",
|
||||||
|
"mixTitleRequired" => "דרוש כותרת מיקס.",
|
||||||
|
"errorUploadCDN" => "שגיאה בהעלאת קובץ ל-CDN: ",
|
||||||
|
"errorSavingMixDB" => "שגיאה בשמירת המיקס בבסיס הנתונים.",
|
||||||
|
"uploadedPendingApproval" => "המיקס הועלה בהצלחה וממתין לאישור.",
|
||||||
|
"uploadHeader1" => "העלה את המיקס שלך לדי.ג'ייז של מדינת יוטה",
|
||||||
|
"uploadAlertHeader" => "מידע חשוב על העלאה",
|
||||||
|
"uploadAlert1" => "די.ג'ייז של מדינת יוטה הוא בעיקר פרויקט ארכיון המוקדש לשימור ההיסטוריה והתרבות של די.ג'ייז EDM במדינת יוטה. ההעלאות שלך תורמות לרישום ההיסטורי הזה.",
|
||||||
|
"uploadHeader2" => "לפני העלאה",
|
||||||
|
"uploadAlert2" => "וודא שכל הדי.ג'ייז המעורבים רשומים בבסיס הנתונים שלנו. אם די.ג'יי אינו רשום, יש להוסיף ולהאשר אותו לפני ההעלאה.",
|
||||||
|
"uploadAlert3" => "בדוק שהז'אנרים המתאימים זמינים עבור המיקס שלך. ז'אנרים חדשים require approval before they can be used.",
|
||||||
|
"uploadAlert4" => "אתה יכול להגיש בקשות חדשות לדי.ג'ייז או ז'אנרים דרך הגדרות הפרופיל שלך.",
|
||||||
|
"uploadProcess" => "תהליך העלאה",
|
||||||
|
"uploadProcess1" => "העלה את קובץ המיקס שלך (בפורמט MP3 או ZIP)",
|
||||||
|
"uploadProcess2" => "הזן את פרטי המיקס, כולל כותרת, תיאור ותאריך הקלטה",
|
||||||
|
"uploadProcess3" => "בחר ז'אנרים ודי.ג'ייז רלוונטיים",
|
||||||
|
"uploadProcess4" => "שלח לבדיקה",
|
||||||
|
"uploadAMix" => "העלאת מיקס",
|
||||||
|
"uploadSelectMix" => "בחר את קובץ המיקס (MP3 או ZIP)",
|
||||||
|
"uploadMaxFileSize" => "גודל הקובץ המרבי: 500MB",
|
||||||
|
"uploadFile" => "העלה קובץ",
|
||||||
|
"uploadSelectGenres" => "בחר ז'אנרים (כתובת כדי לחפש)",
|
||||||
|
"uploadSelectDJSMax3" => "בחר די.ג'ייז (עד 3)",
|
||||||
|
"uploadSubmitMix" => "שלח מיקס",
|
||||||
|
"uploadSelectDJ1" => "בחר די.ג'יי 1",
|
||||||
|
"uploadSelectDJ2" => "בחר די.ג'יי 2 (אופציונלי)",
|
||||||
|
"uploadSelectDJ3" => "בחר די.ג'יי 3 (אופציונלי)",
|
||||||
|
"userAlreadyExists" => "המשתמש כבר קיים.",
|
||||||
|
"allFieldsRequired" => "כל השדות נדרשים.",
|
||||||
|
"passwordsDoNotMatch" => "הסיסמאות אינן תואמות.",
|
||||||
|
"invalidEmail" => "פורמט דוא\"ל לא חוקי.",
|
||||||
|
"invalidUsername" => "פורמט שם משתמש אינו חוקי.",
|
||||||
|
"verifyEmailAddress" => "אמת את כתובת האימייל שלך",
|
||||||
|
"registerThankYou" => "תודה שנרשמת ב- ",
|
||||||
|
"registerVerifyEmail" => "אנא אמת את כתובת האימייל שלך על ידי לחיצה על הקישור למטה או על ידי הזנת קוד האימות בפרופיל שלך:",
|
||||||
|
"registerVerifyCodeIs" => "קוד האימות שלך הוא: ",
|
||||||
|
"registerVerifyTimeout" => "קוד זה יפוג תוך 15 דקות.",
|
||||||
|
"password" => "סיסמה",
|
||||||
|
"rememberMe" => "זכור אותי",
|
||||||
|
"forgotPassword" => "שכחת סיסמה",
|
||||||
|
"dontHaveAccount" => "אין לך חשבון?",
|
||||||
|
"signUp" => "הרשמה",
|
||||||
|
"passwordResetSent" => "אם הדוא\"ל קיים במערכת שלנו, נשלח קישור לאיפוס סיסמה.",
|
||||||
|
"passwordResetRequested" => "בקשת לאיפוס הסיסמה שלך. אנא לחץ על הקישור למטה כדי לאפס את הסיסמה שלך:",
|
||||||
|
"passwordResetUnrequested" => "אם לא ביקשת זאת, אנא התעלם מהאימייל הזה. קישור זה יפוג תוך 15 דקות.",
|
||||||
|
"emailaddressEnter" => "הזן את כתובת האימייל שלך",
|
||||||
|
"messageSentSuccess" => "ההודעה נשלחה בהצלחה.",
|
||||||
|
"messageSentError" => "אירעה שגיאה במהלך שליחת ההודעה.",
|
||||||
|
"contactUs2" => "נשמח לשמוע ממך. שלחו לנו הודעה ונשיב בהקדם האפשרי.",
|
||||||
|
"messageSendUs" => "שלח לנו הודעה",
|
||||||
|
"messageSend" => "שלח הודעה",
|
||||||
|
"passwordReset" => "איפוס סיסמה",
|
||||||
|
"enterYourUsername" => "הזן את שם המשתמש שלך",
|
||||||
|
"newPassword" => "סיסמה חדשה",
|
||||||
|
"confirmPassword" => "אשר סיסמה חדשה",
|
||||||
|
"passwordResetSuccess" => "הסיסמה שלך הוזמנה בהצלחה. אנא התחבר עם הסיסמה החדשה שלך.",
|
||||||
|
"enterEmailAddressPlease" => "אנא הזן את כתובת האימייל שלך.",
|
||||||
|
"emailInvalid" => "פורמט דוא\"ל לא חוקי.",
|
||||||
|
"passwordMismatch" => "הסיסמאות אינן תואמות.",
|
||||||
|
"passwordRequirements" => "הסיסמה חייבת להיות לפחות 8 תווים ולכלול אותיות גדולות וקטנות, כמו גם מספר.",
|
||||||
|
"resetExpiredInvalid" => "קוד איפוס סיסמה לא חוקי או פג.",
|
||||||
|
"resetExpired" => "קוד איפוס הסיסמה פג.",
|
||||||
|
"codeCredsInvalid" => "אישורים או קוד אימות לא חוקיים.",
|
||||||
|
"change" => "שנה",
|
||||||
|
"changePicture" => "שנה תמונה",
|
||||||
|
"verify" => "אמת",
|
||||||
|
"createdUsing" => "נוצר באמצעות",
|
||||||
|
"djmixhostingsoftware" => "תוכנת אירוח מיקס די.ג'יי",
|
||||||
|
"privacyPolicy" => "מדיניות פרטיות",
|
||||||
|
"termsAndConditions" => "תנאים והגבלות",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'Üdvözöljük a weboldalunkon!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'Ez egy angol nyelvű leírás.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Leírás',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "Felhasználói profil",
|
||||||
'user' => 'User',
|
'user' => 'Felhasználó',
|
||||||
'home' => 'Home',
|
'home' => 'Kezdőlap',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'DJ neve',
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
'location' => 'Location',
|
'location' => 'Helyszín',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Összegzés',
|
||||||
'submit' => 'Submit',
|
'submit' => 'Küldés',
|
||||||
'login' => 'Login',
|
'login' => 'Bejelentkezés',
|
||||||
'message' => 'Message',
|
'message' => 'Üzenet',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Követés',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ-k',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "Nem sikerült betölteni a DJ-t; vagy a DJ nem található, vagy ez a DJ privát.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "Az oldal nem található",
|
||||||
"genre" => "Genre",
|
"genre" => "Műfaj",
|
||||||
"genres" => "Genres",
|
"genres" => "Műfajok",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "Nem sikerült betölteni a műfajt; vagy a műfaj nem található, üres, vagy ez a műfaj privát.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "Mixek száma",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Mixek",
|
||||||
"mix" => "Mix",
|
"mix" => "Keverés",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "Nem sikerült betölteni a mixet; vagy a mix nem található, üres, vagy ez a mix privát.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "Nem sikerült betölteni a mixshow-t; vagy a mixshow nem található, üres, vagy ez a mixshow privát.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "Mix neve",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "Mix leírása",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "Mix hossza",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Mix műfaja",
|
||||||
"view" => "View",
|
"view" => "Megtekintés",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "Mix neve",
|
||||||
"search" => "Search",
|
"search" => "Keresés",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "Keresési eredmények",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "Keresési eredmények a következőre",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "Talált keresési eredmények",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Zenei lista",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Utolsó frissítés",
|
||||||
"duration" => "Duration",
|
"duration" => "Időtartam",
|
||||||
"hour" => "hour",
|
"hour" => "óra",
|
||||||
"hours" => "hours",
|
"hours" => "órák",
|
||||||
"minute" => "minute",
|
"minute" => "perc",
|
||||||
"minutes" => "minutes",
|
"minutes" => "percek",
|
||||||
"second" => "second",
|
"second" => "másodperc",
|
||||||
"seconds" => "seconds",
|
"seconds" => "másodpercek",
|
||||||
"by" => "by",
|
"by" => "által",
|
||||||
"added" => "Added",
|
"added" => "Hozzáadva",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Rögzítve",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "A böngésződ nem támogatja a hang elemet.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Letöltések",
|
||||||
"download" => "Download",
|
"download" => "Letöltés",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "Mix letöltése",
|
||||||
"plays" => "Plays",
|
"plays" => "Lejátszások",
|
||||||
"play" => "Play",
|
"play" => "Lejátszás",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Kapcsolatfelvétel",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Minden jog fenntartva.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshow-k",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Mixshow neve",
|
||||||
"share" => "Share",
|
"share" => "Megosztás",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Oszd meg ezt a mixet",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Oszd meg ezt a mixshow-t",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Év",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "Megosztás X-nek (korábban Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Megosztás Facebookon",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Megosztás Instagramon",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "URL másolása",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL másolva a vágólapra",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "URL másolása nem sikerült",
|
||||||
"name" => "Name",
|
"name" => "Név",
|
||||||
"username" => "Username",
|
"username" => "Felhasználónév",
|
||||||
"logout" => "Logout",
|
"logout" => "Kijelentkezés",
|
||||||
"upload" => "Upload",
|
"upload" => "Feltöltés",
|
||||||
|
"loginToVerifyEmail" => "Be kell jelentkezned a leveled ellenőrzéséhez.",
|
||||||
|
"loginToUploadMix" => "Be kell jelentkezned a mix feltöltéséhez.",
|
||||||
|
"verificationCodeRequired" => "A megerősítő kód kötelező.",
|
||||||
|
"recordedDate" => "Rögzítési dátum",
|
||||||
|
"noUploadedFileFound" => "Nem találtunk feltöltött fájlt. Kérjük, töltsd fel a mix fájlt.",
|
||||||
|
"mixTitleRequired" => "A mix címe kötelező.",
|
||||||
|
"errorUploadCDN" => "Hiba a fájl feltöltése során a CDN-re: ",
|
||||||
|
"errorSavingMixDB" => "Hiba a mix adatbázisba mentésekor.",
|
||||||
|
"uploadedPendingApproval" => "A mix sikeresen feltöltve, és jóváhagyásra vár.",
|
||||||
|
"uploadHeader1" => "Töltsd fel a mixet Utah DJ-inek",
|
||||||
|
"uploadAlertHeader" => "Fontos feltöltési információk",
|
||||||
|
"uploadAlert1" => "Utah DJ-i olyan archívum projekt, amely az EDM DJ-k történetének és kultúrájának megőrzésére összpontosít. A feltöltéseid hozzájárulnak ehhez a történelmi feljegyzéshez.",
|
||||||
|
"uploadHeader2" => "A feltöltés előtt",
|
||||||
|
"uploadAlert2" => "Ellenőrizd, hogy az összes érintett DJ fel van-e tüntetve az adatbázisunkban. Ha egy DJ nincs felsorolva, azt hozzá kell adni és jóvá kell hagyni a feltöltés előtt.",
|
||||||
|
"uploadAlert3" => "Ellenőrizd, hogy az megfelelő műfajok elérhetők-e a mixedhez. Az új műfajok jóváhagyást igényelnek a használat előtt.",
|
||||||
|
"uploadAlert4" => "Új DJ-k vagy műfajok kérését a profil beállításaidon keresztül küldheted el.",
|
||||||
|
"uploadProcess" => "Feltöltési folyamat",
|
||||||
|
"uploadProcess1" => "Töltsd fel a mix fájlodat (MP3 vagy ZIP formátumban)",
|
||||||
|
"uploadProcess2" => "Add meg a mix adatait, beleértve a címet, leírást és rögzítési dátumot",
|
||||||
|
"uploadProcess3" => "Válaszd ki a megfelelő műfajokat és DJ-ket",
|
||||||
|
"uploadProcess4" => "Küldés ellenőrzésre",
|
||||||
|
"uploadAMix" => "Mix feltöltése",
|
||||||
|
"uploadSelectMix" => "Válaszd ki a Mix fájlt (MP3 vagy ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maximális fájlméret: 500MB",
|
||||||
|
"uploadFile" => "Fájl feltöltése",
|
||||||
|
"uploadSelectGenres" => "Válaszd ki a műfajokat (típus a kereséshez)",
|
||||||
|
"uploadSelectDJSMax3" => "Válaszd ki a DJ-ket (Maximum 3)",
|
||||||
|
"uploadSubmitMix" => "Mix beküldése",
|
||||||
|
"uploadSelectDJ1" => "Válaszd ki az 1. DJ-t",
|
||||||
|
"uploadSelectDJ2" => "Válaszd ki a 2. DJ-t (opcionális)",
|
||||||
|
"uploadSelectDJ3" => "Válaszd ki a 3. DJ-t (opcionális)",
|
||||||
|
"userAlreadyExists" => "A felhasználó már létezik.",
|
||||||
|
"allFieldsRequired" => "Minden mező kitöltése kötelező.",
|
||||||
|
"passwordsDoNotMatch" => "A jelszavak nem egyeznek.",
|
||||||
|
"invalidEmail" => "Érvénytelen email formátum.",
|
||||||
|
"invalidUsername" => "Érvénytelen felhasználónév formátum.",
|
||||||
|
"verifyEmailAddress" => "Ellenőrizd az email címedet",
|
||||||
|
"registerThankYou" => "Köszönjük, hogy regisztráltál itt: ",
|
||||||
|
"registerVerifyEmail" => "Kérlek, ellenőrizd az email címedet az alábbi linken keresztül, vagy a megerősítő kód megadásával a profilodban:",
|
||||||
|
"registerVerifyCodeIs" => "A megerősítő kódod: ",
|
||||||
|
"registerVerifyTimeout" => "Ez a kód 15 perc múlva lejár.",
|
||||||
|
"password" => "Jelszó",
|
||||||
|
"rememberMe" => "Emlékezz rám",
|
||||||
|
"forgotPassword" => "Elfelejtetted a jelszavad",
|
||||||
|
"dontHaveAccount" => "Nincs fiókod?",
|
||||||
|
"signUp" => "Regisztrálj",
|
||||||
|
"passwordResetSent" => "Ha az email cím már létezik a rendszerünkben, jelszó-visszaállító linket küldtünk.",
|
||||||
|
"passwordResetRequested" => "Kérted a jelszavad visszaállítását. Kérlek, kattints az alábbi linkre a jelszavad visszaállításához:",
|
||||||
|
"passwordResetUnrequested" => "Ha nem kérted ezt, kérlek, hagyd figyelmen kívül ezt az emailt. Ez a link 15 perc múlva lejár.",
|
||||||
|
"emailaddressEnter" => "Add meg az email címedet",
|
||||||
|
"messageSentSuccess" => "Üzenet sikeresen elküldve.",
|
||||||
|
"messageSentError" => "Hiba történt az üzenet küldésekor.",
|
||||||
|
"contactUs2" => "Szeretnénk hallani önről. Küldjön üzenetet, és a lehető leghamarabb válaszolunk.",
|
||||||
|
"messageSendUs" => "Küldj nekünk üzenetet",
|
||||||
|
"messageSend" => "Üzenet küldése",
|
||||||
|
"passwordReset" => "Jelszó visszaállítása",
|
||||||
|
"enterYourUsername" => "Add meg a felhasználónevedet",
|
||||||
|
"newPassword" => "Új jelszó",
|
||||||
|
"confirmPassword" => "Új jelszó megerősítése",
|
||||||
|
"passwordResetSuccess" => "A jelszavad sikeresen visszaállítva. Kérlek, lépj be az új jelszavaddal.",
|
||||||
|
"enterEmailAddressPlease" => "Kérlek, add meg az email címedet.",
|
||||||
|
"emailInvalid" => "Érvénytelen email formátum.",
|
||||||
|
"passwordMismatch" => "A jelszavak nem egyeznek.",
|
||||||
|
"passwordRequirements" => "A jelszónak legalább 8 karakter hosszúnak kell lennie, és tartalmaznia kell nagy- és kisbetűket, valamint egy számot.",
|
||||||
|
"resetExpiredInvalid" => "Érvénytelen vagy lejárt jelszó-visszaállítási kód.",
|
||||||
|
"resetExpired" => "A jelszó-visszaállítási kód lejárt.",
|
||||||
|
"codeCredsInvalid" => "Érvénytelen hitelesítési adatok vagy ellenőrző kód.",
|
||||||
|
"change" => "Változás",
|
||||||
|
"changePicture" => "Kép megváltoztatása",
|
||||||
|
"verify" => "Ellenőrzés",
|
||||||
|
"createdUsing" => "Készítette",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Hosting Szoftver",
|
||||||
|
"privacyPolicy" => "Adatvédelmi irányelvek",
|
||||||
|
"termsAndConditions" => "Felhasználási feltételek",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Benvenuto nel nostro sito Web!',
|
'welcome' => 'Benvenuto nel nostro sito web!',
|
||||||
'description' => 'Questa è una descrizione in inglese.',
|
'description' => 'Questa è una descrizione in inglese.',
|
||||||
'desc' => 'Descrizione',
|
'desc' => 'Descrizione',
|
||||||
'userProfile' => "Profilo Utente",
|
'userProfile' => "Profilo Utente",
|
||||||
|
@ -9,32 +9,32 @@ return [
|
||||||
'djName' => 'Nome DJ',
|
'djName' => 'Nome DJ',
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
'location' => 'Posizione',
|
'location' => 'Posizione',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografia',
|
||||||
'submit' => 'Invia',
|
'submit' => 'Invia',
|
||||||
'login' => 'Accedi',
|
'login' => 'Accesso',
|
||||||
'message' => 'Messaggio',
|
'message' => 'Messaggio',
|
||||||
'follow' => 'Segui',
|
'follow' => 'Segui',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "Impossibile caricare DJ; o il DJ non è stato trovato o questo DJ è privato.",
|
"djNotFound" => "Impossibile caricare il DJ; o il DJ non è stato trovato o questo DJ è privato.",
|
||||||
"notfound" => "Pagina non trovata",
|
"notfound" => "Pagina non trovata",
|
||||||
"genre" => "Genere",
|
"genre" => "Genere",
|
||||||
"genres" => "Genres",
|
"genres" => "Generi",
|
||||||
"genreNotFound" => "Impossibile caricare il genere; o il genere non è stato trovato, è vuoto, o questo genere è privato.",
|
"genreNotFound" => "Impossibile caricare il genere; o il genere non è stato trovato, era vuoto, o questo genere è privato.",
|
||||||
"mix-count" => "Conteggio Mix",
|
"mix-count" => "Conteggio Mix",
|
||||||
"mixes" => "Miscele",
|
"mixes" => "Mix",
|
||||||
"mix" => "Miscela",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Impossibile caricare il mix; o il mix non è stato trovato, è vuoto, o questo mix è privato.",
|
"mixNotFound" => "Impossibile caricare il mix; o il mix non è stato trovato, era vuoto, o questo mix è privato.",
|
||||||
"mixshowNotFound" => "Impossibile caricare mixshow; o il mixshow non è stato trovato, è stato vuoto, o questo mixshow è privato.",
|
"mixshowNotFound" => "Impossibile caricare il mixshow; o il mixshow non è stato trovato, era vuoto, o questo mixshow è privato.",
|
||||||
"mixName" => "Nome Mix",
|
"mixName" => "Nome Mix",
|
||||||
"mixDescription" => "Descrizione Mix",
|
"mixDescription" => "Descrizione Mix",
|
||||||
"mixLength" => "Miscela Lunghezza",
|
"mixLength" => "Durata Mix",
|
||||||
"mixGenre" => "Miscelare Genere",
|
"mixGenre" => "Genere Mix",
|
||||||
"view" => "Visualizza",
|
"view" => "Visualizza",
|
||||||
"mixname" => "Nome Mix",
|
"mixname" => "Nome Mix",
|
||||||
"search" => "Cerca",
|
"search" => "Cerca",
|
||||||
"searchResults" => "Risultati Della Ricerca",
|
"searchResults" => "Risultati di ricerca",
|
||||||
"searchResultsFor" => "Risultati della ricerca per",
|
"searchResultsFor" => "Risultati di ricerca per",
|
||||||
"searchResultsFound" => "Risultati Di Ricerca Trovati",
|
"searchResultsFound" => "Risultati di ricerca trovati",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Tracklist",
|
||||||
"lastupdated" => "Ultimo Aggiornamento",
|
"lastupdated" => "Ultimo Aggiornamento",
|
||||||
"duration" => "Durata",
|
"duration" => "Durata",
|
||||||
|
@ -44,7 +44,7 @@ return [
|
||||||
"minutes" => "minuti",
|
"minutes" => "minuti",
|
||||||
"second" => "secondo",
|
"second" => "secondo",
|
||||||
"seconds" => "secondi",
|
"seconds" => "secondi",
|
||||||
"by" => "di",
|
"by" => "da",
|
||||||
"added" => "Aggiunto",
|
"added" => "Aggiunto",
|
||||||
"recorded" => "Registrato",
|
"recorded" => "Registrato",
|
||||||
"audioNotSupported" => "Il tuo browser non supporta l'elemento audio.",
|
"audioNotSupported" => "Il tuo browser non supporta l'elemento audio.",
|
||||||
|
@ -52,10 +52,10 @@ return [
|
||||||
"download" => "Scarica",
|
"download" => "Scarica",
|
||||||
"downloadMix" => "Scarica Mix",
|
"downloadMix" => "Scarica Mix",
|
||||||
"plays" => "Riproduzioni",
|
"plays" => "Riproduzioni",
|
||||||
"play" => "Gioca",
|
"play" => "Riproduci",
|
||||||
"contactus" => "Contattaci",
|
"contactus" => "Contattaci",
|
||||||
"allrightsreserved" => "Tutti i diritti riservati.",
|
"allrightsreserved" => "Tutti i diritti riservati.",
|
||||||
"mixshows" => "Mixshow",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Nome Mixshow",
|
"mixshowName" => "Nome Mixshow",
|
||||||
"share" => "Condividi",
|
"share" => "Condividi",
|
||||||
|
@ -63,14 +63,93 @@ return [
|
||||||
"sharethismixshow" => "Condividi questo mixshow",
|
"sharethismixshow" => "Condividi questo mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Anno",
|
"year" => "Anno",
|
||||||
"sharetotwitter" => "Condividi su X (ex Twitter)",
|
"sharetotwitter" => "Condividi su X (precedentemente Twitter)",
|
||||||
"sharetofb" => "Condividi su Facebook",
|
"sharetofb" => "Condividi su Facebook",
|
||||||
"sharetoig" => "Condividi su Instagram",
|
"sharetoig" => "Condividi su Instagram",
|
||||||
"copyurl" => "Copia URL",
|
"copyurl" => "Copia URL",
|
||||||
"urlcopiedtoclipboard" => "URL copiato negli appunti",
|
"urlcopiedtoclipboard" => "URL copiato negli appunti",
|
||||||
"failedtocopyurl" => "Impossibile copiare l'URL",
|
"failedtocopyurl" => "Errore nella copia dell'URL",
|
||||||
"name" => "Nome",
|
"name" => "Nome",
|
||||||
"username" => "Username",
|
"username" => "Nome Utente",
|
||||||
"logout" => "Esci",
|
"logout" => "Disconnetti",
|
||||||
"upload" => "Carica",
|
"upload" => "Carica",
|
||||||
|
"loginToVerifyEmail" => "Devi connetterti per verificare la tua email.",
|
||||||
|
"loginToUploadMix" => "Devi connetterti per caricare un mix.",
|
||||||
|
"verificationCodeRequired" => "Il codice di verifica è richiesto.",
|
||||||
|
"recordedDate" => "Data di Registrazione",
|
||||||
|
"noUploadedFileFound" => "Nessun file caricato trovato. Si prega di caricare un file mix.",
|
||||||
|
"mixTitleRequired" => "Il titolo del mix è richiesto.",
|
||||||
|
"errorUploadCDN" => "Errore durante il caricamento del file nel CDN: ",
|
||||||
|
"errorSavingMixDB" => "Errore durante il salvataggio del mix nel database.",
|
||||||
|
"uploadedPendingApproval" => "Mix caricato con successo e in attesa di approvazione.",
|
||||||
|
"uploadHeader1" => "Carica il tuo mix nei DJ dell'Utah",
|
||||||
|
"uploadAlertHeader" => "Informazioni importanti sul caricamento",
|
||||||
|
"uploadAlert1" => "I DJ dell'Utah sono principalmente un progetto archivistico dedicato alla conservazione della storia e della cultura dei DJ EDM in Utah. I tuoi caricamenti contribuiscono a questo record storico.",
|
||||||
|
"uploadHeader2" => "Prima di Caricare",
|
||||||
|
"uploadAlert2" => "Verifica che tutti i DJ coinvolti siano elencati nel nostro database. Se un DJ non è elencato, deve essere aggiunto e approvato prima del caricamento.",
|
||||||
|
"uploadAlert3" => "Controlla che siano disponibili generi appropriati per il tuo mix. I nuovi generi richiedono approvazione prima di poter essere utilizzati.",
|
||||||
|
"uploadAlert4" => "Puoi inviare richieste di nuovi DJ o generi tramite le impostazioni del tuo profilo.",
|
||||||
|
"uploadProcess" => "Processo di Caricamento",
|
||||||
|
"uploadProcess1" => "Carica il tuo file mix (formato MP3 o ZIP)",
|
||||||
|
"uploadProcess2" => "Inserisci i dettagli del mix, incluso titolo, descrizione e data di registrazione",
|
||||||
|
"uploadProcess3" => "Seleziona generi e DJ rilevanti",
|
||||||
|
"uploadProcess4" => "Invia per la revisione",
|
||||||
|
"uploadAMix" => "Carica un Mix",
|
||||||
|
"uploadSelectMix" => "Seleziona File Mix (MP3 o ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Dimensione massima del file: 500MB",
|
||||||
|
"uploadFile" => "Carica File",
|
||||||
|
"uploadSelectGenres" => "Seleziona Generi (digita per cercare)",
|
||||||
|
"uploadSelectDJSMax3" => "Seleziona DJ (Massimo 3)",
|
||||||
|
"uploadSubmitMix" => "Invia Mix",
|
||||||
|
"uploadSelectDJ1" => "Seleziona DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Seleziona DJ 2 (opzionale)",
|
||||||
|
"uploadSelectDJ3" => "Seleziona DJ 3 (opzionale)",
|
||||||
|
"userAlreadyExists" => "Utente già esistente.",
|
||||||
|
"allFieldsRequired" => "Tutti i campi sono obbligatori.",
|
||||||
|
"passwordsDoNotMatch" => "Le password non corrispondono.",
|
||||||
|
"invalidEmail" => "Formato email non valido.",
|
||||||
|
"invalidUsername" => "Formato nome utente non valido.",
|
||||||
|
"verifyEmailAddress" => "Verifica il tuo indirizzo email",
|
||||||
|
"registerThankYou" => "Grazie per esserti registrato su ",
|
||||||
|
"registerVerifyEmail" => "Si prega di verificare il proprio indirizzo email facendo clic sul link qui sotto o inserendo il codice di verifica nel proprio profilo:",
|
||||||
|
"registerVerifyCodeIs" => "Il tuo codice di verifica è: ",
|
||||||
|
"registerVerifyTimeout" => "Questo codice scadrà in 15 minuti.",
|
||||||
|
"password" => "Password",
|
||||||
|
"rememberMe" => "Ricordami",
|
||||||
|
"forgotPassword" => "Hai dimenticato la password",
|
||||||
|
"dontHaveAccount" => "Non hai un account?",
|
||||||
|
"signUp" => "Registrati",
|
||||||
|
"passwordResetSent" => "Se l'email esiste nel nostro sistema, è stato inviato un link per il reset della password.",
|
||||||
|
"passwordResetRequested" => "Hai richiesto di ripristinare la tua password. Si prega di fare clic sul link qui sotto per ripristinare la password:",
|
||||||
|
"passwordResetUnrequested" => "Se non hai richiesto questo, ignora questa email. Questo link scadrà in 15 minuti.",
|
||||||
|
"emailaddressEnter" => "Inserisci il tuo indirizzo email",
|
||||||
|
"messageSentSuccess" => "Messaggio inviato con successo.",
|
||||||
|
"messageSentError" => "Si è verificato un errore durante l'invio del messaggio.",
|
||||||
|
"contactUs2" => "Ci piacerebbe sentire da te. Inviaci un messaggio e risponderemo il prima possibile.",
|
||||||
|
"messageSendUs" => "Inviaci un messaggio",
|
||||||
|
"messageSend" => "Invia messaggio",
|
||||||
|
"passwordReset" => "Resetta la Password",
|
||||||
|
"enterYourUsername" => "Inserisci il tuo nome utente",
|
||||||
|
"newPassword" => "Nuova Password",
|
||||||
|
"confirmPassword" => "Conferma Nuova Password",
|
||||||
|
"passwordResetSuccess" => "La tua password è stata ripristinata con successo. Si prega di accedere con la nuova password.",
|
||||||
|
"enterEmailAddressPlease" => "Si prega di inserire il proprio indirizzo email.",
|
||||||
|
"emailInvalid" => "Formato email non valido.",
|
||||||
|
"passwordMismatch" => "Le password non corrispondono.",
|
||||||
|
"passwordRequirements" => "La password deve essere lunga almeno 8 caratteri e includere lettere maiuscole e minuscole, oltre a un numero.",
|
||||||
|
"resetExpiredInvalid" => "Codice di reset della password non valido o scaduto.",
|
||||||
|
"resetExpired" => "Il codice di reset della password è scaduto.",
|
||||||
|
"codeCredsInvalid" => "Credenziali o codice di verifica non validi.",
|
||||||
|
"change" => "Cambia",
|
||||||
|
"changePicture" => "Cambia immagine",
|
||||||
|
"verify" => "Verifica",
|
||||||
|
"createdUsing" => "Creato utilizzando",
|
||||||
|
"djmixhostingsoftware" => "Software di Hosting DJ Mix",
|
||||||
|
"privacyPolicy" => "Informativa sulla privacy",
|
||||||
|
"termsAndConditions" => "Termini e condizioni",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => '私たちのウェブサイトへようこそ!',
|
'welcome' => '私たちのウェブサイトへようこそ!',
|
||||||
'description' => 'これは英語の説明です。',
|
'description' => 'これは英語での説明です。',
|
||||||
'desc' => '説明',
|
'desc' => '説明',
|
||||||
'userProfile' => "ユーザープロフィール",
|
'userProfile' => "ユーザープロファイル",
|
||||||
'user' => 'ユーザー',
|
'user' => 'ユーザー',
|
||||||
'home' => 'ホーム',
|
'home' => 'ホーム',
|
||||||
'djName' => 'DJ名',
|
'djName' => 'DJ名',
|
||||||
'email' => 'Eメールアドレス',
|
'email' => 'メール',
|
||||||
'location' => '場所',
|
'location' => '場所',
|
||||||
'bio' => '略歴',
|
'bio' => 'プロフィール',
|
||||||
'submit' => '送信',
|
'submit' => '送信',
|
||||||
'login' => 'ログイン',
|
'login' => 'ログイン',
|
||||||
'message' => 'メッセージ',
|
'message' => 'メッセージ',
|
||||||
'follow' => 'フォロー',
|
'follow' => 'フォロー',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "DJをロードできませんでした。DJが見つからないか、DJがプライベートです。",
|
"djNotFound" => "DJを読み込めませんでした。DJが見つからなかったか、プライベートのDJです。",
|
||||||
"notfound" => "ページが見つかりません",
|
"notfound" => "ページが見つかりません",
|
||||||
"genre" => "ジャンル",
|
"genre" => "ジャンル",
|
||||||
"genres" => "Genres",
|
"genres" => "ジャンル",
|
||||||
"genreNotFound" => "ジャンルをロードできませんでした。ジャンルが見つかりませんでした。空でしたか、このジャンルはプライベートです。",
|
"genreNotFound" => "ジャンルを読み込めませんでした。ジャンルが見つからなかったか、空であるか、プライベートのジャンルです。",
|
||||||
"mix-count" => "ミックス数",
|
"mix-count" => "ミックス数",
|
||||||
"mixes" => "ミックス",
|
"mixes" => "ミックス",
|
||||||
"mix" => "ミックス",
|
"mix" => "ミックス",
|
||||||
"mixNotFound" => "ミックスをロードできませんでした。ミックスが見つかりませんでした。空であるか、このミックスがプライベートです。",
|
"mixNotFound" => "ミックスを読み込めませんでした。ミックスが見つからなかったか、空であるか、プライベートのミックスです。",
|
||||||
"mixshowNotFound" => "mixshowをロードできませんでした。mixshowが見つかりませんでした。空か、このmixshowはプライベートです。",
|
"mixshowNotFound" => "ミックスショーを読み込めませんでした。ミックスショーが見つからなかったか、空であるか、プライベートのミックスショーです。",
|
||||||
"mixName" => "ミックス名",
|
"mixName" => "ミックス名",
|
||||||
"mixDescription" => "ミックスの説明",
|
"mixDescription" => "ミックスの説明",
|
||||||
"mixLength" => "ミックス長さ",
|
"mixLength" => "ミックスの長さ",
|
||||||
"mixGenre" => "ミックスジャンル",
|
"mixGenre" => "ミックスジャンル",
|
||||||
"view" => "表示",
|
"view" => "表示",
|
||||||
"mixname" => "ミックス名",
|
"mixname" => "ミックス名",
|
||||||
"search" => "検索",
|
"search" => "検索",
|
||||||
"searchResults" => "検索結果",
|
"searchResults" => "検索結果",
|
||||||
"searchResultsFor" => "検索結果",
|
"searchResultsFor" => "の検索結果",
|
||||||
"searchResultsFound" => "検索結果が見つかりました",
|
"searchResultsFound" => "見つかった検索結果",
|
||||||
"tracklist" => "トラックリスト",
|
"tracklist" => "トラックリスト",
|
||||||
"lastupdated" => "最終更新",
|
"lastupdated" => "最終更新",
|
||||||
"duration" => "期間",
|
"duration" => "期間",
|
||||||
"hour" => "時",
|
"hour" => "時間",
|
||||||
"hours" => "時間",
|
"hours" => "時間",
|
||||||
"minute" => "分",
|
"minute" => "分",
|
||||||
"minutes" => "分",
|
"minutes" => "分",
|
||||||
"second" => "秒",
|
"second" => "秒",
|
||||||
"seconds" => "秒",
|
"seconds" => "秒",
|
||||||
"by" => "作成者:",
|
"by" => "によって",
|
||||||
"added" => "追加しました",
|
"added" => "追加されました",
|
||||||
"recorded" => "記録済み",
|
"recorded" => "録音",
|
||||||
"audioNotSupported" => "お使いのブラウザーは audio 要素をサポートしていません。",
|
"audioNotSupported" => "あなたのブラウザはオーディオ要素をサポートしていません。",
|
||||||
"downloads" => "ダウンロード",
|
"downloads" => "ダウンロード",
|
||||||
"download" => "ダウンロード",
|
"download" => "ダウンロード",
|
||||||
"downloadMix" => "ミックスをダウンロード",
|
"downloadMix" => "ミックスをダウンロード",
|
||||||
"plays" => "再生",
|
"plays" => "再生数",
|
||||||
"play" => "再生",
|
"play" => "再生",
|
||||||
"contactus" => "お問い合わせ",
|
"contactus" => "お問い合わせ",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "すべての権利を保留します。",
|
||||||
"mixshows" => "ミックスショー",
|
"mixshows" => "ミックスショー",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "ミックスショー",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "ミックスショー名",
|
||||||
"share" => "共有",
|
"share" => "シェア",
|
||||||
"sahrethismix" => "このミックスを共有",
|
"sahrethismix" => "このミックスをシェア",
|
||||||
"sharethismixshow" => "このミックスショーを共有",
|
"sharethismixshow" => "このミックスショーをシェア",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "年",
|
"year" => "年",
|
||||||
"sharetotwitter" => "X(旧 Twitter)で共有",
|
"sharetotwitter" => "X(以前のTwitter)にシェア",
|
||||||
"sharetofb" => "Facebookで共有",
|
"sharetofb" => "Facebookにシェア",
|
||||||
"sharetoig" => "Instagramで共有",
|
"sharetoig" => "Instagramにシェア",
|
||||||
"copyurl" => "URLをコピー",
|
"copyurl" => "URLをコピー",
|
||||||
"urlcopiedtoclipboard" => "URL をクリップボードにコピーしました",
|
"urlcopiedtoclipboard" => "URLがクリップボードにコピーされました",
|
||||||
"failedtocopyurl" => "URLのコピーに失敗しました",
|
"failedtocopyurl" => "URLのコピーに失敗しました",
|
||||||
"name" => "名前",
|
"name" => "名前",
|
||||||
"username" => "ユーザー名",
|
"username" => "ユーザー名",
|
||||||
"logout" => "ログアウト",
|
"logout" => "ログアウト",
|
||||||
"upload" => "アップロード",
|
"upload" => "アップロード",
|
||||||
|
"loginToVerifyEmail" => "メールを確認するにはログインする必要があります。",
|
||||||
|
"loginToUploadMix" => "ミックスをアップロードするにはログインする必要があります。",
|
||||||
|
"verificationCodeRequired" => "確認コードが必要です。",
|
||||||
|
"recordedDate" => "録音日",
|
||||||
|
"noUploadedFileFound" => "アップロードされたファイルが見つかりません。ミックスファイルをアップロードしてください。",
|
||||||
|
"mixTitleRequired" => "ミックスタイトルは必須です。",
|
||||||
|
"errorUploadCDN" => "CDNへのファイルのアップロード中にエラーが発生しました: ",
|
||||||
|
"errorSavingMixDB" => "ミックスをデータベースに保存中にエラーが発生しました。",
|
||||||
|
"uploadedPendingApproval" => "ミックスは正常にアップロードされ、承認待ちです。",
|
||||||
|
"uploadHeader1" => "ユタ州のDJへのミックスをアップロードする",
|
||||||
|
"uploadAlertHeader" => "重要なアップロード情報",
|
||||||
|
"uploadAlert1" => "ユタ州のDJは、ユタ州のEDM DJの歴史と文化を保存することを目的とした主にアーカイブプロジェクトです。あなたのアップロードはこの歴史的記録に貢献します。",
|
||||||
|
"uploadHeader2" => "アップロードする前に",
|
||||||
|
"uploadAlert2" => "関与するすべてのDJが私たちのデータベースにリストされていることを確認してください。DJがリストされていない場合は、アップロードする前に追加され、承認されなければなりません。",
|
||||||
|
"uploadAlert3" => "ミックスに適切なジャンルが利用可能であることを確認してください。新しいジャンルは使用する前に承認が必要です。",
|
||||||
|
"uploadAlert4" => "新しいDJやジャンルのリクエストをプロフィール設定を通じて送信できます。",
|
||||||
|
"uploadProcess" => "アップロードプロセス",
|
||||||
|
"uploadProcess1" => "ミックスファイルをアップロード(MP3またはZIP形式)",
|
||||||
|
"uploadProcess2" => "タイトル、説明、録音日を含むミックスの詳細を入力",
|
||||||
|
"uploadProcess3" => "関連するジャンルとDJを選択",
|
||||||
|
"uploadProcess4" => "レビューのために提出",
|
||||||
|
"uploadAMix" => "ミックスをアップロード",
|
||||||
|
"uploadSelectMix" => "ミックスファイルを選択(MP3またはZIP)",
|
||||||
|
"uploadMaxFileSize" => "最大ファイルサイズ:500MB",
|
||||||
|
"uploadFile" => "ファイルをアップロード",
|
||||||
|
"uploadSelectGenres" => "ジャンルを選択(検索するには入力)",
|
||||||
|
"uploadSelectDJSMax3" => "DJを選択(最大<b>3</b>名)",
|
||||||
|
"uploadSubmitMix" => "ミックスを提出",
|
||||||
|
"uploadSelectDJ1" => "DJ<b>1</b>を選択",
|
||||||
|
"uploadSelectDJ2" => "DJ<b>2</b>を選択(任意)",
|
||||||
|
"uploadSelectDJ3" => "DJ<b>3</b>を選択(任意)",
|
||||||
|
"userAlreadyExists" => "ユーザーはすでに存在します。",
|
||||||
|
"allFieldsRequired" => "すべてのフィールドは必須です。",
|
||||||
|
"passwordsDoNotMatch" => "パスワードが一致しません。",
|
||||||
|
"invalidEmail" => "無効なメール形式。",
|
||||||
|
"invalidUsername" => "無効なユーザー名形式。",
|
||||||
|
"verifyEmailAddress" => "メールアドレスを確認してください",
|
||||||
|
"registerThankYou" => "登録ありがとうございます ",
|
||||||
|
"registerVerifyEmail" => "以下のリンクをクリックするか、プロフィールに確認コードを入力することで、メールアドレスを確認してください:",
|
||||||
|
"registerVerifyCodeIs" => "あなたの確認コードは: ",
|
||||||
|
"registerVerifyTimeout" => "このコードは<b>15</b>分で期限切れになります。",
|
||||||
|
"password" => "パスワード",
|
||||||
|
"rememberMe" => "ログインを記憶する",
|
||||||
|
"forgotPassword" => "パスワードを忘れた",
|
||||||
|
"dontHaveAccount" => "アカウントをお持ちですか?",
|
||||||
|
"signUp" => "サインアップ",
|
||||||
|
"passwordResetSent" => "メールがシステムに存在する場合は、パスワードリセットリンクが送信されました。",
|
||||||
|
"passwordResetRequested" => "パスワードをリセットするリクエストをしました。パスワードをリセットするには、以下のリンクをクリックしてください:",
|
||||||
|
"passwordResetUnrequested" => "これをリクエストしていない場合は、このメールを無視してください。このリンクは<b>15</b>分で期限切れになります。",
|
||||||
|
"emailaddressEnter" => "あなたのメールアドレスを入力してください",
|
||||||
|
"messageSentSuccess" => "メッセージを正常に送信しました。",
|
||||||
|
"messageSentError" => "メッセージを送信中にエラーが発生しました。",
|
||||||
|
"contactUs2" => "ご連絡いただければ幸いです。メッセージを送っていただければ、できるだけ早くご返信いたします。",
|
||||||
|
"messageSendUs" => "メッセージを送信する",
|
||||||
|
"messageSend" => "メッセージを送信",
|
||||||
|
"passwordReset" => "パスワードをリセット",
|
||||||
|
"enterYourUsername" => "ユーザー名を入力してください",
|
||||||
|
"newPassword" => "新しいパスワード",
|
||||||
|
"confirmPassword" => "新しいパスワードの確認",
|
||||||
|
"passwordResetSuccess" => "パスワードが正常にリセットされました。新しいパスワードでログインしてください。",
|
||||||
|
"enterEmailAddressPlease" => "メールアドレスを入力してください。",
|
||||||
|
"emailInvalid" => "無効なメール形式。",
|
||||||
|
"passwordMismatch" => "パスワードが一致しません。",
|
||||||
|
"passwordRequirements" => "パスワードは<b>8</b>文字以上で、大文字と小文字、数字を含む必要があります。",
|
||||||
|
"resetExpiredInvalid" => "無効または期限切れのパスワードリセットコード。",
|
||||||
|
"resetExpired" => "パスワードリセットコードの期限が切れました。",
|
||||||
|
"codeCredsInvalid" => "無効な認証情報または確認コード。",
|
||||||
|
"change" => "変更",
|
||||||
|
"changePicture" => "画像を変更",
|
||||||
|
"verify" => "確認",
|
||||||
|
"createdUsing" => "使用して作成しました",
|
||||||
|
"djmixhostingsoftware" => "DJミックスホスティングソフトウェア",
|
||||||
|
"privacyPolicy" => "プライバシーポリシー",
|
||||||
|
"termsAndConditions" => "利用規約",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => '우리 웹사이트에 오신 것을 환영합니다!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => '영어로 된 설명입니다.',
|
||||||
'desc' => 'Description',
|
'desc' => '설명',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "사용자 프로필",
|
||||||
'user' => 'User',
|
'user' => '사용자',
|
||||||
'home' => 'Home',
|
'home' => '홈',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'DJ 이름',
|
||||||
'email' => 'Email',
|
'email' => '이메일',
|
||||||
'location' => 'Location',
|
'location' => '위치',
|
||||||
'bio' => 'Bio',
|
'bio' => '소개',
|
||||||
'submit' => 'Submit',
|
'submit' => '제출',
|
||||||
'login' => 'Login',
|
'login' => '로그인',
|
||||||
'message' => 'Message',
|
'message' => '메시지',
|
||||||
'follow' => 'Follow',
|
'follow' => '팔로우',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ들',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "DJ를 로드할 수 없습니다. DJ를 찾을 수 없거나 이 DJ는 개인 설정입니다.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "페이지를 찾을 수 없습니다.",
|
||||||
"genre" => "Genre",
|
"genre" => "장르",
|
||||||
"genres" => "Genres",
|
"genres" => "장르들",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "장르를 로드할 수 없습니다. 장르를 찾을 수 없거나 비어 있거나 이 장르는 개인 설정입니다.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "믹스 수",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "믹스",
|
||||||
"mix" => "Mix",
|
"mix" => "믹스",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "믹스를 로드할 수 없습니다. 믹스를 찾을 수 없거나 비어 있거나 이 믹스는 개인 설정입니다.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "믹스쇼를 로드할 수 없습니다. 믹스쇼를 찾을 수 없거나 비어 있거나 이 믹스쇼는 개인 설정입니다.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "믹스 이름",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "믹스 설명",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "믹스 길이",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "믹스 장르",
|
||||||
"view" => "View",
|
"view" => "보기",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "믹스 이름",
|
||||||
"search" => "Search",
|
"search" => "검색",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "검색 결과",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "에 대한 검색 결과",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "검색 결과가 발견되었습니다.",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "트랙리스트",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "마지막 업데이트",
|
||||||
"duration" => "Duration",
|
"duration" => "재생 시간",
|
||||||
"hour" => "hour",
|
"hour" => "시간",
|
||||||
"hours" => "hours",
|
"hours" => "시간",
|
||||||
"minute" => "minute",
|
"minute" => "분",
|
||||||
"minutes" => "minutes",
|
"minutes" => "분",
|
||||||
"second" => "second",
|
"second" => "초",
|
||||||
"seconds" => "seconds",
|
"seconds" => "초",
|
||||||
"by" => "by",
|
"by" => "by",
|
||||||
"added" => "Added",
|
"added" => "추가됨",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "녹음됨",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "당신의 브라우저는 오디오 요소를 지원하지 않습니다.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "다운로드",
|
||||||
"download" => "Download",
|
"download" => "다운로드",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "믹스 다운로드",
|
||||||
"plays" => "Plays",
|
"plays" => "재생 횟수",
|
||||||
"play" => "Play",
|
"play" => "재생",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "문의하기",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "모든 권리 보유.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "믹스쇼",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "믹스쇼",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "믹스쇼 이름",
|
||||||
"share" => "Share",
|
"share" => "공유",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "이 믹스를 공유하세요",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "이 믹스쇼를 공유하세요",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "연도",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "X(구 트위터)로 공유하기",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "페이스북으로 공유하기",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "인스타그램으로 공유하기",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "URL 복사",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL이 클립보드에 복사되었습니다.",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "URL 복사에 실패했습니다.",
|
||||||
"name" => "Name",
|
"name" => "이름",
|
||||||
"username" => "Username",
|
"username" => "사용자 이름",
|
||||||
"logout" => "Logout",
|
"logout" => "로그아웃",
|
||||||
"upload" => "Upload",
|
"upload" => "업로드",
|
||||||
|
"loginToVerifyEmail" => "이메일을 확인하려면 로그인해야 합니다.",
|
||||||
|
"loginToUploadMix" => "믹스를 업로드하려면 로그인해야 합니다.",
|
||||||
|
"verificationCodeRequired" => "인증 코드가 필요합니다.",
|
||||||
|
"recordedDate" => "녹음 날짜",
|
||||||
|
"noUploadedFileFound" => "업로드된 파일이 없습니다. 믹스 파일을 업로드하세요.",
|
||||||
|
"mixTitleRequired" => "믹스 제목은 필수입니다.",
|
||||||
|
"errorUploadCDN" => "CDN에 파일 업로드 중 오류 발생: ",
|
||||||
|
"errorSavingMixDB" => "믹스를 데이터베이스에 저장하는 중 오류가 발생했습니다.",
|
||||||
|
"uploadedPendingApproval" => "믹스가 성공적으로 업로드되었으며 승인 대기 중입니다.",
|
||||||
|
"uploadHeader1" => "유타의 DJ에게 믹스를 업로드하세요",
|
||||||
|
"uploadAlertHeader" => "중요한 업로드 정보",
|
||||||
|
"uploadAlert1" => "유타의 DJ는 주로 유타의 EDM DJ의 역사와 문화를 보존하는 아카이브 프로젝트입니다. 귀하의 업로드는 이 역사적 기록에 기여합니다.",
|
||||||
|
"uploadHeader2" => "업로드 전에",
|
||||||
|
"uploadAlert2" => "모든 관련 DJ가 우리의 데이터베이스에 나열되어 있는지 확인하세요. DJ가 나열되어 있지 않은 경우, 업로드 전에 추가되고 승인되어야 합니다.",
|
||||||
|
"uploadAlert3" => "믹스를 위한 적절한 장르가 제공되는지 확인하세요. 새로운 장르는 사용하기 전에 승인이 필요합니다.",
|
||||||
|
"uploadAlert4" => "프로필 설정을 통해 새로운 DJ 또는 장르 요청을 제출할 수 있습니다.",
|
||||||
|
"uploadProcess" => "업로드 절차",
|
||||||
|
"uploadProcess1" => "믹스 파일을 업로드하세요 (MP3 또는 ZIP 형식)",
|
||||||
|
"uploadProcess2" => "믹스 세부정보를 입력하세요. 제목, 설명 및 녹음 날짜 포함",
|
||||||
|
"uploadProcess3" => "관련 장르 및 DJ 선택",
|
||||||
|
"uploadProcess4" => "검토를 위해 제출",
|
||||||
|
"uploadAMix" => "믹스 업로드",
|
||||||
|
"uploadSelectMix" => "믹스 파일 선택 (MP3 또는 ZIP)",
|
||||||
|
"uploadMaxFileSize" => "최대 파일 크기: 500MB",
|
||||||
|
"uploadFile" => "파일 업로드",
|
||||||
|
"uploadSelectGenres" => "장르 선택 (검색하여 입력)",
|
||||||
|
"uploadSelectDJSMax3" => "DJ 선택 (최대 <b>3</b>명)",
|
||||||
|
"uploadSubmitMix" => "믹스 제출",
|
||||||
|
"uploadSelectDJ1" => "DJ 1 선택",
|
||||||
|
"uploadSelectDJ2" => "DJ 2 선택 (선택 사항)",
|
||||||
|
"uploadSelectDJ3" => "DJ 3 선택 (선택 사항)",
|
||||||
|
"userAlreadyExists" => "사용자가 이미 존재합니다.",
|
||||||
|
"allFieldsRequired" => "모든 필드는 필수입니다.",
|
||||||
|
"passwordsDoNotMatch" => "비밀번호가 일치하지 않습니다.",
|
||||||
|
"invalidEmail" => "유효하지 않은 이메일 형식입니다.",
|
||||||
|
"invalidUsername" => "유효하지 않은 사용자 이름 형식입니다.",
|
||||||
|
"verifyEmailAddress" => "이메일 주소 확인",
|
||||||
|
"registerThankYou" => "등록해 주셔서 감사합니다.",
|
||||||
|
"registerVerifyEmail" => "아래 링크를 클릭하거나 프로필에 인증 코드를 입력하여 이메일 주소를 확인하세요:",
|
||||||
|
"registerVerifyCodeIs" => "귀하의 인증 코드는: ",
|
||||||
|
"registerVerifyTimeout" => "이 코드는 <b>15</b>분 후에 만료됩니다.",
|
||||||
|
"password" => "비밀번호",
|
||||||
|
"rememberMe" => "로그인 상태 유지",
|
||||||
|
"forgotPassword" => "비밀번호를 잊으셨나요?",
|
||||||
|
"dontHaveAccount" => "계정이 없으신가요?",
|
||||||
|
"signUp" => "가입하기",
|
||||||
|
"passwordResetSent" => "이메일이 시스템에 존재하면 비밀번호 재설정 링크가 전송되었습니다.",
|
||||||
|
"passwordResetRequested" => "비밀번호 재설정을 요청하셨습니다. 비밀번호를 재설정하려면 아래 링크를 클릭하세요:",
|
||||||
|
"passwordResetUnrequested" => "이 요청을 하지 않으셨다면 이 이메일을 무시하세요. 이 링크는 <b>15</b>분 후에 만료됩니다.",
|
||||||
|
"emailaddressEnter" => "이메일 주소를 입력하세요.",
|
||||||
|
"messageSentSuccess" => "메시지가 성공적으로 전송되었습니다.",
|
||||||
|
"messageSentError" => "메시지를 전송하는 중 오류가 발생했습니다.",
|
||||||
|
"contactUs2" => "여러분의 의견을 듣고 싶습니다. 메시지를 보내주시면 최대한 빨리 답변해드리겠습니다.",
|
||||||
|
"messageSendUs" => "메시지를 보내주세요.",
|
||||||
|
"messageSend" => "메시지 보내기",
|
||||||
|
"passwordReset" => "비밀번호 재설정",
|
||||||
|
"enterYourUsername" => "사용자 이름을 입력하세요.",
|
||||||
|
"newPassword" => "새 비밀번호",
|
||||||
|
"confirmPassword" => "새 비밀번호 확인",
|
||||||
|
"passwordResetSuccess" => "비밀번호가 성공적으로 재설정되었습니다. 새 비밀번호로 로그인하세요.",
|
||||||
|
"enterEmailAddressPlease" => "이메일 주소를 입력하세요.",
|
||||||
|
"emailInvalid" => "유효하지 않은 이메일 형식입니다.",
|
||||||
|
"passwordMismatch" => "비밀번호가 일치하지 않습니다.",
|
||||||
|
"passwordRequirements" => "비밀번호는 최소 <b>8</b>자 이상이어야 하며, 대문자와 소문자, 숫자를 포함해야 합니다.",
|
||||||
|
"resetExpiredInvalid" => "유효하지 않거나 만료된 비밀번호 재설정 코드입니다.",
|
||||||
|
"resetExpired" => "비밀번호 재설정 코드가 만료되었습니다.",
|
||||||
|
"codeCredsInvalid" => "유효하지 않은 자격 증명 또는 인증 코드입니다.",
|
||||||
|
"change" => "변경",
|
||||||
|
"changePicture" => "사진 변경",
|
||||||
|
"verify" => "확인",
|
||||||
|
"createdUsing" => "사용하여 생성됨",
|
||||||
|
"djmixhostingsoftware" => "DJ 믹스 호스팅 소프트웨어",
|
||||||
|
"privacyPolicy" => "개인정보 보호정책",
|
||||||
|
"termsAndConditions" => "약관",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,45 +1,45 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welkom op onze Website!',
|
'welcome' => 'Welkom op onze website!',
|
||||||
'description' => 'Dit is een beschrijving in het Engels.',
|
'description' => 'Dit is een beschrijving in het Engels.',
|
||||||
'desc' => 'Beschrijving',
|
'desc' => 'Beschrijving',
|
||||||
'userProfile' => "Gebruikers Profiel",
|
'userProfile' => "Gebruik Profiel",
|
||||||
'user' => 'Gebruiker',
|
'user' => 'Gebruiker',
|
||||||
'home' => 'Startpagina',
|
'home' => 'Start',
|
||||||
'djName' => 'DJ Naam',
|
'djName' => 'DJ Naam',
|
||||||
'email' => 'E-mailadres',
|
'email' => 'E-mail',
|
||||||
'location' => 'Locatie',
|
'location' => 'Locatie',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografie',
|
||||||
'submit' => 'Bevestigen',
|
'submit' => 'Verzend',
|
||||||
'login' => 'Aanmelden',
|
'login' => 'Inloggen',
|
||||||
'message' => 'bericht',
|
'message' => 'Bericht',
|
||||||
'follow' => 'Volgen',
|
'follow' => 'Volgen',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ\'s',
|
||||||
"djNotFound" => "Kan de DJ niet laden; ofwel de DJ is niet gevonden of deze DJ is privé.",
|
"djNotFound" => "Kon DJ niet laden; hetzij de DJ is niet gevonden of deze DJ is privé.",
|
||||||
"notfound" => "Pagina niet gevonden",
|
"notfound" => "Pagina niet gevonden",
|
||||||
"genre" => "genre",
|
"genre" => "Genre",
|
||||||
"genres" => "Genres",
|
"genres" => "Genres",
|
||||||
"genreNotFound" => "Kon geen genre laden; of het genre is niet gevonden, was leeg, of dit genre is privé.",
|
"genreNotFound" => "Kon genre niet laden; hetzij het genre is niet gevonden, was leeg, of dit genre is privé.",
|
||||||
"mix-count" => "Aantal Mix",
|
"mix-count" => "Mix Aantal",
|
||||||
"mixes" => "Mixen",
|
"mixes" => "Mixen",
|
||||||
"mix" => "Mengen",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Kon mixen niet laden; of de mix is niet gevonden, was leeg, of deze mix is privé.",
|
"mixNotFound" => "Kon mix niet laden; hetzij de mix is niet gevonden, was leeg, of deze mix is privé.",
|
||||||
"mixshowNotFound" => "Kon mixshow niet laden; of de mixshow is niet gevonden, was leeg, of deze mixshow is privé.",
|
"mixshowNotFound" => "Kon mixshow niet laden; hetzij de mixshow is niet gevonden, was leeg, of deze mixshow is privé.",
|
||||||
"mixName" => "Mix Naam",
|
"mixName" => "Mix Naam",
|
||||||
"mixDescription" => "Beschrijving mixen",
|
"mixDescription" => "Mix Beschrijving",
|
||||||
"mixLength" => "Mix Lengte",
|
"mixLength" => "Mix Lengte",
|
||||||
"mixGenre" => "Mix genre",
|
"mixGenre" => "Mix Genre",
|
||||||
"view" => "Bekijken",
|
"view" => "Bekijk",
|
||||||
"mixname" => "Mix Naam",
|
"mixname" => "Mix Naam",
|
||||||
"search" => "Zoeken",
|
"search" => "Zoeken",
|
||||||
"searchResults" => "Zoekresultaten",
|
"searchResults" => "Zoekresultaten",
|
||||||
"searchResultsFor" => "Zoekresultaten voor",
|
"searchResultsFor" => "Zoekresultaten voor",
|
||||||
"searchResultsFound" => "Zoekresultaten gevonden",
|
"searchResultsFound" => "Zoekresultaten Gevonden",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Tracklijst",
|
||||||
"lastupdated" => "Laatst bijgewerkt",
|
"lastupdated" => "Laatst Bijgewerkt",
|
||||||
"duration" => "Duur",
|
"duration" => "Duur",
|
||||||
"hour" => "uur",
|
"hour" => "uur",
|
||||||
"hours" => "Uren",
|
"hours" => "uren",
|
||||||
"minute" => "minuut",
|
"minute" => "minuut",
|
||||||
"minutes" => "minuten",
|
"minutes" => "minuten",
|
||||||
"second" => "seconde",
|
"second" => "seconde",
|
||||||
|
@ -48,29 +48,108 @@ return [
|
||||||
"added" => "Toegevoegd",
|
"added" => "Toegevoegd",
|
||||||
"recorded" => "Opgenomen",
|
"recorded" => "Opgenomen",
|
||||||
"audioNotSupported" => "Uw browser ondersteunt het audio-element niet.",
|
"audioNotSupported" => "Uw browser ondersteunt het audio-element niet.",
|
||||||
"downloads" => "downloads",
|
"downloads" => "Downloads",
|
||||||
"download" => "downloaden",
|
"download" => "Download",
|
||||||
"downloadMix" => "Download mixen",
|
"downloadMix" => "Download Mix",
|
||||||
"plays" => "Speelt",
|
"plays" => "Afspelen",
|
||||||
"play" => "Afspelen",
|
"play" => "Afspelen",
|
||||||
"contactus" => "Contacteer ons",
|
"contactus" => "Neem contact met ons op",
|
||||||
"allrightsreserved" => "Alle rechten voorbehouden.format@@0",
|
"allrightsreserved" => "Alle rechten voorbehouden.",
|
||||||
"mixshows" => "Mixseries",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mixshow Naam",
|
"mixshowName" => "Mixshow Naam",
|
||||||
"share" => "Delen",
|
"share" => "Deel",
|
||||||
"sahrethismix" => "Deel deze mix",
|
"sahrethismix" => "Deel deze mix",
|
||||||
"sharethismixshow" => "Deel deze mixshow",
|
"sharethismixshow" => "Deel deze mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "jaar",
|
"year" => "Jaar",
|
||||||
"sharetotwitter" => "Deel met X (voorheen Twitter)",
|
"sharetotwitter" => "Deel naar X (voorheen Twitter)",
|
||||||
"sharetofb" => "Delen op Facebook",
|
"sharetofb" => "Deel naar Facebook",
|
||||||
"sharetoig" => "Delen op Instagram",
|
"sharetoig" => "Deel naar Instagram",
|
||||||
"copyurl" => "URL kopiëren",
|
"copyurl" => "Kopieer URL",
|
||||||
"urlcopiedtoclipboard" => "URL gekopieerd naar klembord",
|
"urlcopiedtoclipboard" => "URL gekopieerd naar klembord",
|
||||||
"failedtocopyurl" => "Kopiëren van URL mislukt",
|
"failedtocopyurl" => "Kopiëren van URL is mislukt",
|
||||||
"name" => "naam",
|
"name" => "Naam",
|
||||||
"username" => "Gebruikersnaam",
|
"username" => "Gebruikersnaam",
|
||||||
"logout" => "Afmelden",
|
"logout" => "Uitloggen",
|
||||||
"upload" => "Uploaden",
|
"upload" => "Uploaden",
|
||||||
|
"loginToVerifyEmail" => "U moet ingelogd zijn om uw e-mail te verifiëren.",
|
||||||
|
"loginToUploadMix" => "U moet ingelogd zijn om een mix te uploaden.",
|
||||||
|
"verificationCodeRequired" => "Verificatiecode is vereist.",
|
||||||
|
"recordedDate" => "Opnamedatum",
|
||||||
|
"noUploadedFileFound" => "Geen geüpload bestand gevonden. Upload alstublieft een mixbestand.",
|
||||||
|
"mixTitleRequired" => "Mix titel is vereist.",
|
||||||
|
"errorUploadCDN" => "Fout bij het uploaden van bestand naar CDN: ",
|
||||||
|
"errorSavingMixDB" => "Fout bij het opslaan van mix in de database.",
|
||||||
|
"uploadedPendingApproval" => "Mix succesvol geüpload en wacht op goedkeuring.",
|
||||||
|
"uploadHeader1" => "Upload uw mix naar Utah's DJ's",
|
||||||
|
"uploadAlertHeader" => "Belangrijke Uploadinformatie",
|
||||||
|
"uploadAlert1" => "Utah's DJ's is voornamelijk een archiveringsproject dat is gewijd aan het behoud van de geschiedenis en cultuur van EDM DJ's in Utah. Uw uploads dragen bij aan dit historische record.",
|
||||||
|
"uploadHeader2" => "Voordat u uploadt",
|
||||||
|
"uploadAlert2" => "Verifieer of alle betrokken DJ's in onze database zijn vermeld. Als een DJ niet is vermeld, moeten ze worden toegevoegd en goedgekeurd voordat ze kunnen worden geüpload.",
|
||||||
|
"uploadAlert3" => "Controleer of de relevante genres beschikbaar zijn voor uw mix. Nieuwe genres vereisen goedkeuring voordat ze kunnen worden gebruikt.",
|
||||||
|
"uploadAlert4" => "U kunt nieuwe DJ- of genreverzoeken indienen via uw profielinstellingen.",
|
||||||
|
"uploadProcess" => "Uploadproces",
|
||||||
|
"uploadProcess1" => "Upload uw mixbestand (MP3 of ZIP-formaat)",
|
||||||
|
"uploadProcess2" => "Voer mixdetails in, inclusief titel, beschrijving en opnamedatum",
|
||||||
|
"uploadProcess3" => "Selecteer relevante genres en DJ's",
|
||||||
|
"uploadProcess4" => "Dien in voor beoordeling",
|
||||||
|
"uploadAMix" => "Upload een Mix",
|
||||||
|
"uploadSelectMix" => "Selecteer Mix Bestand (MP3 of ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maximale bestandsgrootte: 500MB",
|
||||||
|
"uploadFile" => "Upload Bestand",
|
||||||
|
"uploadSelectGenres" => "Selecteer Genres (typ om te zoeken)",
|
||||||
|
"uploadSelectDJSMax3" => "Selecteer DJ's (Maximaal 3)",
|
||||||
|
"uploadSubmitMix" => "Dien Mix in",
|
||||||
|
"uploadSelectDJ1" => "Selecteer DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Selecteer DJ 2 (optioneel)",
|
||||||
|
"uploadSelectDJ3" => "Selecteer DJ 3 (optioneel)",
|
||||||
|
"userAlreadyExists" => "Gebruiker bestaat al.",
|
||||||
|
"allFieldsRequired" => "Alle velden zijn vereisten.",
|
||||||
|
"passwordsDoNotMatch" => "Wachtwoorden komen niet overeen.",
|
||||||
|
"invalidEmail" => "Ongeldig e-mailformaat.",
|
||||||
|
"invalidUsername" => "Ongeldig gebruikersnaamformaat.",
|
||||||
|
"verifyEmailAddress" => "Verifieer uw e-mailadres",
|
||||||
|
"registerThankYou" => "Bedankt voor het registreren op ",
|
||||||
|
"registerVerifyEmail" => "Verifieer alstublieft uw e-mailadres door op de onderstaande link te klikken of de verificatiecode in uw profiel in te voeren:",
|
||||||
|
"registerVerifyCodeIs" => "Uw verificatiecode is: ",
|
||||||
|
"registerVerifyTimeout" => "Deze code verloopt over 15 minuten.",
|
||||||
|
"password" => "Wachtwoord",
|
||||||
|
"rememberMe" => "Onthoud me",
|
||||||
|
"forgotPassword" => "Wachtwoord vergeten",
|
||||||
|
"dontHaveAccount" => "Heeft u geen account?",
|
||||||
|
"signUp" => "Aanmelden",
|
||||||
|
"passwordResetSent" => "Als de e-mail in ons systeem bestaat, is er een link voor het opnieuw instellen van het wachtwoord verzonden.",
|
||||||
|
"passwordResetRequested" => "U heeft gevraagd om uw wachtwoord opnieuw in te stellen. Klik op de onderstaande link om uw wachtwoord opnieuw in te stellen:",
|
||||||
|
"passwordResetUnrequested" => "Als u dit niet hebt aangevraagd, kunt u deze e-mail negeren. Deze link verloopt over 15 minuten.",
|
||||||
|
"emailaddressEnter" => "Voer uw e-mailadres in",
|
||||||
|
"messageSentSuccess" => "Bericht succesvol verzonden.",
|
||||||
|
"messageSentError" => "Er was een fout opgetreden bij het verzenden van het bericht.",
|
||||||
|
"contactUs2" => "We horen graag van jou. Stuur ons een bericht en we reageren zo snel mogelijk.",
|
||||||
|
"messageSendUs" => "Stuur ons een bericht",
|
||||||
|
"messageSend" => "Bericht verzenden",
|
||||||
|
"passwordReset" => "Wachtwoord opnieuw instellen",
|
||||||
|
"enterYourUsername" => "Voer uw gebruikersnaam in",
|
||||||
|
"newPassword" => "Nieuw Wachtwoord",
|
||||||
|
"confirmPassword" => "Bevestig Nieuw Wachtwoord",
|
||||||
|
"passwordResetSuccess" => "Uw wachtwoord is succesvol opnieuw ingesteld. Log in met uw nieuwe wachtwoord.",
|
||||||
|
"enterEmailAddressPlease" => "Voer alstublieft uw e-mailadres in.",
|
||||||
|
"emailInvalid" => "Ongeldig e-mailformaat.",
|
||||||
|
"passwordMismatch" => "Wachtwoorden komen niet overeen.",
|
||||||
|
"passwordRequirements" => "Wachtwoord moet minimaal 8 tekens lang zijn en zowel hoofdletters als kleine letters, evenals een cijfer bevatten.",
|
||||||
|
"resetExpiredInvalid" => "Ongeldige of verlopen wachtwoord resetcode.",
|
||||||
|
"resetExpired" => "Wachtwoord resetcode is verlopen.",
|
||||||
|
"codeCredsInvalid" => "Ongeldige inloggegevens of verificatiecode.",
|
||||||
|
"change" => "Wijzig",
|
||||||
|
"changePicture" => "Wijzig Foto",
|
||||||
|
"verify" => "Verifiëren",
|
||||||
|
"createdUsing" => "Gemaakt met",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Hosting Software",
|
||||||
|
"privacyPolicy" => "Privacybeleid",
|
||||||
|
"termsAndConditions" => "Voorwaarden en bepalingen",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Velkommen til vår hjemmeside!',
|
'welcome' => 'Velkommen til vår nettside!',
|
||||||
'description' => 'Dette er en beskrivelse på engelsk.',
|
'description' => 'Dette er en beskrivelse på engelsk.',
|
||||||
'desc' => 'Beskrivelse',
|
'desc' => 'Beskrivelse',
|
||||||
'userProfile' => "Brukerprofil",
|
'userProfile' => "Brukerprofil",
|
||||||
'user' => 'Bruker',
|
'user' => 'Bruker',
|
||||||
'home' => 'Hjem',
|
'home' => 'Hjem',
|
||||||
'djName' => 'DJ Navn',
|
'djName' => 'DJ-navn',
|
||||||
'email' => 'E-post',
|
'email' => 'E-post',
|
||||||
'location' => 'Sted',
|
'location' => 'Sted',
|
||||||
'bio' => 'Biografi',
|
'bio' => 'Bio',
|
||||||
'submit' => 'Send',
|
'submit' => 'Send inn',
|
||||||
'login' => 'Innlogging',
|
'login' => 'Logg inn',
|
||||||
'message' => 'Melding',
|
'message' => 'Melding',
|
||||||
'follow' => 'Følg',
|
'follow' => 'Følg',
|
||||||
'djs' => 'DJ\'er',
|
'djs' => 'DJ-er',
|
||||||
"djNotFound" => "Kan ikke laste DJ; enten DJ var ikke funnet, eller denne DJ er privat.",
|
"djNotFound" => "Kunne ikke laste inn DJ; enten ble ikke DJ-en funnet, eller denne DJ-en er privat.",
|
||||||
"notfound" => "Siden ble ikke funnet",
|
"notfound" => "Siden ble ikke funnet",
|
||||||
"genre" => "Sjanger",
|
"genre" => "Sjanger",
|
||||||
"genres" => "Genres",
|
"genres" => "Sjanger",
|
||||||
"genreNotFound" => "Kan ikke laste sjanger; sjangeren ble ikke funnet, var tom, eller sjangeren er privat.",
|
"genreNotFound" => "Kunne ikke laste inn sjanger; enten ble ikke sjangeren funnet, var tom, eller denne sjangeren er privat.",
|
||||||
"mix-count" => "Antall blandinger",
|
"mix-count" => "Mix Antall",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Mikser",
|
||||||
"mix" => "Bland",
|
"mix" => "Blande",
|
||||||
"mixNotFound" => "Kunne ikke laste blanding, verken var blandingen tom, eller så var denne blandingen privat.",
|
"mixNotFound" => "Kunne ikke laste inn mix; enten ble ikke miksen funnet, var tom, eller denne miksen er privat.",
|
||||||
"mixshowNotFound" => "Kan ikke laste mixshow; verken ble ikke funnet, var tom, eller denne blandingen er privat.",
|
"mixshowNotFound" => "Kunne ikke laste inn mixshow; enten ble ikke mixshowet funnet, var tomt, eller dette mixshowet er privat.",
|
||||||
"mixName" => "Blandet navn",
|
"mixName" => "Mix-navn",
|
||||||
"mixDescription" => "Bland beskrivelse",
|
"mixDescription" => "Mixbeskrivelse",
|
||||||
"mixLength" => "Blandet lengde",
|
"mixLength" => "Mixlengde",
|
||||||
"mixGenre" => "Bland sjanger",
|
"mixGenre" => "Mixsjanger",
|
||||||
"view" => "Vis",
|
"view" => "Vis",
|
||||||
"mixname" => "Blandet navn",
|
"mixname" => "Mixnavn",
|
||||||
"search" => "Søk",
|
"search" => "Søk",
|
||||||
"searchResults" => "Resultat av søket",
|
"searchResults" => "Søkeresultater",
|
||||||
"searchResultsFor" => "Søkeresultater for",
|
"searchResultsFor" => "Søkeresultater for",
|
||||||
"searchResultsFound" => "Søkeresultater funnet",
|
"searchResultsFound" => "Søkeresultater funnet",
|
||||||
"tracklist" => "Turliste",
|
"tracklist" => "Låtliste",
|
||||||
"lastupdated" => "Sist oppdatert",
|
"lastupdated" => "Sist oppdatert",
|
||||||
"duration" => "Varighet",
|
"duration" => "Varighet",
|
||||||
"hour" => "time",
|
"hour" => "time",
|
||||||
|
@ -45,32 +45,111 @@ return [
|
||||||
"second" => "sekund",
|
"second" => "sekund",
|
||||||
"seconds" => "sekunder",
|
"seconds" => "sekunder",
|
||||||
"by" => "av",
|
"by" => "av",
|
||||||
"added" => "Lagt",
|
"added" => "Lagt til",
|
||||||
"recorded" => "Tømt",
|
"recorded" => "Registrert",
|
||||||
"audioNotSupported" => "Din nettleser støtter ikke lydelementet.",
|
"audioNotSupported" => "Nettleseren din støtter ikke audio-elementet.",
|
||||||
"downloads" => "Nedlastinger",
|
"downloads" => "Nedlastinger",
|
||||||
"download" => "Nedlasting",
|
"download" => "Last ned",
|
||||||
"downloadMix" => "Last ned Blanding",
|
"downloadMix" => "Last ned mix",
|
||||||
"plays" => "Spillforsøk",
|
"plays" => "Mikse",
|
||||||
"play" => "Spill",
|
"play" => "Spill",
|
||||||
"contactus" => "Kontakt oss",
|
"contactus" => "Kontakt oss",
|
||||||
"allrightsreserved" => "Med enerett.",
|
"allrightsreserved" => "Alle rettigheter reservert.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshow",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Blandeshow",
|
||||||
"mixshowName" => "Mixshow navn",
|
"mixshowName" => "Mixshow navn",
|
||||||
"share" => "Del",
|
"share" => "Del",
|
||||||
"sahrethismix" => "Del denne blandingen",
|
"sahrethismix" => "Del denne miksen",
|
||||||
"sharethismixshow" => "Del denne blandingen",
|
"sharethismixshow" => "Del dette mixshowet",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "År",
|
"year" => "År",
|
||||||
"sharetotwitter" => "Del til X (tidligere Twitter)",
|
"sharetotwitter" => "Del til X (tidligere Twitter)",
|
||||||
"sharetofb" => "Del på Facebook",
|
"sharetofb" => "Del til Facebook",
|
||||||
"sharetoig" => "Del på Instagram",
|
"sharetoig" => "Del til Instagram",
|
||||||
"copyurl" => "Kopier URL",
|
"copyurl" => "Kopier URL",
|
||||||
"urlcopiedtoclipboard" => "URL kopiert til utklippstavlen",
|
"urlcopiedtoclipboard" => "URL kopiert til utklippstavle",
|
||||||
"failedtocopyurl" => "Klarte ikke å kopiere URL",
|
"failedtocopyurl" => "Kunne ikke kopiere URL",
|
||||||
"name" => "Navn",
|
"name" => "Navn",
|
||||||
"username" => "Brukernavn",
|
"username" => "Brukernavn",
|
||||||
"logout" => "Logg",
|
"logout" => "Logg ut",
|
||||||
"upload" => "Last opp",
|
"upload" => "Last opp",
|
||||||
|
"loginToVerifyEmail" => "Du må være logget inn for å verifisere e-posten din.",
|
||||||
|
"loginToUploadMix" => "Du må være logget inn for å laste opp en mix.",
|
||||||
|
"verificationCodeRequired" => "Verifiseringskode er påkrevd.",
|
||||||
|
"recordedDate" => "Registrert dato",
|
||||||
|
"noUploadedFileFound" => "Ingen opplastet fil funnet. Vennligst last opp en mixfil.",
|
||||||
|
"mixTitleRequired" => "Mix-tittel er påkrevd.",
|
||||||
|
"errorUploadCDN" => "Feil ved opplasting av fil til CDN: ",
|
||||||
|
"errorSavingMixDB" => "Feil ved lagring av mix til databasen.",
|
||||||
|
"uploadedPendingApproval" => "Mix lastet opp suksessfullt og venter på godkjenning.",
|
||||||
|
"uploadHeader1" => "Last opp miksen din til Utahs DJ-er",
|
||||||
|
"uploadAlertHeader" => "Viktig opplastingsinformasjon",
|
||||||
|
"uploadAlert1" => "Utahs DJ-er er primært et arkivprosjekt dedikert til å bevare historien og kulturen til EDM DJ-er i Utah. Dine opplastninger bidrar til dette historiske opptegnelsen.",
|
||||||
|
"uploadHeader2" => "Før du laster opp",
|
||||||
|
"uploadAlert2" => "Verifiser at alle DJ-er som er involvert er oppført i databasen vår. Hvis en DJ ikke er oppført, må de legges til og godkjennes før opplasting.",
|
||||||
|
"uploadAlert3" => "Kontroller at passende sjangere er tilgjengelige for miksen din. Nye sjangere krever godkjenning før de kan brukes.",
|
||||||
|
"uploadAlert4" => "Du kan sende inn nye DJ- eller sjangerforespørsel gjennom profilinnstillingene dine.",
|
||||||
|
"uploadProcess" => "Opplastingsprosess",
|
||||||
|
"uploadProcess1" => "Last opp miksefilen din (MP3 eller ZIP format)",
|
||||||
|
"uploadProcess2" => "Legg inn detaljer om miksen, inkludert tittel, beskrivelse og opptaksdato",
|
||||||
|
"uploadProcess3" => "Velg relevante sjangere og DJ-er",
|
||||||
|
"uploadProcess4" => "Send inn for vurdering",
|
||||||
|
"uploadAMix" => "Last opp en Mix",
|
||||||
|
"uploadSelectMix" => "Velg Mix-fil (MP3 eller ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maksimal filstørrelse: 500MB",
|
||||||
|
"uploadFile" => "Last opp fil",
|
||||||
|
"uploadSelectGenres" => "Velg sjangere (skriv for å søke)",
|
||||||
|
"uploadSelectDJSMax3" => "Velg DJ-er (Maksimalt 3)",
|
||||||
|
"uploadSubmitMix" => "Send inn Mix",
|
||||||
|
"uploadSelectDJ1" => "Velg DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Velg DJ 2 (valgfritt)",
|
||||||
|
"uploadSelectDJ3" => "Velg DJ 3 (valgfritt)",
|
||||||
|
"userAlreadyExists" => "Bruker finnes allerede.",
|
||||||
|
"allFieldsRequired" => "Alle felt er påkrevd.",
|
||||||
|
"passwordsDoNotMatch" => "Passordene stemmer ikke overens.",
|
||||||
|
"invalidEmail" => "Ugyldig e-postformat.",
|
||||||
|
"invalidUsername" => "Ugyldig brukernavnsformat.",
|
||||||
|
"verifyEmailAddress" => "Verifiser e-postadressen din",
|
||||||
|
"registerThankYou" => "Takk for at du registrerte deg hos ",
|
||||||
|
"registerVerifyEmail" => "Vennligst verifiser e-postadressen din ved å klikke på lenken nedenfor eller ved å skrive inn verifiseringskoden i profilen din:",
|
||||||
|
"registerVerifyCodeIs" => "Din verifiseringskode er: ",
|
||||||
|
"registerVerifyTimeout" => "Denne koden vil utløpe om 15 minutter.",
|
||||||
|
"password" => "Passord",
|
||||||
|
"rememberMe" => "Husk meg",
|
||||||
|
"forgotPassword" => "Glemt passord",
|
||||||
|
"dontHaveAccount" => "Har du ikke en konto?",
|
||||||
|
"signUp" => "Registrer deg",
|
||||||
|
"passwordResetSent" => "Hvis e-posten finnes i systemet vårt, har en tilbakestillingslenke blitt sendt.",
|
||||||
|
"passwordResetRequested" => "Du har bedt om å tilbakestille passordet ditt. Vennligst klikk på lenken nedenfor for å tilbakestille passordet ditt:",
|
||||||
|
"passwordResetUnrequested" => "Hvis du ikke ba om dette, vennligst se bort fra denne e-posten. Denne lenken vil utløpe om 15 minutter.",
|
||||||
|
"emailaddressEnter" => "Skriv inn e-postadressen din",
|
||||||
|
"messageSentSuccess" => "Melding sendt.",
|
||||||
|
"messageSentError" => "En feil oppstod under sending av meldingen.",
|
||||||
|
"contactUs2" => "Vi vil gjerne høre fra deg. Send oss en melding, så vi vil svare så snart som mulig.",
|
||||||
|
"messageSendUs" => "Send oss en melding",
|
||||||
|
"messageSend" => "Send melding",
|
||||||
|
"passwordReset" => "Tilbakestill passord",
|
||||||
|
"enterYourUsername" => "Skriv inn brukernavnet ditt",
|
||||||
|
"newPassword" => "Nytt passord",
|
||||||
|
"confirmPassword" => "Bekreft nytt passord",
|
||||||
|
"passwordResetSuccess" => "Passordet ditt har blitt tilbakestilt. Vennligst logg inn med ditt nye passord.",
|
||||||
|
"enterEmailAddressPlease" => "Vennligst skriv inn e-postadressen din.",
|
||||||
|
"emailInvalid" => "Ugyldig e-postformat.",
|
||||||
|
"passwordMismatch" => "Passordene stemmer ikke overens.",
|
||||||
|
"passwordRequirements" => "Passordet må være minst 8 tegn langt og inkludere store og små bokstaver, samt et tall.",
|
||||||
|
"resetExpiredInvalid" => "Ugyldig eller utløpt kode for tilbakestilling av passord.",
|
||||||
|
"resetExpired" => "Koden for tilbakestilling av passord har utløpt.",
|
||||||
|
"codeCredsInvalid" => "Ugyldige legitimasjoner eller verifiseringskode.",
|
||||||
|
"change" => "Endre",
|
||||||
|
"changePicture" => "Endre bilde",
|
||||||
|
"verify" => "Verifiser",
|
||||||
|
"createdUsing" => "Opprettet med",
|
||||||
|
"djmixhostingsoftware" => "DJ Blande Vert programvare",
|
||||||
|
"privacyPolicy" => "Personvernerklæring",
|
||||||
|
"termsAndConditions" => "Vilkår og betingelser",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Witamy na naszej stronie internetowej!',
|
'welcome' => 'Witaj na naszej stronie!',
|
||||||
'description' => 'To jest opis w języku angielskim.',
|
'description' => 'To jest opis w języku angielskim.',
|
||||||
'desc' => 'Opis',
|
'desc' => 'Opis',
|
||||||
'userProfile' => "Profil użytkownika",
|
'userProfile' => "Profil Użytkownika",
|
||||||
'user' => 'Użytkownik',
|
'user' => 'Użytkownik',
|
||||||
'home' => 'Strona główna',
|
'home' => 'Strona główna',
|
||||||
'djName' => 'Nazwa DJ',
|
'djName' => 'Nazwa DJ-a',
|
||||||
'email' => 'E-mail',
|
'email' => 'Email',
|
||||||
'location' => 'Lokalizacja',
|
'location' => 'Lokalizacja',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografia',
|
||||||
'submit' => 'Prześlij',
|
'submit' => 'Prześlij',
|
||||||
'login' => 'Logowanie',
|
'login' => 'Zaloguj się',
|
||||||
'message' => 'Wiadomość',
|
'message' => 'Wiadomość',
|
||||||
'follow' => 'Śledź',
|
'follow' => 'Obserwuj',
|
||||||
'djs' => 'DJ-e',
|
'djs' => 'DJ-e',
|
||||||
"djNotFound" => "Nie można załadować DJ; DJ nie został znaleziony lub ten DJ jest prywatny.",
|
"djNotFound" => "Nie można załadować miksy; albo mieszanina nie została znaleziona, była pusta lub ta miksy jest prywatna.",
|
||||||
"notfound" => "Strona nie znaleziona",
|
"notfound" => "Strona nie znaleziona",
|
||||||
"genre" => "Gatunek",
|
"genre" => "Gatunek",
|
||||||
"genres" => "Gatunki",
|
"genres" => "Gatunki",
|
||||||
"genreNotFound" => "Nie można załadować gatunku; albo gatunek nie został znaleziony, był pusty lub ten gatunek jest prywatny.",
|
"genreNotFound" => "Nie można załadować gatunku; albo gatunek nie został znaleziony, był pusty, albo ten gatunek jest prywatny.",
|
||||||
"mix-count" => "Liczba mieszanek",
|
"mix-count" => "Liczba miksów",
|
||||||
"mixes" => "Mixy",
|
"mixes" => "Mixy",
|
||||||
"mix" => "Mieszanina",
|
"mix" => "Mixy",
|
||||||
"mixNotFound" => "Nie można załadować miksy; albo mieszanina nie została znaleziona, była pusta lub ta miksy jest prywatna.",
|
"mixNotFound" => "Nie można załadować miksy; albo mieszanina nie została znaleziona, była pusta lub ta miksy jest prywatna.",
|
||||||
"mixshowNotFound" => "Nie można załadować mixshow; albo mixshow nie został znaleziony, był pusty, albo mixshow jest prywatny.",
|
"mixshowNotFound" => "Nie można załadować mixshow; albo mixshow nie został znaleziony, był pusty, albo ten mixshow jest prywatny.",
|
||||||
"mixName" => "Nazwa mixu",
|
"mixName" => "Nazwa mixu",
|
||||||
"mixDescription" => "Opis mieszaniny",
|
"mixDescription" => "Opis mixu",
|
||||||
"mixLength" => "Długość mieszania",
|
"mixLength" => "Czas trwania mixu",
|
||||||
"mixGenre" => "Mieszać gatunek",
|
"mixGenre" => "Gatunek mixu",
|
||||||
"view" => "Widok",
|
"view" => "Zobacz",
|
||||||
"mixname" => "Nazwa mixu",
|
"mixname" => "Nazwa mixu",
|
||||||
"search" => "Szukaj",
|
"search" => "Szukaj",
|
||||||
"searchResults" => "Wyniki wyszukiwania",
|
"searchResults" => "Wyniki wyszukiwania",
|
||||||
"searchResultsFor" => "Wyniki wyszukiwania dla",
|
"searchResultsFor" => "Wyniki wyszukiwania dla",
|
||||||
"searchResultsFound" => "Znaleziono wyniki wyszukiwania",
|
"searchResultsFound" => "Znalezione wyniki wyszukiwania",
|
||||||
"tracklist" => "Lista ścieżek",
|
"tracklist" => "Lista utworów",
|
||||||
"lastupdated" => "Ostatnia aktualizacja",
|
"lastupdated" => "Ostatnia aktualizacja",
|
||||||
"duration" => "Czas trwania",
|
"duration" => "Czas trwania",
|
||||||
"hour" => "godzina",
|
"hour" => "godzina",
|
||||||
|
@ -46,31 +46,110 @@ return [
|
||||||
"seconds" => "sekundy",
|
"seconds" => "sekundy",
|
||||||
"by" => "przez",
|
"by" => "przez",
|
||||||
"added" => "Dodano",
|
"added" => "Dodano",
|
||||||
"recorded" => "Zapisane",
|
"recorded" => "Nagrane",
|
||||||
"audioNotSupported" => "Twoja przeglądarka nie obsługuje elementu audio.",
|
"audioNotSupported" => "Twoja przeglądarka nie obsługuje elementu audio.",
|
||||||
"downloads" => "Pobrania",
|
"downloads" => "Pobrania",
|
||||||
"download" => "Pobierz",
|
"download" => "Pobierz",
|
||||||
"downloadMix" => "Pobierz Mix",
|
"downloadMix" => "Pobierz mix",
|
||||||
"plays" => "Odtwarzaj",
|
"plays" => "Odtwarzania",
|
||||||
"play" => "Odtwórz",
|
"play" => "Odtwórz",
|
||||||
"contactus" => "Skontaktuj się z nami",
|
"contactus" => "Skontaktuj się z nami",
|
||||||
"allrightsreserved" => "Wszystkie prawa zastrzeżone.",
|
"allrightsreserved" => "Wszelkie prawa zastrzeżone.",
|
||||||
"mixshows" => "Mieszanki",
|
"mixshows" => "Mixshow",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Nazwa mixshow",
|
||||||
"mixshowName" => "Nazwa Mixshow",
|
"mixshowName" => "Nazwa mixshow",
|
||||||
"share" => "Udostępnij",
|
"share" => "Udostępnij",
|
||||||
"sahrethismix" => "Udostępnij ten koszyk",
|
"sahrethismix" => "Udostępnij ten mix",
|
||||||
"sharethismixshow" => "Udostępnij ten mixshow",
|
"sharethismixshow" => "Udostępnij ten mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "W związku z tym Komisja stwierdza, że środek 1 stanowi pomoc państwa w rozumieniu art. 107 ust. 1 Traktatu.",
|
"year" => "Rok",
|
||||||
"sharetotwitter" => "Udostępnij do X (dawniej Twitter)",
|
"sharetotwitter" => "Udostępnij na X (dawniej Twitter)",
|
||||||
"sharetofb" => "Udostępnij na Facebooku",
|
"sharetofb" => "Udostępnij na Facebooku",
|
||||||
"sharetoig" => "Udostępnij na Instagramie",
|
"sharetoig" => "Udostępnij na Instagramie",
|
||||||
"copyurl" => "Kopiuj adres URL",
|
"copyurl" => "Skopiuj URL",
|
||||||
"urlcopiedtoclipboard" => "Adres URL skopiowany do schowka",
|
"urlcopiedtoclipboard" => "URL skopiowany do schowka",
|
||||||
"failedtocopyurl" => "Nie udało się skopiować adresu URL",
|
"failedtocopyurl" => "Nie udało się skopiować URL",
|
||||||
"name" => "Nazwisko",
|
"name" => "Nazwa",
|
||||||
"username" => "Nazwa użytkownika",
|
"username" => "Nazwa użytkownika",
|
||||||
"logout" => "Wyloguj się",
|
"logout" => "Wyloguj się",
|
||||||
"upload" => "Prześlij",
|
"upload" => "Prześlij",
|
||||||
|
"loginToVerifyEmail" => "Musisz być zalogowany, aby zweryfikować swój email.",
|
||||||
|
"loginToUploadMix" => "Musisz być zalogowany, aby przesłać mix.",
|
||||||
|
"verificationCodeRequired" => "Kod weryfikacji jest wymagany.",
|
||||||
|
"recordedDate" => "Data nagrania",
|
||||||
|
"noUploadedFileFound" => "Nie znaleziono przesłanego pliku. Proszę przesłać plik mixu.",
|
||||||
|
"mixTitleRequired" => "Tytuł mixu jest wymagany.",
|
||||||
|
"errorUploadCDN" => "Błąd podczas przesyłania pliku do CDN: ",
|
||||||
|
"errorSavingMixDB" => "Błąd zapisywania mixu w bazie danych.",
|
||||||
|
"uploadedPendingApproval" => "Mix został pomyślnie przesłany i czeka na zatwierdzenie.",
|
||||||
|
"uploadHeader1" => "Prześlij swój mix do DJ-ów z Utah",
|
||||||
|
"uploadAlertHeader" => "Ważne informacje dotyczące przesyłania",
|
||||||
|
"uploadAlert1" => "DJ-e z Utah to przede wszystkim projekt archiwalny poświęcony zachowaniu historii i kultury DJ-ów EDM w Utah. Twoje przesyłki przyczyniają się do tego historycznego zapisu.",
|
||||||
|
"uploadHeader2" => "Przed przesłaniem",
|
||||||
|
"uploadAlert2" => "Sprawdź, czy wszyscy DJ-e zaangażowani są wymienieni w naszej bazie danych. Jeśli DJ nie jest wymieniony, musi zostać dodany i zatwierdzony przed przesłaniem.",
|
||||||
|
"uploadAlert3" => "Sprawdź, czy odpowiednie gatunki są dostępne dla Twojego mixu. Nowe gatunki wymagają zatwierdzenia przed ich użyciem.",
|
||||||
|
"uploadAlert4" => "Możesz zgłaszać nowe prośby o DJ-ów lub gatunki przez ustawienia swojego profilu.",
|
||||||
|
"uploadProcess" => "Proces przesyłania",
|
||||||
|
"uploadProcess1" => "Prześlij swój plik mixu (format MP3 lub ZIP)",
|
||||||
|
"uploadProcess2" => "Wprowadź szczegóły mixu, w tym tytuł, opis i datę nagrania",
|
||||||
|
"uploadProcess3" => "Wybierz odpowiednie gatunki i DJ-ów",
|
||||||
|
"uploadProcess4" => "Złóż do przeglądu",
|
||||||
|
"uploadAMix" => "Prześlij mix",
|
||||||
|
"uploadSelectMix" => "Wybierz plik mixu (MP3 lub ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maksymalny rozmiar pliku: <b>500</b> MB",
|
||||||
|
"uploadFile" => "Prześlij plik",
|
||||||
|
"uploadSelectGenres" => "Wybierz gatunki (wpisz, aby wyszukać)",
|
||||||
|
"uploadSelectDJSMax3" => "Wybierz DJ-a (maksymalnie 3)",
|
||||||
|
"uploadSubmitMix" => "Wyślij mix",
|
||||||
|
"uploadSelectDJ1" => "Wybierz DJ-a 1",
|
||||||
|
"uploadSelectDJ2" => "Wybierz DJ-a 2 (opcjonalnie)",
|
||||||
|
"uploadSelectDJ3" => "Wybierz DJ-a 3 (opcjonalnie)",
|
||||||
|
"userAlreadyExists" => "Użytkownik już istnieje.",
|
||||||
|
"allFieldsRequired" => "Wszystkie pola są wymagane.",
|
||||||
|
"passwordsDoNotMatch" => "Hasła nie pasują.",
|
||||||
|
"invalidEmail" => "Nieprawidłowy format email.",
|
||||||
|
"invalidUsername" => "Nieprawidłowy format nazwy użytkownika.",
|
||||||
|
"verifyEmailAddress" => "Zweryfikuj swój adres email",
|
||||||
|
"registerThankYou" => "Dziękujemy za zarejestrowanie się na ",
|
||||||
|
"registerVerifyEmail" => "Proszę zweryfikować swój adres email, klikając w poniższy link lub wpisując kod weryfikacyjny w swoim profilu:",
|
||||||
|
"registerVerifyCodeIs" => "Twój kod weryfikacyjny to: ",
|
||||||
|
"registerVerifyTimeout" => "Ten kod wygaśnie za 15 minut.",
|
||||||
|
"password" => "Hasło",
|
||||||
|
"rememberMe" => "Zapamiętaj mnie",
|
||||||
|
"forgotPassword" => "Nie pamiętasz hasła",
|
||||||
|
"dontHaveAccount" => "Nie masz konta?",
|
||||||
|
"signUp" => "Zarejestruj się",
|
||||||
|
"passwordResetSent" => "Jeśli email istnieje w naszym systemie, link do resetowania hasła został wysłany.",
|
||||||
|
"passwordResetRequested" => "Poprosiłeś o zresetowanie hasła. Proszę kliknij w poniższy link, aby zresetować swoje hasło:",
|
||||||
|
"passwordResetUnrequested" => "Jeśli nie żądałeś tego, zignoruj ten email. Ten link wygaśnie za 15 minut.",
|
||||||
|
"emailaddressEnter" => "Wpisz swój adres email",
|
||||||
|
"messageSentSuccess" => "Wiadomość wysłana pomyślnie.",
|
||||||
|
"messageSentError" => "Wystąpił błąd podczas wysyłania wiadomości.",
|
||||||
|
"contactUs2" => "Chcielibyśmy usłyszeć od Ciebie. Wyślij nam wiadomość, a my odpowiemy tak szybko, jak to możliwe.",
|
||||||
|
"messageSendUs" => "Wyślij nam wiadomość",
|
||||||
|
"messageSend" => "Wyślij wiadomość",
|
||||||
|
"passwordReset" => "Zresetuj hasło",
|
||||||
|
"enterYourUsername" => "Wpisz swoją nazwę użytkownika",
|
||||||
|
"newPassword" => "Nowe hasło",
|
||||||
|
"confirmPassword" => "Potwierdź nowe hasło",
|
||||||
|
"passwordResetSuccess" => "Twoje hasło zostało pomyślnie zresetowane. Proszę zalogować się za pomocą nowego hasła.",
|
||||||
|
"enterEmailAddressPlease" => "Proszę wpisać swój adres email.",
|
||||||
|
"emailInvalid" => "Nieprawidłowy format email.",
|
||||||
|
"passwordMismatch" => "Hasła nie pasują.",
|
||||||
|
"passwordRequirements" => "Hasło musi mieć co najmniej 8 znaków i zawierać wielkie i małe litery oraz cyfrę.",
|
||||||
|
"resetExpiredInvalid" => "Nieprawidłowy lub wygasły kod resetowania hasła.",
|
||||||
|
"resetExpired" => "Kod resetowania hasła wygasł.",
|
||||||
|
"codeCredsInvalid" => "Nieprawidłowe dane logowania lub kod weryfikacyjny.",
|
||||||
|
"change" => "Zmień",
|
||||||
|
"changePicture" => "Zmień zdjęcie",
|
||||||
|
"verify" => "Zweryfikuj",
|
||||||
|
"createdUsing" => "Utworzono przy użyciu",
|
||||||
|
"djmixhostingsoftware" => "Oprogramowanie do hostingu mixów DJ-skich",
|
||||||
|
"privacyPolicy" => "Polityka prywatności",
|
||||||
|
"termsAndConditions" => "Warunki",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -2,75 +2,154 @@
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Bem-vindo ao nosso site!',
|
'welcome' => 'Bem-vindo ao nosso site!',
|
||||||
'description' => 'Esta é uma descrição em inglês.',
|
'description' => 'Esta é uma descrição em inglês.',
|
||||||
'desc' => 'Descrição:',
|
'desc' => 'Descrição',
|
||||||
'userProfile' => "Informações do Perfil",
|
'userProfile' => "Perfil do Usuário",
|
||||||
'user' => 'Usuário',
|
'user' => 'Usuário',
|
||||||
'home' => 'Residencial',
|
'home' => 'Início',
|
||||||
'djName' => 'Nome do DJ',
|
'djName' => 'Nome do DJ',
|
||||||
'email' => 'e-mail',
|
'email' => 'Email',
|
||||||
'location' => 'Local:',
|
'location' => 'Localização',
|
||||||
'bio' => 'Biografia',
|
'bio' => 'Biografia',
|
||||||
'submit' => 'submeter',
|
'submit' => 'Enviar',
|
||||||
'login' => 'Conectar-se',
|
'login' => 'Login',
|
||||||
'message' => 'mensagem',
|
'message' => 'Mensagem',
|
||||||
'follow' => 'Seguir',
|
'follow' => 'Seguir',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "Não foi possível carregar DJ; ou o DJ não foi encontrado ou este DJ é privado.",
|
"djNotFound" => "Não foi possível carregar o DJ; ou o DJ não foi encontrado ou este DJ é privado.",
|
||||||
"notfound" => "Página não encontrada",
|
"notfound" => "Página não encontrada",
|
||||||
"genre" => "gênero",
|
"genre" => "Gênero",
|
||||||
"genres" => "Genres",
|
"genres" => "Gêneros",
|
||||||
"genreNotFound" => "Não foi possível carregar o gênero; ou o gênero não foi encontrado, estava vazio ou este gênero é privado.",
|
"genreNotFound" => "Não foi possível carregar o gênero; ou o gênero não foi encontrado, estava vazio ou este gênero é privado.",
|
||||||
"mix-count" => "Contador de misturas",
|
"mix-count" => "Contagem de Mix",
|
||||||
"mixes" => "Misturar",
|
"mixes" => "Mixes",
|
||||||
"mix" => "Mistura",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Não foi possível carregar o mix; ou a mistura não foi encontrada, estava vazia, ou esta mistura é privada.",
|
"mixNotFound" => "Não foi possível carregar a mixagem; ou a mixagem não foi encontrada, estava vazia ou esta mixagem é privada.",
|
||||||
"mixshowNotFound" => "Não foi possível carregar o mixshow; ou o mixshow não foi encontrado, estava vazio ou este mixshow é privado.",
|
"mixshowNotFound" => "Não foi possível carregar o mixshow; ou o mixshow não foi encontrado, estava vazio ou este mixshow é privado.",
|
||||||
"mixName" => "Nome do mix",
|
"mixName" => "Nome da Mix",
|
||||||
"mixDescription" => "Descrição Misto",
|
"mixDescription" => "Descrição da Mix",
|
||||||
"mixLength" => "Comprimento Misturado",
|
"mixLength" => "Duração da Mix",
|
||||||
"mixGenre" => "Gênero misto",
|
"mixGenre" => "Gênero da Mix",
|
||||||
"view" => "Visualizar",
|
"view" => "Ver",
|
||||||
"mixname" => "Nome do mix",
|
"mixname" => "Nome da Mix",
|
||||||
"search" => "Pesquisa",
|
"search" => "Pesquisar",
|
||||||
"searchResults" => "Resultados da Pesquisa",
|
"searchResults" => "Resultados da Pesquisa",
|
||||||
"searchResultsFor" => "Resultados da Pesquisa para",
|
"searchResultsFor" => "Resultados da Pesquisa para",
|
||||||
"searchResultsFound" => "Resultados da Pesquisa Encontrados",
|
"searchResultsFound" => "Resultados da Pesquisa Encontrados",
|
||||||
"tracklist" => "Acompanhamento",
|
"tracklist" => "Playlist",
|
||||||
"lastupdated" => "Última atualização",
|
"lastupdated" => "Última Atualização",
|
||||||
"duration" => "Duração",
|
"duration" => "Duração",
|
||||||
"hour" => "hora",
|
"hour" => "hora",
|
||||||
"hours" => "horas",
|
"hours" => "horas",
|
||||||
"minute" => "minuto",
|
"minute" => "minuto",
|
||||||
"minutes" => "Minutos",
|
"minutes" => "minutos",
|
||||||
"second" => "segundo",
|
"second" => "segundo",
|
||||||
"seconds" => "segundos",
|
"seconds" => "segundos",
|
||||||
"by" => "Por",
|
"by" => "por",
|
||||||
"added" => "Adicionado",
|
"added" => "Adicionado",
|
||||||
"recorded" => "Gravado",
|
"recorded" => "Gravado",
|
||||||
"audioNotSupported" => "Seu navegador não suporta o elemento de áudio.",
|
"audioNotSupported" => "Seu navegador não suporta o elemento de áudio.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Downloads",
|
||||||
"download" => "BAIXAR",
|
"download" => "Download",
|
||||||
"downloadMix" => "Baixar Mix",
|
"downloadMix" => "Baixar Mix",
|
||||||
"plays" => "Reproduções",
|
"plays" => "Reproduz",
|
||||||
"play" => "Reproduzir",
|
"play" => "Reproduzir",
|
||||||
"contactus" => "Entre em contato",
|
"contactus" => "Entre em Contato Conosco",
|
||||||
"allrightsreserved" => "Todos os direitos reservados.",
|
"allrightsreserved" => "Todos os direitos reservados.",
|
||||||
"mixshows" => "Misturas",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Nome do Mixshow",
|
"mixshowName" => "Nome do Mixshow",
|
||||||
"share" => "Compartilhar",
|
"share" => "Compartilhar",
|
||||||
"sahrethismix" => "Compartilhe esta mistura",
|
"sahrethismix" => "Compartilhar esta mixagem",
|
||||||
"sharethismixshow" => "Compartilhar este mixshow",
|
"sharethismixshow" => "Compartilhar este mixshow",
|
||||||
"rss" => "Resposta",
|
"rss" => "RSS",
|
||||||
"year" => "ano",
|
"year" => "Ano",
|
||||||
"sharetotwitter" => "Compartilhar para X (antigo Twitter)",
|
"sharetotwitter" => "Compartilhar no X (anteriormente Twitter)",
|
||||||
"sharetofb" => "Compartilhar no Facebook",
|
"sharetofb" => "Compartilhar no Facebook",
|
||||||
"sharetoig" => "Compartilhar com o Instagram",
|
"sharetoig" => "Compartilhar no Instagram",
|
||||||
"copyurl" => "Copiar URL",
|
"copyurl" => "Copiar URL",
|
||||||
"urlcopiedtoclipboard" => "URL copiado para área de transferência",
|
"urlcopiedtoclipboard" => "URL copiada para a área de transferência",
|
||||||
"failedtocopyurl" => "Falha ao copiar URL",
|
"failedtocopyurl" => "Falha ao copiar a URL",
|
||||||
"name" => "Nome:",
|
"name" => "Nome",
|
||||||
"username" => "Usuário:",
|
"username" => "Nome de Usuário",
|
||||||
"logout" => "Desconectar",
|
"logout" => "Sair",
|
||||||
"upload" => "Transferir",
|
"upload" => "Enviar",
|
||||||
|
"loginToVerifyEmail" => "Você deve estar logado para verificar seu email.",
|
||||||
|
"loginToUploadMix" => "Você deve estar logado para enviar uma mixagem.",
|
||||||
|
"verificationCodeRequired" => "O código de verificação é obrigatório.",
|
||||||
|
"recordedDate" => "Data Gravada",
|
||||||
|
"noUploadedFileFound" => "Nenhum arquivo enviado encontrado. Por favor, envie um arquivo de mixagem.",
|
||||||
|
"mixTitleRequired" => "O título da mixagem é obrigatório.",
|
||||||
|
"errorUploadCDN" => "Erro ao enviar arquivo para a CDN: ",
|
||||||
|
"errorSavingMixDB" => "Erro ao salvar a mixagem no banco de dados.",
|
||||||
|
"uploadedPendingApproval" => "Mixagem enviada com sucesso e aguardando aprovação.",
|
||||||
|
"uploadHeader1" => "Envie sua mixagem para os DJs de Utah",
|
||||||
|
"uploadAlertHeader" => "Informações Importantes de Upload",
|
||||||
|
"uploadAlert1" => "Os DJs de Utah são principalmente um projeto de arquivo dedicado a preservar a história e a cultura dos DJs de EDM em Utah. Seus uploads contribuem para este registro histórico.",
|
||||||
|
"uploadHeader2" => "Antes de Enviar",
|
||||||
|
"uploadAlert2" => "Verifique se todos os DJs envolvidos estão listados em nosso banco de dados. Se um DJ não estiver listado, ele deve ser adicionado e aprovado antes de enviar.",
|
||||||
|
"uploadAlert3" => "Verifique se os gêneros apropriados estão disponíveis para sua mixagem. Novos gêneros requerem aprovação antes de poderem ser usados.",
|
||||||
|
"uploadAlert4" => "Você pode enviar novos pedidos de DJs ou gêneros através das configurações do seu perfil.",
|
||||||
|
"uploadProcess" => "Processo de Envio",
|
||||||
|
"uploadProcess1" => "Envie seu arquivo de mixagem (formato MP3 ou ZIP)",
|
||||||
|
"uploadProcess2" => "Insira os detalhes da mixagem, incluindo título, descrição e data de gravação",
|
||||||
|
"uploadProcess3" => "Selecione gêneros e DJs relevantes",
|
||||||
|
"uploadProcess4" => "Enviar para revisão",
|
||||||
|
"uploadAMix" => "Enviar uma Mixagem",
|
||||||
|
"uploadSelectMix" => "Selecione o Arquivo da Mixagem (MP3 ou ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Tamanho máximo do arquivo: 500MB",
|
||||||
|
"uploadFile" => "Enviar Arquivo",
|
||||||
|
"uploadSelectGenres" => "Selecione Gêneros (digite para pesquisar)",
|
||||||
|
"uploadSelectDJSMax3" => "Selecione DJs (Máximo 3)",
|
||||||
|
"uploadSubmitMix" => "Enviar Mixagem",
|
||||||
|
"uploadSelectDJ1" => "Selecione DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Selecione DJ 2 (opcional)",
|
||||||
|
"uploadSelectDJ3" => "Selecione DJ 3 (opcional)",
|
||||||
|
"userAlreadyExists" => "Usuário já existe.",
|
||||||
|
"allFieldsRequired" => "Todos os campos são obrigatórios.",
|
||||||
|
"passwordsDoNotMatch" => "As senhas não coincidem.",
|
||||||
|
"invalidEmail" => "Formato de email inválido.",
|
||||||
|
"invalidUsername" => "Formato de nome de usuário inválido.",
|
||||||
|
"verifyEmailAddress" => "Verifique seu endereço de email",
|
||||||
|
"registerThankYou" => "Obrigado por se registrar em ",
|
||||||
|
"registerVerifyEmail" => "Por favor, verifique seu endereço de email clicando no link abaixo ou inserindo o código de verificação em seu perfil:",
|
||||||
|
"registerVerifyCodeIs" => "Seu código de verificação é: ",
|
||||||
|
"registerVerifyTimeout" => "Esse código expirará em 15 minutos.",
|
||||||
|
"password" => "Senha",
|
||||||
|
"rememberMe" => "Lembrar de mim",
|
||||||
|
"forgotPassword" => "Esqueceu a senha",
|
||||||
|
"dontHaveAccount" => "Não tem uma conta?",
|
||||||
|
"signUp" => "Inscrever-se",
|
||||||
|
"passwordResetSent" => "Se o email existe em nosso sistema, um link para redefinir a senha foi enviado.",
|
||||||
|
"passwordResetRequested" => "Você solicitou a redefinição da sua senha. Por favor, clique no link abaixo para redefinir sua senha:",
|
||||||
|
"passwordResetUnrequested" => "Se você não solicitou isso, por favor, ignore este email. Este link irá expirar em 15 minutos.",
|
||||||
|
"emailaddressEnter" => "Digite seu endereço de email",
|
||||||
|
"messageSentSuccess" => "Mensagem enviada com sucesso.",
|
||||||
|
"messageSentError" => "Ocorreu um erro ao enviar a mensagem.",
|
||||||
|
"contactUs2" => "Nós adoraríamos ouvi-lo. Envie-nos uma mensagem e responderemos o mais rápido possível.",
|
||||||
|
"messageSendUs" => "Envie-nos uma Mensagem",
|
||||||
|
"messageSend" => "Enviar Mensagem",
|
||||||
|
"passwordReset" => "Redefinir Senha",
|
||||||
|
"enterYourUsername" => "Digite seu nome de usuário",
|
||||||
|
"newPassword" => "Nova Senha",
|
||||||
|
"confirmPassword" => "Confirmar Nova Senha",
|
||||||
|
"passwordResetSuccess" => "Sua senha foi redefinida com sucesso. Por favor, faça login com sua nova senha.",
|
||||||
|
"enterEmailAddressPlease" => "Por favor, insira seu endereço de email.",
|
||||||
|
"emailInvalid" => "Formato de email inválido.",
|
||||||
|
"passwordMismatch" => "As senhas não coincidem.",
|
||||||
|
"passwordRequirements" => "A senha deve ter pelo menos 8 caracteres e incluir letras maiúsculas e minúsculas, além de um número.",
|
||||||
|
"resetExpiredInvalid" => "Código de redefinição de senha inválido ou expirado.",
|
||||||
|
"resetExpired" => "O código de redefinição de senha expirou.",
|
||||||
|
"codeCredsInvalid" => "Credenciais inválidas ou código de verificação.",
|
||||||
|
"change" => "Alterar",
|
||||||
|
"changePicture" => "Alterar Foto",
|
||||||
|
"verify" => "Verificar",
|
||||||
|
"createdUsing" => "Criado usando",
|
||||||
|
"djmixhostingsoftware" => "Software de Hospedagem de Mix de DJ",
|
||||||
|
"privacyPolicy" => "Política de Privacidade",
|
||||||
|
"termsAndConditions" => "Termos e Condições",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -2,75 +2,154 @@
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Bem-vindo ao nosso site!',
|
'welcome' => 'Bem-vindo ao nosso site!',
|
||||||
'description' => 'Esta é uma descrição em inglês.',
|
'description' => 'Esta é uma descrição em inglês.',
|
||||||
'desc' => 'Descrição:',
|
'desc' => 'Descrição',
|
||||||
'userProfile' => "Informações do Perfil",
|
'userProfile' => "Perfil do Usuário",
|
||||||
'user' => 'Usuário',
|
'user' => 'Usuário',
|
||||||
'home' => 'Residencial',
|
'home' => 'Início',
|
||||||
'djName' => 'Nome do DJ',
|
'djName' => 'Nome do DJ',
|
||||||
'email' => 'e-mail',
|
'email' => 'Email',
|
||||||
'location' => 'Local:',
|
'location' => 'Localização',
|
||||||
'bio' => 'Biografia',
|
'bio' => 'Bio',
|
||||||
'submit' => 'submeter',
|
'submit' => 'Enviar',
|
||||||
'login' => 'Conectar-se',
|
'login' => 'Entrar',
|
||||||
'message' => 'mensagem',
|
'message' => 'Mensagem',
|
||||||
'follow' => 'Seguir',
|
'follow' => 'Seguir',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJs',
|
||||||
"djNotFound" => "Não foi possível carregar DJ; ou o DJ não foi encontrado ou este DJ é privado.",
|
"djNotFound" => "Não foi possível carregar o DJ; ou o DJ não foi encontrado ou este DJ é privado.",
|
||||||
"notfound" => "Página não encontrada",
|
"notfound" => "Página não encontrada",
|
||||||
"genre" => "gênero",
|
"genre" => "Gênero",
|
||||||
"genres" => "Genres",
|
"genres" => "Gêneros",
|
||||||
"genreNotFound" => "Não foi possível carregar o gênero; ou o gênero não foi encontrado, estava vazio ou este gênero é privado.",
|
"genreNotFound" => "Não foi possível carregar o gênero; ou o gênero não foi encontrado, estava vazio ou este gênero é privado.",
|
||||||
"mix-count" => "Contador de misturas",
|
"mix-count" => "Contagem de Mixes",
|
||||||
"mixes" => "Misturar",
|
"mixes" => "Mixes",
|
||||||
"mix" => "Mistura",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Não foi possível carregar o mix; ou a mistura não foi encontrada, estava vazia, ou esta mistura é privada.",
|
"mixNotFound" => "Não foi possível carregar a mix; ou a mix não foi encontrada, estava vazia ou esta mix é privada.",
|
||||||
"mixshowNotFound" => "Não foi possível carregar o mixshow; ou o mixshow não foi encontrado, estava vazio ou este mixshow é privado.",
|
"mixshowNotFound" => "Não foi possível carregar o mixshow; ou o mixshow não foi encontrado, estava vazio ou este mixshow é privado.",
|
||||||
"mixName" => "Nome do mix",
|
"mixName" => "Nome da Mix",
|
||||||
"mixDescription" => "Descrição Misto",
|
"mixDescription" => "Descrição da Mix",
|
||||||
"mixLength" => "Comprimento Misturado",
|
"mixLength" => "Duração da Mix",
|
||||||
"mixGenre" => "Gênero misto",
|
"mixGenre" => "Gênero da Mix",
|
||||||
"view" => "Visualizar",
|
"view" => "Ver",
|
||||||
"mixname" => "Nome do mix",
|
"mixname" => "Nome da Mix",
|
||||||
"search" => "Pesquisa",
|
"search" => "Buscar",
|
||||||
"searchResults" => "Resultados da Pesquisa",
|
"searchResults" => "Resultados da Busca",
|
||||||
"searchResultsFor" => "Resultados da Pesquisa para",
|
"searchResultsFor" => "Resultados da Busca para",
|
||||||
"searchResultsFound" => "Resultados da Pesquisa Encontrados",
|
"searchResultsFound" => "Resultados da Busca Encontrados",
|
||||||
"tracklist" => "Acompanhamento",
|
"tracklist" => "Lista de faixas",
|
||||||
"lastupdated" => "Última atualização",
|
"lastupdated" => "Última Atualização",
|
||||||
"duration" => "Duração",
|
"duration" => "Duração",
|
||||||
"hour" => "hora",
|
"hour" => "hora",
|
||||||
"hours" => "horas",
|
"hours" => "horas",
|
||||||
"minute" => "minuto",
|
"minute" => "minuto",
|
||||||
"minutes" => "Minutos",
|
"minutes" => "minutos",
|
||||||
"second" => "segundo",
|
"second" => "segundo",
|
||||||
"seconds" => "segundos",
|
"seconds" => "segundos",
|
||||||
"by" => "Por",
|
"by" => "por",
|
||||||
"added" => "Adicionado",
|
"added" => "Adicionado",
|
||||||
"recorded" => "Gravado",
|
"recorded" => "Gravado",
|
||||||
"audioNotSupported" => "Seu navegador não suporta o elemento de áudio.",
|
"audioNotSupported" => "Seu navegador não suporta o elemento de áudio.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Downloads",
|
||||||
"download" => "BAIXAR",
|
"download" => "Baixar",
|
||||||
"downloadMix" => "Baixar Mix",
|
"downloadMix" => "Baixar Mix",
|
||||||
"plays" => "Reproduções",
|
"plays" => "Reproduz",
|
||||||
"play" => "Reproduzir",
|
"play" => "Reproduzir",
|
||||||
"contactus" => "Entre em contato",
|
"contactus" => "Entre em Contato Conosco",
|
||||||
"allrightsreserved" => "Todos os direitos reservados.",
|
"allrightsreserved" => "Todos os direitos reservados.",
|
||||||
"mixshows" => "Misturas",
|
"mixshows" => "Mixshows",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Nome do Mixshow",
|
"mixshowName" => "Nome do Mixshow",
|
||||||
"share" => "Compartilhar",
|
"share" => "Compartilhar",
|
||||||
"sahrethismix" => "Compartilhe esta mistura",
|
"sahrethismix" => "Compartilhar esta mix",
|
||||||
"sharethismixshow" => "Compartilhar este mixshow",
|
"sharethismixshow" => "Compartilhar este mixshow",
|
||||||
"rss" => "Resposta",
|
"rss" => "RSS",
|
||||||
"year" => "ano",
|
"year" => "Ano",
|
||||||
"sharetotwitter" => "Compartilhar para X (antigo Twitter)",
|
"sharetotwitter" => "Compartilhar no X (antigo Twitter)",
|
||||||
"sharetofb" => "Compartilhar no Facebook",
|
"sharetofb" => "Compartilhar no Facebook",
|
||||||
"sharetoig" => "Compartilhar com o Instagram",
|
"sharetoig" => "Compartilhar no Instagram",
|
||||||
"copyurl" => "Copiar URL",
|
"copyurl" => "Copiar URL",
|
||||||
"urlcopiedtoclipboard" => "URL copiado para área de transferência",
|
"urlcopiedtoclipboard" => "URL copiada para a área de transferência",
|
||||||
"failedtocopyurl" => "Falha ao copiar URL",
|
"failedtocopyurl" => "Falha ao copiar a URL",
|
||||||
"name" => "Nome:",
|
"name" => "Nome",
|
||||||
"username" => "Usuário:",
|
"username" => "Nome de Usuário",
|
||||||
"logout" => "Desconectar",
|
"logout" => "Sair",
|
||||||
"upload" => "Transferir",
|
"upload" => "Carregar",
|
||||||
|
"loginToVerifyEmail" => "Você precisa estar logado para verificar seu email.",
|
||||||
|
"loginToUploadMix" => "Você precisa estar logado para carregar uma mix.",
|
||||||
|
"verificationCodeRequired" => "Código de verificação é necessário.",
|
||||||
|
"recordedDate" => "Data Gravada",
|
||||||
|
"noUploadedFileFound" => "Nenhum arquivo carregado encontrado. Por favor, carregue um arquivo de mix.",
|
||||||
|
"mixTitleRequired" => "Título da mix é obrigatório.",
|
||||||
|
"errorUploadCDN" => "Erro ao carregar o arquivo para o CDN: ",
|
||||||
|
"errorSavingMixDB" => "Erro ao salvar a mix no banco de dados.",
|
||||||
|
"uploadedPendingApproval" => "Mix carregada com sucesso e está aguardando aprovação.",
|
||||||
|
"uploadHeader1" => "Carregue sua mix para os DJs de Utah",
|
||||||
|
"uploadAlertHeader" => "Informações Importantes de Carregamento",
|
||||||
|
"uploadAlert1" => "Os DJs de Utah são principalmente um projeto arquivístico dedicado a preservar a história e cultura dos DJs de EDM em Utah. Seus uploads contribuem para este registro histórico.",
|
||||||
|
"uploadHeader2" => "Antes de Carregar",
|
||||||
|
"uploadAlert2" => "Verifique se todos os DJs envolvidos estão listados em nosso banco de dados. Se um DJ não estiver listado, ele deve ser adicionado e aprovado antes de carregar.",
|
||||||
|
"uploadAlert3" => "Verifique se os gêneros apropriados estão disponíveis para sua mix. Novos gêneros exigem aprovação antes de serem utilizados.",
|
||||||
|
"uploadAlert4" => "Você pode enviar novos pedidos de DJ ou gênero através das configurações do seu perfil.",
|
||||||
|
"uploadProcess" => "Processo de Carregamento",
|
||||||
|
"uploadProcess1" => "Carregue seu arquivo de mix (formato MP3 ou ZIP)",
|
||||||
|
"uploadProcess2" => "Insira os detalhes da mix, incluindo título, descrição e data de gravação",
|
||||||
|
"uploadProcess3" => "Selecione gêneros e DJs relevantes",
|
||||||
|
"uploadProcess4" => "Enviar para revisão",
|
||||||
|
"uploadAMix" => "Carregar uma Mix",
|
||||||
|
"uploadSelectMix" => "Selecione o arquivo de Mix (MP3 ou ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Tamanho máximo do arquivo: 500MB",
|
||||||
|
"uploadFile" => "Carregar arquivo",
|
||||||
|
"uploadSelectGenres" => "Selecionar Gêneros (digite para pesquisar)",
|
||||||
|
"uploadSelectDJSMax3" => "Selecionar DJs (Máximo 3)",
|
||||||
|
"uploadSubmitMix" => "Enviar Mix",
|
||||||
|
"uploadSelectDJ1" => "Selecionar DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Selecionar DJ 2 (opcional)",
|
||||||
|
"uploadSelectDJ3" => "Selecionar DJ 3 (opcional)",
|
||||||
|
"userAlreadyExists" => "Usuário já existe.",
|
||||||
|
"allFieldsRequired" => "Todos os campos são obrigatórios.",
|
||||||
|
"passwordsDoNotMatch" => "As senhas não coincidem.",
|
||||||
|
"invalidEmail" => "Formato de email inválido.",
|
||||||
|
"invalidUsername" => "Formato de nome de usuário inválido.",
|
||||||
|
"verifyEmailAddress" => "Verifique seu endereço de email",
|
||||||
|
"registerThankYou" => "Obrigado por se registrar em ",
|
||||||
|
"registerVerifyEmail" => "Por favor, verifique seu endereço de email clicando no link abaixo ou inserindo o código de verificação em seu perfil:",
|
||||||
|
"registerVerifyCodeIs" => "Seu código de verificação é: ",
|
||||||
|
"registerVerifyTimeout" => "Este código expirará em 15 minutos.",
|
||||||
|
"password" => "Senha",
|
||||||
|
"rememberMe" => "Lembre-se de Mim",
|
||||||
|
"forgotPassword" => "Esqueceu a Senha",
|
||||||
|
"dontHaveAccount" => "Não tem uma conta?",
|
||||||
|
"signUp" => "Registre-se",
|
||||||
|
"passwordResetSent" => "Se o email existir em nosso sistema, um link para redefinir a senha foi enviado.",
|
||||||
|
"passwordResetRequested" => "Você solicitou redefinir sua senha. Por favor, clique no link abaixo para redefinir sua senha:",
|
||||||
|
"passwordResetUnrequested" => "Se você não solicitou isso, ignore este email. Este link expirará em 15 minutos.",
|
||||||
|
"emailaddressEnter" => "Insira seu endereço de email",
|
||||||
|
"messageSentSuccess" => "Mensagem enviada com sucesso.",
|
||||||
|
"messageSentError" => "Ocorreu um erro ao enviar a mensagem.",
|
||||||
|
"contactUs2" => "Nós adoraríamos ouvi-lo. Envie-nos uma mensagem e responderemos o mais rápido possível.",
|
||||||
|
"messageSendUs" => "Envie-nos uma Mensagem",
|
||||||
|
"messageSend" => "Enviar Mensagem",
|
||||||
|
"passwordReset" => "Redefinir Senha",
|
||||||
|
"enterYourUsername" => "Insira seu nome de usuário",
|
||||||
|
"newPassword" => "Nova Senha",
|
||||||
|
"confirmPassword" => "Confirmar Nova Senha",
|
||||||
|
"passwordResetSuccess" => "Sua senha foi redefinida com sucesso. Por favor, faça login com sua nova senha.",
|
||||||
|
"enterEmailAddressPlease" => "Por favor, insira seu endereço de email.",
|
||||||
|
"emailInvalid" => "Formato de email inválido.",
|
||||||
|
"passwordMismatch" => "As senhas não coincidem.",
|
||||||
|
"passwordRequirements" => "A senha deve ter pelo menos 8 caracteres e incluir letras maiúsculas e minúsculas, além de um número.",
|
||||||
|
"resetExpiredInvalid" => "Código de redefinição de senha inválido ou expirado.",
|
||||||
|
"resetExpired" => "O código de redefinição de senha expirou.",
|
||||||
|
"codeCredsInvalid" => "Credenciais ou código de verificação inválidos.",
|
||||||
|
"change" => "Alterar",
|
||||||
|
"changePicture" => "Alterar Imagem",
|
||||||
|
"verify" => "Verificar",
|
||||||
|
"createdUsing" => "Criado usando",
|
||||||
|
"djmixhostingsoftware" => "Software de Hospedagem de Mix de DJ",
|
||||||
|
"privacyPolicy" => "Política de Privacidade",
|
||||||
|
"termsAndConditions" => "Termos e Condições",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Bun venit pe site-ul nostru!',
|
'welcome' => 'Bine ați venit pe site-ul nostru!',
|
||||||
'description' => 'Aceasta este o descriere în engleză.',
|
'description' => 'Aceasta este o descriere în engleză.',
|
||||||
'desc' => 'Descriere',
|
'desc' => 'Descriere',
|
||||||
'userProfile' => "Profil utilizator",
|
'userProfile' => "Profil utilizator",
|
||||||
'user' => 'Utilizator',
|
'user' => 'Utilizator',
|
||||||
'home' => 'Acasă',
|
'home' => 'Acasă',
|
||||||
'djName' => 'Nume DJ',
|
'djName' => 'Numele DJ-ului',
|
||||||
'email' => 'E-mail',
|
'email' => 'Email',
|
||||||
'location' => 'Locaţie',
|
'location' => 'Locație',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografie',
|
||||||
'submit' => 'Trimiteți',
|
'submit' => 'Trimite',
|
||||||
'login' => 'Autentificare',
|
'login' => 'Conectare',
|
||||||
'message' => 'Mesaj',
|
'message' => 'Mesaj',
|
||||||
'follow' => 'Urmărește',
|
'follow' => 'Urmărește',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ-i',
|
||||||
"djNotFound" => "Nu s-a putut încărca DJ; fie DJ nu a fost găsit, fie acest DJ este privat.",
|
"djNotFound" => "Nu am putut încărca DJ-ul; fie DJ-ul nu a fost găsit, fie acest DJ este privat.",
|
||||||
"notfound" => "Pagina nu a fost găsită",
|
"notfound" => "Pagina nu a fost găsită",
|
||||||
"genre" => "Gen",
|
"genre" => "Gen",
|
||||||
"genres" => "Genres",
|
"genres" => "Genuri",
|
||||||
"genreNotFound" => "Nu s-a putut încărca genul; fie genul nu a fost găsit, fie era gol, fie acest gen este privat.",
|
"genreNotFound" => "Nu am putut încărca genul; fie genul nu a fost găsit, fie este gol, fie acest gen este privat.",
|
||||||
"mix-count" => "Numărul amestecurilor",
|
"mix-count" => "Număr mixuri",
|
||||||
"mixes" => "Mixuri",
|
"mixes" => "Mixuri",
|
||||||
"mix" => "Amestecă",
|
"mix" => "Amestec",
|
||||||
"mixNotFound" => "Nu s-a putut încărca mixul; fie mixul nu a fost găsit, a fost gol, fie acest mix este privat.",
|
"mixNotFound" => "Nu am putut încărca mixul; fie mixul nu a fost găsit, fie este gol, fie acest mix este privat.",
|
||||||
"mixshowNotFound" => "Nu s-a putut încărca mixshow-ul; fie emisiunea mixtă nu a fost găsită, a fost goală, fie acest spectacol mixt este privat.",
|
"mixshowNotFound" => "Nu am putut încărca mixshow; fie mixshow-ul nu a fost găsit, fie este gol, fie acest mixshow este privat.",
|
||||||
"mixName" => "Nume mix",
|
"mixName" => "Numele mixului",
|
||||||
"mixDescription" => "Descriere mixtă",
|
"mixDescription" => "Descriere mix",
|
||||||
"mixLength" => "Amestecă lungimea",
|
"mixLength" => "Durată mix",
|
||||||
"mixGenre" => "Amestecă genul",
|
"mixGenre" => "Gen mix",
|
||||||
"view" => "Vizualizare",
|
"view" => "Vizualizare",
|
||||||
"mixname" => "Nume mix",
|
"mixname" => "Numele mixului",
|
||||||
"search" => "Caută",
|
"search" => "Caută",
|
||||||
"searchResults" => "Rezultatele căutării",
|
"searchResults" => "Rezultate căutare",
|
||||||
"searchResultsFor" => "Rezultate căutare pentru",
|
"searchResultsFor" => "Rezultate căutare pentru",
|
||||||
"searchResultsFound" => "Rezultate Căutare găsite",
|
"searchResultsFound" => "Rezultate căutare găsite",
|
||||||
"tracklist" => "Lista de urmărire",
|
"tracklist" => "Lista pieselor",
|
||||||
"lastupdated" => "Ultima actualizare",
|
"lastupdated" => "Ultima actualizare",
|
||||||
"duration" => "Durată",
|
"duration" => "Durată",
|
||||||
"hour" => "oră",
|
"hour" => "oră",
|
||||||
|
@ -47,30 +47,109 @@ return [
|
||||||
"by" => "de",
|
"by" => "de",
|
||||||
"added" => "Adăugat",
|
"added" => "Adăugat",
|
||||||
"recorded" => "Înregistrat",
|
"recorded" => "Înregistrat",
|
||||||
"audioNotSupported" => "Browserul dvs. nu acceptă elementul audio.",
|
"audioNotSupported" => "Browserul dumneavoastră nu suportă elementul audio.",
|
||||||
"downloads" => "Descărcări",
|
"downloads" => "Descărcări",
|
||||||
"download" => "Descărcare",
|
"download" => "Descarcă",
|
||||||
"downloadMix" => "Descarcă Mixul",
|
"downloadMix" => "Descarcă mixul",
|
||||||
"plays" => "Jocuri",
|
"plays" => "Ascultări",
|
||||||
"play" => "Redare",
|
"play" => "Ascultă",
|
||||||
"contactus" => "Contactează-ne",
|
"contactus" => "Contactați-ne",
|
||||||
"allrightsreserved" => "Toate drepturile rezervate.",
|
"allrightsreserved" => "Toate drepturile rezervate.",
|
||||||
"mixshows" => "Amestec",
|
"mixshows" => "Emisiuni de amestec",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Emisiune de amestec",
|
||||||
"mixshowName" => "Nume Mixshow",
|
"mixshowName" => "Numele mixshow-ului",
|
||||||
"share" => "Distribuie",
|
"share" => "Distribuie",
|
||||||
"sahrethismix" => "Distribuie acest mix",
|
"sahrethismix" => "Distribuie acest mix",
|
||||||
"sharethismixshow" => "Distribuie acest spectacol mixt",
|
"sharethismixshow" => "Distribuie acest mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "An",
|
"year" => "An",
|
||||||
"sharetotwitter" => "Distribuie pe X (anterior Twitter)",
|
"sharetotwitter" => "Distribuie pe X (fostul Twitter)",
|
||||||
"sharetofb" => "Distribuie pe Facebook",
|
"sharetofb" => "Distribuie pe Facebook",
|
||||||
"sharetoig" => "Distribuie pe Instagram",
|
"sharetoig" => "Distribuie pe Instagram",
|
||||||
"copyurl" => "Copiază URL-ul",
|
"copyurl" => "Copiază URL",
|
||||||
"urlcopiedtoclipboard" => "URL copiat în clipboard",
|
"urlcopiedtoclipboard" => "URL copiat în clipboard",
|
||||||
"failedtocopyurl" => "Copierea adresei URL a eșuat",
|
"failedtocopyurl" => "Eșec la copierea URL-ului",
|
||||||
"name" => "Nume",
|
"name" => "Nume",
|
||||||
"username" => "Nume",
|
"username" => "Nume utilizator",
|
||||||
"logout" => "Deconectare",
|
"logout" => "Deconectare",
|
||||||
"upload" => "Incarca",
|
"upload" => "Încărcare",
|
||||||
|
"loginToVerifyEmail" => "Trebuie să fiți conectat pentru a verifica adresa dvs. de email.",
|
||||||
|
"loginToUploadMix" => "Trebuie să fiți conectat pentru a încărca un mix.",
|
||||||
|
"verificationCodeRequired" => "Codul de verificare este necesar.",
|
||||||
|
"recordedDate" => "Data înregistrării",
|
||||||
|
"noUploadedFileFound" => "Nu a fost găsit niciun fișier încărcat. Vă rugăm să încărcați un fișier mix.",
|
||||||
|
"mixTitleRequired" => "Titlul mixului este necesar.",
|
||||||
|
"errorUploadCDN" => "Eroare la încărcarea fișierului pe CDN: ",
|
||||||
|
"errorSavingMixDB" => "Eroare la salvarea mixului în baza de date.",
|
||||||
|
"uploadedPendingApproval" => "Mixul a fost încărcat cu succes și așteaptă aprobat.",
|
||||||
|
"uploadHeader1" => "Încărcați mixul dvs. la DJ-ii din Utah",
|
||||||
|
"uploadAlertHeader" => "Informații importante despre încărcare",
|
||||||
|
"uploadAlert1" => "DJ-ii din Utah este în principal un proiect arhivistic dedicat conservării istoriei și culturii DJ-ilor EDM din Utah. Încărcările dvs. contribuie la această înregistrare istorică.",
|
||||||
|
"uploadHeader2" => "Înainte de a încărca",
|
||||||
|
"uploadAlert2" => "Verificați că toți DJ-ii implicați sunt listați în baza noastră de date. Dacă un DJ nu este listat, trebuie să fie adăugat și aprobat înainte de a-l încărca.",
|
||||||
|
"uploadAlert3" => "Verificați că genurile adecvate sunt disponibile pentru mixul dvs. Genurile noi necesită aprobat înainte de a putea fi folosite.",
|
||||||
|
"uploadAlert4" => "Puteți trimite cereri pentru DJ i noi sau genuri prin setările profilului dvs.",
|
||||||
|
"uploadProcess" => "Procesul de încărcare",
|
||||||
|
"uploadProcess1" => "Încărcați fișierul mixului (format MP3 sau ZIP)",
|
||||||
|
"uploadProcess2" => "Introduceți detalii despre mix, inclusiv titlul, descrierea și data înregistrării",
|
||||||
|
"uploadProcess3" => "Selectați genurile și DJ-ii relevanți",
|
||||||
|
"uploadProcess4" => "Trimiteți pentru revizuire",
|
||||||
|
"uploadAMix" => "Încărcați un mix",
|
||||||
|
"uploadSelectMix" => "Selectați fișierul mixului (MP3 sau ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Dimensiunea maximă a fișierului: 500MB",
|
||||||
|
"uploadFile" => "Încărcați fișier",
|
||||||
|
"uploadSelectGenres" => "Selectați genuri (tastați pentru a căuta)",
|
||||||
|
"uploadSelectDJSMax3" => "Selectați DJ-i (Maximum 3)",
|
||||||
|
"uploadSubmitMix" => "Trimiteți mixul",
|
||||||
|
"uploadSelectDJ1" => "Selectați DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Selectați DJ 2 (opțional)",
|
||||||
|
"uploadSelectDJ3" => "Selectați DJ 3 (opțional)",
|
||||||
|
"userAlreadyExists" => "Utilizatorul există deja.",
|
||||||
|
"allFieldsRequired" => "Toate câmpurile sunt obligatorii.",
|
||||||
|
"passwordsDoNotMatch" => "Parolele nu se potrivesc.",
|
||||||
|
"invalidEmail" => "Format de email invalid.",
|
||||||
|
"invalidUsername" => "Format de nume de utilizator invalid.",
|
||||||
|
"verifyEmailAddress" => "Verificați adresa dumneavoastră de email",
|
||||||
|
"registerThankYou" => "Vă mulțumim pentru înregistrarea la ",
|
||||||
|
"registerVerifyEmail" => "Vă rugăm să verificați adresa dvs. de email făcând clic pe linkul de mai jos sau introducând codul de verificare în profilul dvs.:",
|
||||||
|
"registerVerifyCodeIs" => "Codul dvs. de verificare este: ",
|
||||||
|
"registerVerifyTimeout" => "Acest cod va expira în 15 minute.",
|
||||||
|
"password" => "Parolă",
|
||||||
|
"rememberMe" => "Amintește-ți de mine",
|
||||||
|
"forgotPassword" => "Ați uitat parola",
|
||||||
|
"dontHaveAccount" => "Nu aveți un cont?",
|
||||||
|
"signUp" => "Înscriere",
|
||||||
|
"passwordResetSent" => "Dacă emailul există în sistemul nostru, a fost trimis un link de resetare a parolei.",
|
||||||
|
"passwordResetRequested" => "Ați solicitat resetarea parolei. Vă rugăm să faceți clic pe linkul de mai jos pentru a reseta parola:",
|
||||||
|
"passwordResetUnrequested" => "Dacă nu ați solicitat acest lucru, vă rugăm să ignorați acest email. Acest link va expira în 15 minute.",
|
||||||
|
"emailaddressEnter" => "Introduceți adresa dvs. de email",
|
||||||
|
"messageSentSuccess" => "Mesaj trimis cu succes.",
|
||||||
|
"messageSentError" => "A apărut o eroare în timpul trimiterii mesajului.",
|
||||||
|
"contactUs2" => "Ne-ar plăcea să auzim de la tine. Trimiteți-ne un mesaj și vom răspunde cât mai curând posibil.",
|
||||||
|
"messageSendUs" => "Trimiteți-ne un mesaj",
|
||||||
|
"messageSend" => "Trimite mesajul",
|
||||||
|
"passwordReset" => "Resetare parolă",
|
||||||
|
"enterYourUsername" => "Introduceți numele dvs. de utilizator",
|
||||||
|
"newPassword" => "Parolă nouă",
|
||||||
|
"confirmPassword" => "Confirmare parolă nouă",
|
||||||
|
"passwordResetSuccess" => "Parola dvs. a fost resetată cu succes. Vă rugăm să vă conectați cu noua parolă.",
|
||||||
|
"enterEmailAddressPlease" => "Vă rugăm să introduceți adresa dvs. de email.",
|
||||||
|
"emailInvalid" => "Format de email invalid.",
|
||||||
|
"passwordMismatch" => "Parolele nu se potrivesc.",
|
||||||
|
"passwordRequirements" => "Parola trebuie să aibă cel puțin 8 caractere și să includă litere mari, mici și un număr.",
|
||||||
|
"resetExpiredInvalid" => "Cod de resetare a parolei invalid sau expirat.",
|
||||||
|
"resetExpired" => "Codul de resetare a parolei a expirat.",
|
||||||
|
"codeCredsInvalid" => "Credențiale sau cod de verificare invalid.",
|
||||||
|
"change" => "Schimbare",
|
||||||
|
"changePicture" => "Schimbă imaginea",
|
||||||
|
"verify" => "Verificare",
|
||||||
|
"createdUsing" => "Creat folosind",
|
||||||
|
"djmixhostingsoftware" => "Software de găzduire a mixurilor DJ",
|
||||||
|
"privacyPolicy" => "Politica de confidențialitate",
|
||||||
|
"termsAndConditions" => "Termeni și condiții",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -5,72 +5,151 @@ return [
|
||||||
'desc' => 'Описание',
|
'desc' => 'Описание',
|
||||||
'userProfile' => "Профиль пользователя",
|
'userProfile' => "Профиль пользователя",
|
||||||
'user' => 'Пользователь',
|
'user' => 'Пользователь',
|
||||||
'home' => 'Домашний',
|
'home' => 'Главная',
|
||||||
'djName' => 'Имя DJ',
|
'djName' => 'Имя DJ',
|
||||||
'email' => 'Почта',
|
'email' => 'Электронная почта',
|
||||||
'location' => 'Местоположение',
|
'location' => 'Местоположение',
|
||||||
'bio' => 'Био',
|
'bio' => 'Биография',
|
||||||
'submit' => 'Отправить',
|
'submit' => 'Отправить',
|
||||||
'login' => 'Логин',
|
'login' => 'Вход',
|
||||||
'message' => 'Сообщение',
|
'message' => 'Сообщение',
|
||||||
'follow' => 'Подписаться',
|
'follow' => 'Следить',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ-еи',
|
||||||
"djNotFound" => "Не удалось загрузить DJ; либо DJ не найден или этот DJ является приватным.",
|
"djNotFound" => "Не удалось загрузить DJ; либо DJ не найден, либо он закрыт.",
|
||||||
"notfound" => "Страница не найдена",
|
"notfound" => "Страница не найдена",
|
||||||
"genre" => "Жанр",
|
"genre" => "Жанр",
|
||||||
"genres" => "Жанры",
|
"genres" => "Жанры",
|
||||||
"genreNotFound" => "Не удалось загрузить жанр; либо жанр не найден, был пуст, или этот жанр является приватным.",
|
"genreNotFound" => "Не удалось загрузить жанр; либо жанр не найден, пуст, либо он закрыт.",
|
||||||
"mix-count" => "Кол-во миксов",
|
"mix-count" => "Количество миксов",
|
||||||
"mixes" => "Миксы",
|
"mixes" => "Миксы",
|
||||||
"mix" => "Микс",
|
"mix" => "Микс",
|
||||||
"mixNotFound" => "Не удалось загрузить смесь; либо смесь не найдена, либо эта смесь является приватной.",
|
"mixNotFound" => "Не удалось загрузить микс; либо микс не найден, пуст, либо он закрыт.",
|
||||||
"mixshowNotFound" => "Не удалось загрузить mixshow; либо mixshow не найден, либо эта mixshow является приватной.",
|
"mixshowNotFound" => "Не удалось загрузить микшоу; либо микшоу не найдено, пусто, либо оно закрыто.",
|
||||||
"mixName" => "Название микса",
|
"mixName" => "Имя микса",
|
||||||
"mixDescription" => "Описание смеси",
|
"mixDescription" => "Описание микса",
|
||||||
"mixLength" => "Длина микса",
|
"mixLength" => "Длительность микса",
|
||||||
"mixGenre" => "Смешанный жанр",
|
"mixGenre" => "Жанр микса",
|
||||||
"view" => "Вид",
|
"view" => "Просмотр",
|
||||||
"mixname" => "Название микса",
|
"mixname" => "Имя микса",
|
||||||
"search" => "Искать",
|
"search" => "Поиск",
|
||||||
"searchResults" => "Результаты поиска",
|
"searchResults" => "Результаты поиска",
|
||||||
"searchResultsFor" => "Результаты поиска для",
|
"searchResultsFor" => "Результаты поиска для",
|
||||||
"searchResultsFound" => "Найдены результаты поиска",
|
"searchResultsFound" => "Найдено результатов поиска",
|
||||||
"tracklist" => "Список треков",
|
"tracklist" => "Треклист",
|
||||||
"lastupdated" => "Последнее обновление",
|
"lastupdated" => "Последнее обновление",
|
||||||
"duration" => "Продолжительность",
|
"duration" => "Продолжительность",
|
||||||
"hour" => "час",
|
"hour" => "час",
|
||||||
"hours" => "часов",
|
"hours" => "часа",
|
||||||
"minute" => "минута",
|
"minute" => "минута",
|
||||||
"minutes" => "минуты",
|
"minutes" => "минуты",
|
||||||
"second" => "секунда",
|
"second" => "секунда",
|
||||||
"seconds" => "секунд",
|
"seconds" => "секунды",
|
||||||
"by" => "от",
|
"by" => "от",
|
||||||
"added" => "Добавлено",
|
"added" => "Добавлено",
|
||||||
"recorded" => "Записанные",
|
"recorded" => "Записано",
|
||||||
"audioNotSupported" => "Ваш браузер не поддерживает элемент звука.",
|
"audioNotSupported" => "Ваш браузер не поддерживает элемент аудио.",
|
||||||
"downloads" => "Загрузки",
|
"downloads" => "Загрузки",
|
||||||
"download" => "Скачать",
|
"download" => "Загрузить",
|
||||||
"downloadMix" => "Скачать Mix",
|
"downloadMix" => "Загрузить микс",
|
||||||
"plays" => "Играет",
|
"plays" => "Прослушивания",
|
||||||
"play" => "Играть",
|
"play" => "Играть",
|
||||||
"contactus" => "Свяжитесь с нами",
|
"contactus" => "Свяжитесь с нами",
|
||||||
"allrightsreserved" => "Все права защищены.",
|
"allrightsreserved" => "Все права защищены.",
|
||||||
"mixshows" => "Смешанные шоу",
|
"mixshows" => "Микшоу",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Микшоу",
|
||||||
"mixshowName" => "Название Mixshow",
|
"mixshowName" => "Имя микшоу",
|
||||||
"share" => "Поделиться",
|
"share" => "Поделиться",
|
||||||
"sahrethismix" => "Поделиться этой смесью",
|
"sahrethismix" => "Поделиться этим миксом",
|
||||||
"sharethismixshow" => "Поделиться этой смесительной шоу",
|
"sharethismixshow" => "Поделиться этим микшоу",
|
||||||
"rss" => "RSS-лента",
|
"rss" => "RSS",
|
||||||
"year" => "Год",
|
"year" => "Год",
|
||||||
"sharetotwitter" => "Поделиться с X (ранее Twitter)",
|
"sharetotwitter" => "Поделиться в X (ранее Twitter)",
|
||||||
"sharetofb" => "Поделиться на Facebook",
|
"sharetofb" => "Поделиться на Facebook",
|
||||||
"sharetoig" => "Поделиться в Instagram",
|
"sharetoig" => "Поделиться в Instagram",
|
||||||
"copyurl" => "Копировать URL",
|
"copyurl" => "Скопировать URL",
|
||||||
"urlcopiedtoclipboard" => "URL скопирован в буфер обмена",
|
"urlcopiedtoclipboard" => "URL скопирован в буфер обмена",
|
||||||
"failedtocopyurl" => "Не удалось скопировать URL",
|
"failedtocopyurl" => "Не удалось скопировать URL",
|
||||||
"name" => "Наименование",
|
"name" => "Имя",
|
||||||
"username" => "Имя пользователя",
|
"username" => "Имя пользователя",
|
||||||
"logout" => "Выйти",
|
"logout" => "Выход",
|
||||||
"upload" => "Выгрузить",
|
"upload" => "Загрузить",
|
||||||
|
"loginToVerifyEmail" => "Вы должны войти в систему, чтобы подтвердить свою электронную почту.",
|
||||||
|
"loginToUploadMix" => "Вы должны войти в систему, чтобы загрузить микс.",
|
||||||
|
"verificationCodeRequired" => "Код подтверждения обязателен.",
|
||||||
|
"recordedDate" => "Дата записи",
|
||||||
|
"noUploadedFileFound" => "Не найден загруженный файл. Пожалуйста, загрузите файл микса.",
|
||||||
|
"mixTitleRequired" => "Название микса обязательно.",
|
||||||
|
"errorUploadCDN" => "Ошибка при загрузке файла на CDN: ",
|
||||||
|
"errorSavingMixDB" => "Ошибка при сохранении микса в базе данных.",
|
||||||
|
"uploadedPendingApproval" => "Микс успешно загружен и ожидает одобрения.",
|
||||||
|
"uploadHeader1" => "Загрузите свой микс в DJ из Юты",
|
||||||
|
"uploadAlertHeader" => "Важная информация о загрузке",
|
||||||
|
"uploadAlert1" => "DJ из Юты - это в первую очередь архивный проект, посвященный сохранению истории и культуры EDM DJ в Юте. Ваши загрузки делают этот исторический отчет.",
|
||||||
|
"uploadHeader2" => "Перед загрузкой",
|
||||||
|
"uploadAlert2" => "Убедитесь, что все DJ, участвующие, указаны в нашей базе данных. Если DJ не указан, его необходимо добавить и одобрить перед загрузкой.",
|
||||||
|
"uploadAlert3" => "Проверьте, что соответствующие жанры доступны для вашего микса. Новые жанры требуют одобрения, прежде чем их можно будет использовать.",
|
||||||
|
"uploadAlert4" => "Вы можете подать заявку на новых DJ или жанры через настройки вашего профиля.",
|
||||||
|
"uploadProcess" => "Процесс загрузки",
|
||||||
|
"uploadProcess1" => "Загрузите файл микса (формат MP3 или ZIP)",
|
||||||
|
"uploadProcess2" => "Введите детали микса, включая название, описание и дату записи",
|
||||||
|
"uploadProcess3" => "Выберите соответствующие жанры и DJ",
|
||||||
|
"uploadProcess4" => "Отправить на проверку",
|
||||||
|
"uploadAMix" => "Загрузить микс",
|
||||||
|
"uploadSelectMix" => "Выберите файл микса (MP3 или ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Максимальный размер файла: <b>500</b> МБ",
|
||||||
|
"uploadFile" => "Загрузить файл",
|
||||||
|
"uploadSelectGenres" => "Выберите жанры (введите для поиска)",
|
||||||
|
"uploadSelectDJSMax3" => "Выберите DJ (максимум 3)",
|
||||||
|
"uploadSubmitMix" => "Отправить микс",
|
||||||
|
"uploadSelectDJ1" => "Выберите DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Выберите DJ 2 (по желанию)",
|
||||||
|
"uploadSelectDJ3" => "Выберите DJ 3 (по желанию)",
|
||||||
|
"userAlreadyExists" => "Пользователь уже существует.",
|
||||||
|
"allFieldsRequired" => "Все поля обязательны для заполнения.",
|
||||||
|
"passwordsDoNotMatch" => "Пароли не совпадают.",
|
||||||
|
"invalidEmail" => "Неверный формат электронной почты.",
|
||||||
|
"invalidUsername" => "Неверный формат имени пользователя.",
|
||||||
|
"verifyEmailAddress" => "Подтвердите свой адрес электронной почты",
|
||||||
|
"registerThankYou" => "Спасибо за регистрацию на ",
|
||||||
|
"registerVerifyEmail" => "Пожалуйста, подтвердите свой адрес электронной почты, нажав на ссылку ниже или введя код подтверждения в вашем профиле:",
|
||||||
|
"registerVerifyCodeIs" => "Ваш код подтверждения: ",
|
||||||
|
"registerVerifyTimeout" => "Этот код истечет через 15 минут.",
|
||||||
|
"password" => "Пароль",
|
||||||
|
"rememberMe" => "Запомнить меня",
|
||||||
|
"forgotPassword" => "Забыли пароль",
|
||||||
|
"dontHaveAccount" => "Нет аккаунта?",
|
||||||
|
"signUp" => "Зарегистрироваться",
|
||||||
|
"passwordResetSent" => "Если электронная почта есть в нашей системе, ссылка для сброса пароля была отправлена.",
|
||||||
|
"passwordResetRequested" => "Вы запросили сброс пароля. Пожалуйста, нажмите на ссылку ниже, чтобы сбросить пароль:",
|
||||||
|
"passwordResetUnrequested" => "Если вы не запрашивали это, игнорируйте это сообщение. Эта ссылка истечет через 15 минут.",
|
||||||
|
"emailaddressEnter" => "Введите ваш адрес электронной почты",
|
||||||
|
"messageSentSuccess" => "Сообщение успешно отправлено.",
|
||||||
|
"messageSentError" => "Произошла ошибка при отправке сообщения.",
|
||||||
|
"contactUs2" => "Мы будем рады услышать от вас. Отправьте нам сообщение и мы ответим как можно скорее.",
|
||||||
|
"messageSendUs" => "Отправьте нам сообщение",
|
||||||
|
"messageSend" => "Отправить сообщение",
|
||||||
|
"passwordReset" => "Сбросить пароль",
|
||||||
|
"enterYourUsername" => "Введите ваше имя пользователя",
|
||||||
|
"newPassword" => "Новый пароль",
|
||||||
|
"confirmPassword" => "Подтвердите новый пароль",
|
||||||
|
"passwordResetSuccess" => "Ваш пароль был успешно сброшен. Пожалуйста, войдите с новым паролем.",
|
||||||
|
"enterEmailAddressPlease" => "Пожалуйста, введите ваш адрес электронной почты.",
|
||||||
|
"emailInvalid" => "Неверный формат электронной почты.",
|
||||||
|
"passwordMismatch" => "Пароли не совпадают.",
|
||||||
|
"passwordRequirements" => "Пароль должен содержать не менее 8 символов и включать заглавные и строчные буквы, а также цифры.",
|
||||||
|
"resetExpiredInvalid" => "Неверный или истекший код сброса пароля.",
|
||||||
|
"resetExpired" => "Код сброса пароля истек.",
|
||||||
|
"codeCredsInvalid" => "Неверные учетные данные или код подтверждения.",
|
||||||
|
"change" => "Изменить",
|
||||||
|
"changePicture" => "Изменить изображение",
|
||||||
|
"verify" => "Подтвердить",
|
||||||
|
"createdUsing" => "Создано с использованием",
|
||||||
|
"djmixhostingsoftware" => "Программное обеспечение для хостинга DJ-миксов",
|
||||||
|
"privacyPolicy" => "Политика конфиденциальности",
|
||||||
|
"termsAndConditions" => "Условия и положения",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'Добродошли на нашу веб страницу!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'Ово је опис на енглеском.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Опис',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "Кориснички профил",
|
||||||
'user' => 'User',
|
'user' => 'Корисник',
|
||||||
'home' => 'Home',
|
'home' => 'Почетна',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'Име DJ-а',
|
||||||
'email' => 'Email',
|
'email' => 'Е-пошта',
|
||||||
'location' => 'Location',
|
'location' => 'Локација',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Биографија',
|
||||||
'submit' => 'Submit',
|
'submit' => 'Поднесите',
|
||||||
'login' => 'Login',
|
'login' => 'Пријава',
|
||||||
'message' => 'Message',
|
'message' => 'Порука',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Прати',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ-еви',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "Није могуће учитати DJ-а; или DJ није пронађен или је овај DJ приватан.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "Страница није пронађена",
|
||||||
"genre" => "Genre",
|
"genre" => "Жанр",
|
||||||
"genres" => "Genres",
|
"genres" => "Жанрови",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "Није могуће учитати жанр; или жанр није пронађен, био је празан, или је овај жанр приватан.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "Број микса",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Миксови",
|
||||||
"mix" => "Mix",
|
"mix" => "Микс",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "Није могуће учитати микс; или микс није пронађен, био је празан, или је овај микс приватан.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "Није могуће учитати микшоу; или микшоу није пронађен, био је празан, или је овај микшоу приватан.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "Име микса",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "Опис микса",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "Дужина микса",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Жанр мика",
|
||||||
"view" => "View",
|
"view" => "Прегледај",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "Име микса",
|
||||||
"search" => "Search",
|
"search" => "Претрага",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "Резултати претраге",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "Резултати претраге за",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "Пронађени резултати претраге",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Трака",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Последње ажурирање",
|
||||||
"duration" => "Duration",
|
"duration" => "Трајање",
|
||||||
"hour" => "hour",
|
"hour" => "сат",
|
||||||
"hours" => "hours",
|
"hours" => "сати",
|
||||||
"minute" => "minute",
|
"minute" => "минут",
|
||||||
"minutes" => "minutes",
|
"minutes" => "минуте",
|
||||||
"second" => "second",
|
"second" => "секунда",
|
||||||
"seconds" => "seconds",
|
"seconds" => "секунди",
|
||||||
"by" => "by",
|
"by" => "по",
|
||||||
"added" => "Added",
|
"added" => "Додато",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Записано",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "Ваш прегледач не подржава аудио елемент.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Преузимања",
|
||||||
"download" => "Download",
|
"download" => "Преузми",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "Преузми микс",
|
||||||
"plays" => "Plays",
|
"plays" => "Плаи",
|
||||||
"play" => "Play",
|
"play" => "Плаи",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Контактирајте нас",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Сва права задржана.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Микшоу",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Микшоу",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Име микшоу",
|
||||||
"share" => "Share",
|
"share" => "Подели",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Поделите овај микс",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Поделите ову микшоу",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Година",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "Подели на X (преименован у Твитер)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Подели на Фејсбук",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Подели на Инстаграм",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "Копирај URL",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL је копиран у клипборд",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "Неуспело копирање URL-а",
|
||||||
"name" => "Name",
|
"name" => "Име",
|
||||||
"username" => "Username",
|
"username" => "Корисничко име",
|
||||||
"logout" => "Logout",
|
"logout" => "Одјава",
|
||||||
"upload" => "Upload",
|
"upload" => "Отпремите",
|
||||||
|
"loginToVerifyEmail" => "Морате бити пријављени да бисте потврдили вашу е-пошту.",
|
||||||
|
"loginToUploadMix" => "Морате бити пријављени да бисте отпремили микс.",
|
||||||
|
"verificationCodeRequired" => "Код за верификацију је обавезан.",
|
||||||
|
"recordedDate" => "Датум снимања",
|
||||||
|
"noUploadedFileFound" => "Није пронађен ниједан отпремљен фајл. Молимо вас да отпремите микс фајл.",
|
||||||
|
"mixTitleRequired" => "Назив микса је обавезан.",
|
||||||
|
"errorUploadCDN" => "Грешка при отпремању фајла на CDN: ",
|
||||||
|
"errorSavingMixDB" => "Грешка при чувању микса у бази података.",
|
||||||
|
"uploadedPendingApproval" => "Микс је успешно отпремљен и чека одобрење.",
|
||||||
|
"uploadHeader1" => "Отпремите свој микс на DJ-еве из Јуте",
|
||||||
|
"uploadAlertHeader" => "Важно информације о отпремању",
|
||||||
|
"uploadAlert1" => "DJ-еви из Јуте је пре свега архива пројекат посвећен очувању историје и културе EDM DJ-ева у Јути. Ваши отпремљени материјали доприносе овом историјском запису.",
|
||||||
|
"uploadHeader2" => "Пре него што отпремите",
|
||||||
|
"uploadAlert2" => "Проверите да ли су сви DJ-еви укључени у нашој бази података. Ако DJ није укључен, мора бити додат и одобрен пре отпремања.",
|
||||||
|
"uploadAlert3" => "Проверите да ли су одговарајући жанрови доступни за ваш микс. Нови жанрови захтевају одобрење пре него што се могу користити.",
|
||||||
|
"uploadAlert4" => "Можете поднети захтеве за нове DJ-еве или жанрове путем подешавања вашег профила.",
|
||||||
|
"uploadProcess" => "Процес отпремања",
|
||||||
|
"uploadProcess1" => "Отпремите свој микс фајл (MP3 или ZIP формат)",
|
||||||
|
"uploadProcess2" => "Унесите детаље о миксу, укључујући назив, опис и датум снимања",
|
||||||
|
"uploadProcess3" => "Изаберите релевантне жанрове и DJ-еве",
|
||||||
|
"uploadProcess4" => "Поднесите на преглед",
|
||||||
|
"uploadAMix" => "Отпремите микс",
|
||||||
|
"uploadSelectMix" => "Изаберите микс фајл (MP3 или ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Максимална величина фајла: <b>500</b> МБ",
|
||||||
|
"uploadFile" => "Отпремите фајл",
|
||||||
|
"uploadSelectGenres" => "Изаберите жанрове (наведите за претрагу)",
|
||||||
|
"uploadSelectDJSMax3" => "Изаберите DJ-а (Максимум 3)",
|
||||||
|
"uploadSubmitMix" => "Поднесите микс",
|
||||||
|
"uploadSelectDJ1" => "Изаберите DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Изаберите DJ 2 (опционо)",
|
||||||
|
"uploadSelectDJ3" => "Изаберите DJ 3 (опционо)",
|
||||||
|
"userAlreadyExists" => "Корисник већ постоји.",
|
||||||
|
"allFieldsRequired" => "Сва поља су обавезна.",
|
||||||
|
"passwordsDoNotMatch" => "Лозинке се не поклапају.",
|
||||||
|
"invalidEmail" => "Невалидан формат е-поште.",
|
||||||
|
"invalidUsername" => "Невалидан формат корисничког имена.",
|
||||||
|
"verifyEmailAddress" => "Потврдите вашу е-пошту",
|
||||||
|
"registerThankYou" => "Хвала што сте се регистровали на ",
|
||||||
|
"registerVerifyEmail" => "Молимо вас да потврдите вашу е-пошту кликом на линк испод или уношењем кода за верификацију у ваш профил:",
|
||||||
|
"registerVerifyCodeIs" => "Ваш код за верификацију је: ",
|
||||||
|
"registerVerifyTimeout" => "Овај код ће истећи за 15 минута.",
|
||||||
|
"password" => "Лозинка",
|
||||||
|
"rememberMe" => "Запамти ме",
|
||||||
|
"forgotPassword" => "Заборавили сте лозинку",
|
||||||
|
"dontHaveAccount" => "Немате налог?",
|
||||||
|
"signUp" => "Региструј се",
|
||||||
|
"passwordResetSent" => "Ако е-пошта постоји у нашем систему, линк за ресетовање лозинке је послат.",
|
||||||
|
"passwordResetRequested" => "Затражили сте ресетовање лозинке. Молимо вас да кликнете на линк испод да бисте ресетовали лозинку:",
|
||||||
|
"passwordResetUnrequested" => "Ако нисте затражили ово, игноришите ову е-пошту. Овај линк ће истећи за 15 минута.",
|
||||||
|
"emailaddressEnter" => "Унесите вашу е-пошту",
|
||||||
|
"messageSentSuccess" => "Порука успешно послата.",
|
||||||
|
"messageSentError" => "Дошло је до грешке током слања поруке.",
|
||||||
|
"contactUs2" => "Волели бисмо да чујемо од вас. Пошаљите нам поруку и ми ћемо одговорити у најкраћем могућем року.",
|
||||||
|
"messageSendUs" => "Пошаљите нам поруку",
|
||||||
|
"messageSend" => "Пошаљи поруку",
|
||||||
|
"passwordReset" => "Ресетуј лозинку",
|
||||||
|
"enterYourUsername" => "Унесите ваше корисничко име",
|
||||||
|
"newPassword" => "Нова лозинка",
|
||||||
|
"confirmPassword" => "Потврдите нову лозинку",
|
||||||
|
"passwordResetSuccess" => "Ваша лозинка је успешно ресетована. Молимо вас да се пријавите са новом лозинком.",
|
||||||
|
"enterEmailAddressPlease" => "Молимо вас да унесете вашу е-пошту.",
|
||||||
|
"emailInvalid" => "Невалидан формат е-поште.",
|
||||||
|
"passwordMismatch" => "Лозинке се не поклапају.",
|
||||||
|
"passwordRequirements" => "Лозинка мора имати најмање 8 знакова и укључивати велика и мала слова, као и број.",
|
||||||
|
"resetExpiredInvalid" => "Невалидан или истекао код за ресетовање лозинке.",
|
||||||
|
"resetExpired" => "Код за ресетовање лозинке је истекао.",
|
||||||
|
"codeCredsInvalid" => "Невалидне акредитиве или код за верификацију.",
|
||||||
|
"change" => "Промени",
|
||||||
|
"changePicture" => "Промени слику",
|
||||||
|
"verify" => "Потврдите",
|
||||||
|
"createdUsing" => "Креирано коришћењем",
|
||||||
|
"djmixhostingsoftware" => "Софтеар за хостовање DJ микса",
|
||||||
|
"privacyPolicy" => "Политика приватности",
|
||||||
|
"termsAndConditions" => "Услови и одредбе",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,41 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Välkommen till vår webbplats!',
|
'welcome' => 'Välkommen till vår hemsida!',
|
||||||
'description' => 'Detta är en beskrivning på engelska.',
|
'description' => 'Detta är en beskrivning på engelska.',
|
||||||
'desc' => 'Beskrivning',
|
'desc' => 'Beskrivning',
|
||||||
'userProfile' => "Användarprofil",
|
'userProfile' => "Användarprofil",
|
||||||
'user' => 'Användare',
|
'user' => 'Användare',
|
||||||
'home' => 'Hem',
|
'home' => 'Hem',
|
||||||
'djName' => 'DJ namn',
|
'djName' => 'DJ-namn',
|
||||||
'email' => 'E-post',
|
'email' => 'E-post',
|
||||||
'location' => 'Plats',
|
'location' => 'Plats',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biografi',
|
||||||
'submit' => 'Skicka',
|
'submit' => 'Skicka',
|
||||||
'login' => 'Inloggning',
|
'login' => 'Logga in',
|
||||||
'message' => 'Meddelande',
|
'message' => 'Meddelande',
|
||||||
'follow' => 'Följ',
|
'follow' => 'Följ',
|
||||||
'djs' => 'DJ',
|
'djs' => 'DJ:s',
|
||||||
"djNotFound" => "Kunde inte ladda DJ; antingen hittades DJ:n eller så är DJ:n privat.",
|
"djNotFound" => "Kunde inte ladda DJ; antingen hittades inte DJ:n eller så är denna DJ privat.",
|
||||||
"notfound" => "Sidan hittades inte",
|
"notfound" => "Sidan kunde inte hittas",
|
||||||
"genre" => "Genre",
|
"genre" => "Genre",
|
||||||
"genres" => "Genres",
|
"genres" => "Genrer",
|
||||||
"genreNotFound" => "Kunde inte ladda genr; antingen hittades genren, var tom, eller så är denna genre privat.",
|
"genreNotFound" => "Gick inte att ladda genre; antingen hittades inte genren, var tom, eller så är denna genre privat.",
|
||||||
"mix-count" => "Antal blandningar",
|
"mix-count" => "Mixantal",
|
||||||
"mixes" => "Blandningar",
|
"mixes" => "Mixar",
|
||||||
"mix" => "Blanda",
|
"mix" => "Mix",
|
||||||
"mixNotFound" => "Kunde inte ladda mix; antingen hittades blandningen inte, var tom, eller denna blandning är privat.",
|
"mixNotFound" => "Gick inte att ladda mix; antingen hittades inte mixen, var tom, eller så är denna mix privat.",
|
||||||
"mixshowNotFound" => "Kunde inte ladda mixshow; antingen hittades inte mixshowen, var tom, eller så är denna mixshow privat.",
|
"mixshowNotFound" => "Gick inte att ladda mixshow; antingen hittades inte mixshowen, var tom, eller så är denna mixshow privat.",
|
||||||
"mixName" => "Blanda namn",
|
"mixName" => "Mixnamn",
|
||||||
"mixDescription" => "Blanda beskrivning",
|
"mixDescription" => "Mixbeskrivning",
|
||||||
"mixLength" => "Blanda längd",
|
"mixLength" => "Mixlängd",
|
||||||
"mixGenre" => "Blanda genre",
|
"mixGenre" => "Mixgenre",
|
||||||
"view" => "Visa",
|
"view" => "Visa",
|
||||||
"mixname" => "Blanda namn",
|
"mixname" => "Mixnamn",
|
||||||
"search" => "Sök",
|
"search" => "Sök",
|
||||||
"searchResults" => "Sökresultat",
|
"searchResults" => "Sökresultat",
|
||||||
"searchResultsFor" => "Sökresultat för",
|
"searchResultsFor" => "Sökresultat för",
|
||||||
"searchResultsFound" => "Sökresultat hittades",
|
"searchResultsFound" => "Sökresultat hittades",
|
||||||
"tracklist" => "Spårlista",
|
"tracklist" => "Låtlista",
|
||||||
"lastupdated" => "Senast uppdaterad",
|
"lastupdated" => "Senast uppdaterad",
|
||||||
"duration" => "Varaktighet",
|
"duration" => "Varaktighet",
|
||||||
"hour" => "timme",
|
"hour" => "timme",
|
||||||
|
@ -46,31 +46,110 @@ return [
|
||||||
"seconds" => "sekunder",
|
"seconds" => "sekunder",
|
||||||
"by" => "av",
|
"by" => "av",
|
||||||
"added" => "Tillagd",
|
"added" => "Tillagd",
|
||||||
"recorded" => "Inspelat",
|
"recorded" => "Inspelad",
|
||||||
"audioNotSupported" => "Din webbläsare stöder inte ljudelementet.",
|
"audioNotSupported" => "Din webbläsare stöder inte ljudelementet.",
|
||||||
"downloads" => "Nedladdningar",
|
"downloads" => "Nedladdningar",
|
||||||
"download" => "Hämta",
|
"download" => "Ladda ner",
|
||||||
"downloadMix" => "Ladda ner mix",
|
"downloadMix" => "Ladda ner mix",
|
||||||
"plays" => "Pjäser",
|
"plays" => "Spelningar",
|
||||||
"play" => "Spela",
|
"play" => "Spela",
|
||||||
"contactus" => "Kontakta oss",
|
"contactus" => "Kontakta oss",
|
||||||
"allrightsreserved" => "Alla rättigheter reserverade.",
|
"allrightsreserved" => "Alla rättigheter förbehållna.",
|
||||||
"mixshows" => "Blandningsserier",
|
"mixshows" => "Mixshower",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Mixshow",
|
||||||
"mixshowName" => "Mixseriens namn",
|
"mixshowName" => "Mixshow namn",
|
||||||
"share" => "Dela",
|
"share" => "Dela",
|
||||||
"sahrethismix" => "Dela denna mix",
|
"sahrethismix" => "Dela denna mix",
|
||||||
"sharethismixshow" => "Dela denna mixshow",
|
"sharethismixshow" => "Dela denna mixshow",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "År",
|
"year" => "År",
|
||||||
"sharetotwitter" => "Dela till X (tidigare Twitter)",
|
"sharetotwitter" => "Dela till X (tidigare Twitter)",
|
||||||
"sharetofb" => "Dela på Facebook",
|
"sharetofb" => "Dela till Facebook",
|
||||||
"sharetoig" => "Dela på Instagram",
|
"sharetoig" => "Dela till Instagram",
|
||||||
"copyurl" => "Kopiera URL",
|
"copyurl" => "Kopiera URL",
|
||||||
"urlcopiedtoclipboard" => "URL kopierad till urklipp",
|
"urlcopiedtoclipboard" => "URL kopierad till urklipp",
|
||||||
"failedtocopyurl" => "Kunde inte kopiera URL",
|
"failedtocopyurl" => "Kopiering av URL misslyckades",
|
||||||
"name" => "Namn",
|
"name" => "Namn",
|
||||||
"username" => "Användarnamn",
|
"username" => "Användarnamn",
|
||||||
"logout" => "Utloggning",
|
"logout" => "Logga ut",
|
||||||
"upload" => "Ladda upp",
|
"upload" => "Ladda upp",
|
||||||
|
"loginToVerifyEmail" => "Du måste vara inloggad för att verifiera din e-post.",
|
||||||
|
"loginToUploadMix" => "Du måste vara inloggad för att ladda upp en mix.",
|
||||||
|
"verificationCodeRequired" => "Verifieringskod krävs.",
|
||||||
|
"recordedDate" => "Inspelningsdatum",
|
||||||
|
"noUploadedFileFound" => "Ingen uppladdad fil hittades. Var vänlig ladda upp en mixfil.",
|
||||||
|
"mixTitleRequired" => "Mixnamn krävs.",
|
||||||
|
"errorUploadCDN" => "Fel vid uppladdning av fil till CDN: ",
|
||||||
|
"errorSavingMixDB" => "Fel vid sparande av mix till databasen.",
|
||||||
|
"uploadedPendingApproval" => "Mixen har laddats upp framgångsrikt och väntar på godkännande.",
|
||||||
|
"uploadHeader1" => "Ladda upp din mix till Utahs DJs",
|
||||||
|
"uploadAlertHeader" => "Viktig uppladdningsinformation",
|
||||||
|
"uploadAlert1" => "Utahs DJs är främst ett arkivprojekt som ägnar sig åt att bevara historien och kulturen av EDM DJs i Utah. Dina uppladdningar bidrar till denna historiska dokumentation.",
|
||||||
|
"uploadHeader2" => "Innan du laddar upp",
|
||||||
|
"uploadAlert2" => "Verifiera att alla involverade DJs är listade i vår databas. Om en DJ inte är listad måste de läggas till och godkännas innan uppladdning.",
|
||||||
|
"uploadAlert3" => "Kontrollera att lämpliga genrer är tillgängliga för din mix. Nya genrer kräver godkännande innan de kan användas.",
|
||||||
|
"uploadAlert4" => "Du kan skicka nya DJ- eller genreförfrågningar genom dina profilinställningar.",
|
||||||
|
"uploadProcess" => "Uppladdningsprocess",
|
||||||
|
"uploadProcess1" => "Ladda upp din mixfil (MP3 eller ZIP-format)",
|
||||||
|
"uploadProcess2" => "Ange mixdetaljer, inklusive titel, beskrivning och inspelningsdatum",
|
||||||
|
"uploadProcess3" => "Välj relevanta genrer och DJs",
|
||||||
|
"uploadProcess4" => "Skicka för granskning",
|
||||||
|
"uploadAMix" => "Ladda upp en mix",
|
||||||
|
"uploadSelectMix" => "Välj mixfil (MP3 eller ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Max filstorlek: 500MB",
|
||||||
|
"uploadFile" => "Ladda upp fil",
|
||||||
|
"uploadSelectGenres" => "Välj genrer (skriv för att söka)",
|
||||||
|
"uploadSelectDJSMax3" => "Välj DJs (Max 3)",
|
||||||
|
"uploadSubmitMix" => "Skicka mix",
|
||||||
|
"uploadSelectDJ1" => "Välj DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Välj DJ 2 (valfritt)",
|
||||||
|
"uploadSelectDJ3" => "Välj DJ 3 (valfritt)",
|
||||||
|
"userAlreadyExists" => "Användaren finns redan.",
|
||||||
|
"allFieldsRequired" => "Alla fält är obligatoriska.",
|
||||||
|
"passwordsDoNotMatch" => "Lösenorden matchar inte.",
|
||||||
|
"invalidEmail" => "Ogiltigt e-postformat.",
|
||||||
|
"invalidUsername" => "Ogiltigt användarnamnformat.",
|
||||||
|
"verifyEmailAddress" => "Verifiera din e-postadress",
|
||||||
|
"registerThankYou" => "Tack för att du registrerade dig på ",
|
||||||
|
"registerVerifyEmail" => "Vänligen verifiera din e-postadress genom att klicka på länken nedan eller genom att ange verifieringskoden i din profil:",
|
||||||
|
"registerVerifyCodeIs" => "Din verifieringskod är: ",
|
||||||
|
"registerVerifyTimeout" => "Denna kod går ut om 15 minuter.",
|
||||||
|
"password" => "Lösenord",
|
||||||
|
"rememberMe" => "Kom ihåg mig",
|
||||||
|
"forgotPassword" => "Glömt lösenordet",
|
||||||
|
"dontHaveAccount" => "Har du inget konto?",
|
||||||
|
"signUp" => "Registrera dig",
|
||||||
|
"passwordResetSent" => "Om e-posten finns i vårt system har en länk för att återställa lösenordet skickats.",
|
||||||
|
"passwordResetRequested" => "Du har begärt att återställa ditt lösenord. Vänligen klicka på länken nedan för att återställa ditt lösenord:",
|
||||||
|
"passwordResetUnrequested" => "Om du inte begärde detta, ignorera detta e-postmeddelande. Denna länk går ut om 15 minuter.",
|
||||||
|
"emailaddressEnter" => "Ange din e-postadress",
|
||||||
|
"messageSentSuccess" => "Meddelandet skickades framgångsrikt.",
|
||||||
|
"messageSentError" => "Ett fel inträffade vid skickandet av meddelandet.",
|
||||||
|
"contactUs2" => "Vi vill gärna höra från dig. Skicka oss ett meddelande så svarar vi så snart som möjligt.",
|
||||||
|
"messageSendUs" => "Skicka oss ett meddelande",
|
||||||
|
"messageSend" => "Skicka meddelande",
|
||||||
|
"passwordReset" => "Återställ lösenord",
|
||||||
|
"enterYourUsername" => "Ange ditt användarnamn",
|
||||||
|
"newPassword" => "Nytt lösenord",
|
||||||
|
"confirmPassword" => "Bekräfta nytt lösenord",
|
||||||
|
"passwordResetSuccess" => "Ditt lösenord har återställts framgångsrikt. Vänligen logga in med ditt nya lösenord.",
|
||||||
|
"enterEmailAddressPlease" => "Vänligen ange din e-postadress.",
|
||||||
|
"emailInvalid" => "Ogiltigt e-postformat.",
|
||||||
|
"passwordMismatch" => "Lösenorden matchar inte.",
|
||||||
|
"passwordRequirements" => "Lösenordet måste vara minst 8 tecken långt och inkludera versaler och gemener, samt ett nummer.",
|
||||||
|
"resetExpiredInvalid" => "Ogiltig eller utgått lösenordsåterställningskod.",
|
||||||
|
"resetExpired" => "Lösenordsåterställningskoden har gått ut.",
|
||||||
|
"codeCredsInvalid" => "Ogiltiga uppgifter eller verifieringskod.",
|
||||||
|
"change" => "Ändra",
|
||||||
|
"changePicture" => "Ändra bild",
|
||||||
|
"verify" => "Verkställa",
|
||||||
|
"createdUsing" => "Skapad med hjälp av",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Värdtjänstprogramvara",
|
||||||
|
"privacyPolicy" => "Integritetspolicy",
|
||||||
|
"termsAndConditions" => "Villkor",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'Web Sitemize Hoş Geldiniz!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'Bu, İngilizce\'de bir tanımdır.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Açıklama',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "Kullanıcı Profili",
|
||||||
'user' => 'User',
|
'user' => 'Kullanıcı',
|
||||||
'home' => 'Home',
|
'home' => 'Anasayfa',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'DJ Adı',
|
||||||
'email' => 'Email',
|
'email' => 'E-posta',
|
||||||
'location' => 'Location',
|
'location' => 'Konum',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Biyografi',
|
||||||
'submit' => 'Submit',
|
'submit' => 'Gönder',
|
||||||
'login' => 'Login',
|
'login' => 'Giriş',
|
||||||
'message' => 'Message',
|
'message' => 'Mesaj',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Takip Et',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ\'ler',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "DJ yüklenemedi; ya DJ bulunamadı ya da bu DJ özel.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "Sayfa bulunamadı",
|
||||||
"genre" => "Genre",
|
"genre" => "Tür",
|
||||||
"genres" => "Genres",
|
"genres" => "Türler",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "Tür yüklenemedi; ya tür bulunamadı, ya boştu ya da bu tür özel.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "Mix Sayısı",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Mix'ler",
|
||||||
"mix" => "Mix",
|
"mix" => "Karıştır",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "Mix yüklenemedi; ya mix bulunamadı, ya boştu ya da bu mix özel.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "Mixshow yüklenemedi; ya mixshow bulunamadı, ya boştu ya da bu mixshow özel.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "Mix Adı",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "Mix Açıklaması",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "Mix Süresi",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Mix Türü",
|
||||||
"view" => "View",
|
"view" => "Görüntüle",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "Mix Adı",
|
||||||
"search" => "Search",
|
"search" => "Ara",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "Arama Sonuçları",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "Arama Sonuçları için",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "Bulunan Arama Sonuçları",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Parça Listesi",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Son Güncellenme",
|
||||||
"duration" => "Duration",
|
"duration" => "Süre",
|
||||||
"hour" => "hour",
|
"hour" => "saat",
|
||||||
"hours" => "hours",
|
"hours" => "saatler",
|
||||||
"minute" => "minute",
|
"minute" => "dakika",
|
||||||
"minutes" => "minutes",
|
"minutes" => "dakikalar",
|
||||||
"second" => "second",
|
"second" => "sanaye",
|
||||||
"seconds" => "seconds",
|
"seconds" => "saniyeler",
|
||||||
"by" => "by",
|
"by" => "tarafından",
|
||||||
"added" => "Added",
|
"added" => "Eklendi",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Kaydedildi",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "Tarayıcınız ses öğesini desteklemiyor.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "İndirmeler",
|
||||||
"download" => "Download",
|
"download" => "İndir",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "Mix'i İndir",
|
||||||
"plays" => "Plays",
|
"plays" => "Dinlemeler",
|
||||||
"play" => "Play",
|
"play" => "Dinlet",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Bize Ulaşın",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Tüm hakları saklıdır.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Mixshow'lar",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Karıştırma Şovu",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Mixshow Adı",
|
||||||
"share" => "Share",
|
"share" => "Paylaş",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Bu mix'i paylaş",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Bu mixshow'u paylaş",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Yıl",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "X'e Paylaş (eski adıyla Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Facebook'a Paylaş",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Instagram'a Paylaş",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "URL'yi Kopyala",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL panoya kopyalandı",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "URL kopyalanamadı",
|
||||||
"name" => "Name",
|
"name" => "Ad",
|
||||||
"username" => "Username",
|
"username" => "Kullanıcı Adı",
|
||||||
"logout" => "Logout",
|
"logout" => "Çıkış Yap",
|
||||||
"upload" => "Upload",
|
"upload" => "Yükle",
|
||||||
|
"loginToVerifyEmail" => "E-posta adresinizi doğrulamak için giriş yapmalısınız.",
|
||||||
|
"loginToUploadMix" => "Mix yüklemek için giriş yapmalısınız.",
|
||||||
|
"verificationCodeRequired" => "Doğrulama kodu gereklidir.",
|
||||||
|
"recordedDate" => "Kaydedilen Tarih",
|
||||||
|
"noUploadedFileFound" => "Yüklenmiş dosya bulunamadı. Lütfen bir mix dosyası yükleyin.",
|
||||||
|
"mixTitleRequired" => "Mix başlığı gereklidir.",
|
||||||
|
"errorUploadCDN" => "CDN'ye dosya yükleme hatası: ",
|
||||||
|
"errorSavingMixDB" => "Mix veritabanına kaydedilemedi.",
|
||||||
|
"uploadedPendingApproval" => "Mix başarıyla yüklendi ve onay bekliyor.",
|
||||||
|
"uploadHeader1" => "Mixinizi Utah'lı DJ'lere yükleyin",
|
||||||
|
"uploadAlertHeader" => "Önemli Yükleme Bilgileri",
|
||||||
|
"uploadAlert1" => "Utah'lı DJ'ler, Utah'daki EDM DJ'lerinin tarihini ve kültürünü korumaya adanmış öncelikle bir arşiv projesidir. Yüklemeleriniz, bu tarihsel kayda katkıda bulunur.",
|
||||||
|
"uploadHeader2" => "Yüklemeden Önce",
|
||||||
|
"uploadAlert2" => "İlgili tüm DJ'lerin veritabanımızda listelendiğinden emin olun. Eğer bir DJ listede yoksa, yüklemeden önce eklenmeli ve onaylanmalıdır.",
|
||||||
|
"uploadAlert3" => "Mix'iniz için uygun türlerin mevcut olduğundan emin olun. Yeni türlerin kullanılabilmesi için onay gereklidir.",
|
||||||
|
"uploadAlert4" => "Yeni DJ veya tür taleplerini profil ayarlarınızdan gönderebilirsiniz.",
|
||||||
|
"uploadProcess" => "Yükleme Süreci",
|
||||||
|
"uploadProcess1" => "Mix dosyanızı yükleyin (MP3 veya ZIP formatında)",
|
||||||
|
"uploadProcess2" => "Mix detaylarını girin, başlık, açıklama ve kayıt tarihi dahil",
|
||||||
|
"uploadProcess3" => "İlgili türleri ve DJ'leri seçin",
|
||||||
|
"uploadProcess4" => "İnceleme için gönder",
|
||||||
|
"uploadAMix" => "Bir Mix Yükle",
|
||||||
|
"uploadSelectMix" => "Mix Dosyasını Seçin (MP3 veya ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Maksimum dosya boyutu: 500MB",
|
||||||
|
"uploadFile" => "Dosya Yükle",
|
||||||
|
"uploadSelectGenres" => "Türleri Seçin (arama yapmak için yazın)",
|
||||||
|
"uploadSelectDJSMax3" => "DJ'leri Seçin (Maksimum 3)",
|
||||||
|
"uploadSubmitMix" => "Mix'i Gönder",
|
||||||
|
"uploadSelectDJ1" => "DJ 1'i Seçin",
|
||||||
|
"uploadSelectDJ2" => "DJ 2'yi Seçin (isteğe bağlı)",
|
||||||
|
"uploadSelectDJ3" => "DJ 3'ü Seçin (isteğe bağlı)",
|
||||||
|
"userAlreadyExists" => "Kullanıcı zaten mevcut.",
|
||||||
|
"allFieldsRequired" => "Tüm alanlar gereklidir.",
|
||||||
|
"passwordsDoNotMatch" => "Şifreler eşleşmiyor.",
|
||||||
|
"invalidEmail" => "Geçersiz e-posta formatı.",
|
||||||
|
"invalidUsername" => "Geçersiz kullanıcı adı formatı.",
|
||||||
|
"verifyEmailAddress" => "E-posta Adresinizi Doğrulayın",
|
||||||
|
"registerThankYou" => " kaydolduğunuz için teşekkür ederiz",
|
||||||
|
"registerVerifyEmail" => "Lütfen e-posta adresinizi aşağıdaki bağlantıya tıklayarak veya profilinize doğrulama kodunu girerek doğrulayın:",
|
||||||
|
"registerVerifyCodeIs" => "Doğrulama kodunuz: ",
|
||||||
|
"registerVerifyTimeout" => "Bu kod 15 dakika içinde geçersiz olacaktır.",
|
||||||
|
"password" => "Şifre",
|
||||||
|
"rememberMe" => "Beni Hatırla",
|
||||||
|
"forgotPassword" => "Şifremi Unuttum",
|
||||||
|
"dontHaveAccount" => "Hesabınız yok mu?",
|
||||||
|
"signUp" => "Kayıt Ol",
|
||||||
|
"passwordResetSent" => "E-posta sistemimizde mevcutsa, bir şifre sıfırlama bağlantısı gönderildi.",
|
||||||
|
"passwordResetRequested" => "Şifrenizi sıfırlamak için bu bağlantıya tıklayın:",
|
||||||
|
"passwordResetUnrequested" => "Eğer bu istekte bulunmadıysanız, lütfen bu e-postayı dikkate almayın. Bu bağlantı 15 dakika içinde geçersiz olacaktır.",
|
||||||
|
"emailaddressEnter" => "Lütfen e-posta adresinizi girin",
|
||||||
|
"messageSentSuccess" => "Mesaj başarıyla gönderildi.",
|
||||||
|
"messageSentError" => "Mesaj gönderilirken bir hata oluştu.",
|
||||||
|
"contactUs2" => "Sizden haber almak isteriz. Bize bir mesaj gönderin, en kısa sürede yanıt verelim.",
|
||||||
|
"messageSendUs" => "Bize Bir Mesaj Gönder",
|
||||||
|
"messageSend" => "Mesaj Gönder",
|
||||||
|
"passwordReset" => "Şifreyi Sıfırla",
|
||||||
|
"enterYourUsername" => "Kullanıcı adınızı girin",
|
||||||
|
"newPassword" => "Yeni Şifre",
|
||||||
|
"confirmPassword" => "Yeni Şifreyi Onayla",
|
||||||
|
"passwordResetSuccess" => "Şifreniz başarıyla sıfırlandı. Lütfen yeni şifrenizle giriş yapın.",
|
||||||
|
"enterEmailAddressPlease" => "Lütfen e-posta adresinizi girin.",
|
||||||
|
"emailInvalid" => "Geçersiz e-posta formatı.",
|
||||||
|
"passwordMismatch" => "Şifreler eşleşmiyor.",
|
||||||
|
"passwordRequirements" => "Şifre en az 8 karakter uzunluğunda olmalı ve büyük ve küçük harfler ile bir rakam içermelidir.",
|
||||||
|
"resetExpiredInvalid" => "Geçersiz veya süresi dolmuş şifre sıfırlama kodu.",
|
||||||
|
"resetExpired" => "Şifre sıfırlama kodu süresi dolmuştur.",
|
||||||
|
"codeCredsInvalid" => "Geçersiz kimlik bilgileri veya doğrulama kodu.",
|
||||||
|
"change" => "Değiştir",
|
||||||
|
"changePicture" => "Resmi Değiştir",
|
||||||
|
"verify" => "Doğrula",
|
||||||
|
"createdUsing" => "Şu kullanılarak oluşturuldu",
|
||||||
|
"djmixhostingsoftware" => "DJ Mix Barındırma Yazılımı",
|
||||||
|
"privacyPolicy" => "Gizlilik Politikası",
|
||||||
|
"termsAndConditions" => "Kullanım Şartları",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Ласкаво просимо на наш сайт!',
|
'welcome' => 'Ласкаво просимо на наш веб-сайт!',
|
||||||
'description' => 'Це опис англійською.',
|
'description' => 'Це опис англійською мовою.',
|
||||||
'desc' => 'Опис',
|
'desc' => 'Опис',
|
||||||
'userProfile' => "Профіль користувача",
|
'userProfile' => "Профіль користувача",
|
||||||
'user' => 'Користувач',
|
'user' => 'Користувач',
|
||||||
'home' => 'Домашній екран',
|
'home' => 'Головна',
|
||||||
'djName' => 'Ім\'я DJ',
|
'djName' => 'Ім\'я DJ',
|
||||||
'email' => 'Ел. пошта',
|
'email' => 'Електронна пошта',
|
||||||
'location' => 'Місцезнаходження',
|
'location' => 'Локація',
|
||||||
'bio' => 'Біо',
|
'bio' => 'Біографія',
|
||||||
'submit' => 'Ввести',
|
'submit' => 'Відправити',
|
||||||
'login' => 'Логін',
|
'login' => 'Увійти',
|
||||||
'message' => 'Повідомлення',
|
'message' => 'Повідомлення',
|
||||||
'follow' => 'Слідкувати',
|
'follow' => 'Слідкуйте',
|
||||||
'djs' => 'Діс',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "Не можливо завантажити DJ; або DJ не знайдено, або цей DJ — приватний.",
|
"djNotFound" => "Не вдалося завантажити DJ; або DJ не знайдено, або цей DJ приватний.",
|
||||||
"notfound" => "Сторінка не знайдена",
|
"notfound" => "Сторінку не знайдено",
|
||||||
"genre" => "Жанр",
|
"genre" => "Жанр",
|
||||||
"genres" => "Genres",
|
"genres" => "Жанри",
|
||||||
"genreNotFound" => "Не вдалося завантажити жанр, або жанр не було знайдено, було порожнім, або цей жанр є приватним.",
|
"genreNotFound" => "Не вдалося завантажити жанр; або жанр не знайдено, був пустим, або цей жанр приватний.",
|
||||||
"mix-count" => "Лічильник міксів",
|
"mix-count" => "Кількість міксів",
|
||||||
"mixes" => "Змішати",
|
"mixes" => "Мікси",
|
||||||
"mix" => "Змішати",
|
"mix" => "Мікс",
|
||||||
"mixNotFound" => "Не вдалось завантажити мікс; або суміш не знайдена, була порожня, або ця суміш приватна.",
|
"mixNotFound" => "Не вдалося завантажити мікс; або мікс не знайдено, був пустим, або цей мікс приватний.",
|
||||||
"mixshowNotFound" => "Не вдалося завантажити шоу, або не знайдене змішування, було порожнім, або це змішання є приватним.",
|
"mixshowNotFound" => "Не вдалося завантажити мікс-шоу; або мікс-шоу не знайдено, був пустим, або це мікс-шоу приватне.",
|
||||||
"mixName" => "Змішане ім'я",
|
"mixName" => "Назва міксу",
|
||||||
"mixDescription" => "Змішати опис",
|
"mixDescription" => "Опис міксу",
|
||||||
"mixLength" => "Довжина мікса",
|
"mixLength" => "Тривалість міксу",
|
||||||
"mixGenre" => "Мікс-жанр",
|
"mixGenre" => "Жанр міксу",
|
||||||
"view" => "Дивитись",
|
"view" => "Перегляд",
|
||||||
"mixname" => "Змішане ім'я",
|
"mixname" => "Назва міксу",
|
||||||
"search" => "Пошук",
|
"search" => "Пошук",
|
||||||
"searchResults" => "Результати пошуку",
|
"searchResults" => "Результати пошуку",
|
||||||
"searchResultsFor" => "Результати пошуку для",
|
"searchResultsFor" => "Результати пошуку для",
|
||||||
"searchResultsFound" => "Результати пошуку знайдено",
|
"searchResultsFound" => "Знайдено результатів пошуку",
|
||||||
"tracklist" => "Список треків",
|
"tracklist" => "Треклист",
|
||||||
"lastupdated" => "Востаннє оновлено",
|
"lastupdated" => "Останнє оновлення",
|
||||||
"duration" => "Тривалість",
|
"duration" => "Тривалість",
|
||||||
"hour" => "година",
|
"hour" => "година",
|
||||||
"hours" => "годин",
|
"hours" => "години",
|
||||||
"minute" => "хвилина",
|
"minute" => "хвилина",
|
||||||
"minutes" => "хвилин",
|
"minutes" => "хвилини",
|
||||||
"second" => "секунда",
|
"second" => "секунда",
|
||||||
"seconds" => "секунди",
|
"seconds" => "секунди",
|
||||||
"by" => "за",
|
"by" => "від",
|
||||||
"added" => "Додано",
|
"added" => "Додано",
|
||||||
"recorded" => "Записано",
|
"recorded" => "Записано",
|
||||||
"audioNotSupported" => "Ваш браузер не підтримує аудіо елемент.",
|
"audioNotSupported" => "Ваш браузер не підтримує аудіо елемент.",
|
||||||
"downloads" => "Завантажень",
|
"downloads" => "Завантаження",
|
||||||
"download" => "Звантажити",
|
"download" => "Завантажити",
|
||||||
"downloadMix" => "Завантажити Mix",
|
"downloadMix" => "Завантажити мікс",
|
||||||
"plays" => "Ігри",
|
"plays" => "Виконання",
|
||||||
"play" => "Відтворити",
|
"play" => "Виконати",
|
||||||
"contactus" => "Зв’язатись з нами",
|
"contactus" => "Зв'яжіться з нами",
|
||||||
"allrightsreserved" => "Усі права захищені.",
|
"allrightsreserved" => "Всі права захищені.",
|
||||||
"mixshows" => "Змішані серіали",
|
"mixshows" => "Мікс-шоу",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Мікс-шоу",
|
||||||
"mixshowName" => "Змішане ім'я",
|
"mixshowName" => "Назва мікс-шоу",
|
||||||
"share" => "Поділитись",
|
"share" => "Поділитися",
|
||||||
"sahrethismix" => "Поділитися цим мікшуванням",
|
"sahrethismix" => "Поділитися цим міксом",
|
||||||
"sharethismixshow" => "Поділитися цим мікшалом",
|
"sharethismixshow" => "Поділитися цим мікс-шоуном",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Рік",
|
"year" => "Рік",
|
||||||
"sharetotwitter" => "Поділитись до X (раніше Twitter)",
|
"sharetotwitter" => "Поділитися з X (раніше Twitter)",
|
||||||
"sharetofb" => "Поділитись у Facebook",
|
"sharetofb" => "Поділитися у Facebook",
|
||||||
"sharetoig" => "Поділитися в Instagram",
|
"sharetoig" => "Поділитися в Instagram",
|
||||||
"copyurl" => "Копіювати посилання",
|
"copyurl" => "Скопіювати URL",
|
||||||
"urlcopiedtoclipboard" => "URL скопійовано до буферу обміну",
|
"urlcopiedtoclipboard" => "URL скопійовано в буфер обміну",
|
||||||
"failedtocopyurl" => "Не вдалося скопіювати URL-адресу",
|
"failedtocopyurl" => "Не вдалося скопіювати URL",
|
||||||
"name" => "Ім'я",
|
"name" => "Ім'я",
|
||||||
"username" => "Ім'я користувача",
|
"username" => "Ім'я користувача",
|
||||||
"logout" => "Вихід із системи",
|
"logout" => "Вийти",
|
||||||
"upload" => "Вивантажити",
|
"upload" => "Завантажити",
|
||||||
|
"loginToVerifyEmail" => "Вам потрібно увійти, щоб підтвердити свою електронну пошту.",
|
||||||
|
"loginToUploadMix" => "Вам потрібно увійти, щоб завантажити мікс.",
|
||||||
|
"verificationCodeRequired" => "Код підтвердження є обов'язковим.",
|
||||||
|
"recordedDate" => "Дата запису",
|
||||||
|
"noUploadedFileFound" => "Не знайдено завантажений файл. Будь ласка, завантажте файл міксу.",
|
||||||
|
"mixTitleRequired" => "Назва міксу є обов'язковою.",
|
||||||
|
"errorUploadCDN" => "Помилка під час завантаження файлу на CDN: ",
|
||||||
|
"errorSavingMixDB" => "Помилка збереження міксу в базі даних.",
|
||||||
|
"uploadedPendingApproval" => "Мікс успішно завантажено та очікує схвалення.",
|
||||||
|
"uploadHeader1" => "Завантажте свій мікс для DJ з Юти",
|
||||||
|
"uploadAlertHeader" => "Важлива інформація для завантаження",
|
||||||
|
"uploadAlert1" => "DJ з Юти - це перш за все архівний проект, присвячений збереженню історії та культури EDM DJ в Юті. Ваші завантаження сприяють цій історичній пам'яті.",
|
||||||
|
"uploadHeader2" => "Перед завантаженням",
|
||||||
|
"uploadAlert2" => "Перевірте, що всі залучені DJ внесені до нашої бази даних. Якщо DJ не вказаний, його потрібно додати та затвердити перед завантаженням.",
|
||||||
|
"uploadAlert3" => "Перевірте, щоб відповідні жанри були доступні для вашого міксу. Нові жанри потребують затвердження перед використанням.",
|
||||||
|
"uploadAlert4" => "Ви можете подавати нові запити на DJ або жанри через налаштування свого профілю.",
|
||||||
|
"uploadProcess" => "Процес завантаження",
|
||||||
|
"uploadProcess1" => "Завантажте файл міксу (формат MP3 або ZIP)",
|
||||||
|
"uploadProcess2" => "Введіть деталі міксу, включаючи назву, опис та дату запису",
|
||||||
|
"uploadProcess3" => "Виберіть відповідні жанри та DJ",
|
||||||
|
"uploadProcess4" => "Подати на розгляд",
|
||||||
|
"uploadAMix" => "Завантажити мікс",
|
||||||
|
"uploadSelectMix" => "Виберіть файл міксу (MP3 або ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Максимальний розмір файлу: <b>500</b> МБ",
|
||||||
|
"uploadFile" => "Завантажити файл",
|
||||||
|
"uploadSelectGenres" => "Виберіть жанри (введіть для пошуку)",
|
||||||
|
"uploadSelectDJSMax3" => "Виберіть DJ (максимум 3)",
|
||||||
|
"uploadSubmitMix" => "Подати мікс",
|
||||||
|
"uploadSelectDJ1" => "Вибрати DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Вибрати DJ 2 (необов'язково)",
|
||||||
|
"uploadSelectDJ3" => "Вибрати DJ 3 (необов'язково)",
|
||||||
|
"userAlreadyExists" => "Користувач вже існує.",
|
||||||
|
"allFieldsRequired" => "Усі поля є обов'язковими.",
|
||||||
|
"passwordsDoNotMatch" => "Паролі не співпадають.",
|
||||||
|
"invalidEmail" => "Неправильний формат електронної пошти.",
|
||||||
|
"invalidUsername" => "Неправильний формат імені користувача.",
|
||||||
|
"verifyEmailAddress" => "Підтвердіть свою електронну пошту",
|
||||||
|
"registerThankYou" => "Дякуємо за реєстрацію на ",
|
||||||
|
"registerVerifyEmail" => "Будь ласка, підтвердіть свою електронну пошту, натиснувши на посилання нижче або ввівши код підтвердження у своєму профілі:",
|
||||||
|
"registerVerifyCodeIs" => "Ваш код підтвердження: ",
|
||||||
|
"registerVerifyTimeout" => "Цей код буде дійсним 15 хвилин.",
|
||||||
|
"password" => "Пароль",
|
||||||
|
"rememberMe" => "Запам'ятати мене",
|
||||||
|
"forgotPassword" => "Забули пароль",
|
||||||
|
"dontHaveAccount" => "Немає облікового запису?",
|
||||||
|
"signUp" => "Зареєструватися",
|
||||||
|
"passwordResetSent" => "Якщо електронна пошта існує в нашій системі, посилання для скидання пароля було надіслано.",
|
||||||
|
"passwordResetRequested" => "Ви запросили скидання пароля. Будь ласка, натисніть на посилання нижче, щоб скинути свій пароль:",
|
||||||
|
"passwordResetUnrequested" => "Якщо ви не запитували цього, будь ласка, проігноруйте цей лист. Це посилання буде дійсним 15 хвилин.",
|
||||||
|
"emailaddressEnter" => "Введіть свою електронну пошту",
|
||||||
|
"messageSentSuccess" => "Повідомлення надіслано успішно.",
|
||||||
|
"messageSentError" => "Сталася помилка під час надсилання повідомлення.",
|
||||||
|
"contactUs2" => "Ми хотіли б почути вашу відповідь. Надішліть нам повідомлення, і ми відповімо якомога швидше.",
|
||||||
|
"messageSendUs" => "Надішліть нам повідомлення",
|
||||||
|
"messageSend" => "Надіслати повідомлення",
|
||||||
|
"passwordReset" => "Скинути пароль",
|
||||||
|
"enterYourUsername" => "Введіть своє ім'я користувача",
|
||||||
|
"newPassword" => "Новий пароль",
|
||||||
|
"confirmPassword" => "Підтвердити новий пароль",
|
||||||
|
"passwordResetSuccess" => "Ваш пароль було успішно скинуто. Будь ласка, увійдіть з новим паролем.",
|
||||||
|
"enterEmailAddressPlease" => "Будь ласка, введіть свою електронну пошту.",
|
||||||
|
"emailInvalid" => "Неправильний формат електронної пошти.",
|
||||||
|
"passwordMismatch" => "Паролі не співпадають.",
|
||||||
|
"passwordRequirements" => "Пароль повинен бути не менше 8 символів і містити великі та маленькі літери, а також цифри.",
|
||||||
|
"resetExpiredInvalid" => "Неправильний або прострочений код скидання пароля.",
|
||||||
|
"resetExpired" => "Код скидання пароля прострочений.",
|
||||||
|
"codeCredsInvalid" => "Неправильні облікові дані або код підтвердження.",
|
||||||
|
"change" => "Змінити",
|
||||||
|
"changePicture" => "Змінити зображення",
|
||||||
|
"verify" => "Підтвердити",
|
||||||
|
"createdUsing" => "Створено за допомогою",
|
||||||
|
"djmixhostingsoftware" => "Програмне забезпечення для хостингу DJ міксів",
|
||||||
|
"privacyPolicy" => "Політика конфіденційності",
|
||||||
|
"termsAndConditions" => "Умови обслуговування",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => 'Chào mừng bạn đến với trang web của chúng tôi!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => 'Đây là mô tả bằng tiếng Anh.',
|
||||||
'desc' => 'Description',
|
'desc' => 'Mô tả',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "Hồ sơ người dùng",
|
||||||
'user' => 'User',
|
'user' => 'Người dùng',
|
||||||
'home' => 'Home',
|
'home' => 'Trang chủ',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'Tên DJ',
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
'location' => 'Location',
|
'location' => 'Địa điểm',
|
||||||
'bio' => 'Bio',
|
'bio' => 'Tiểu sử',
|
||||||
'submit' => 'Submit',
|
'submit' => 'Gửi',
|
||||||
'login' => 'Login',
|
'login' => 'Đăng nhập',
|
||||||
'message' => 'Message',
|
'message' => 'Tin nhắn',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Theo dõi',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "Không thể tải DJ; hoặc DJ không được tìm thấy hoặc DJ này là riêng tư.",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "Trang không tìm thấy",
|
||||||
"genre" => "Genre",
|
"genre" => "Thể loại",
|
||||||
"genres" => "Genres",
|
"genres" => "Các thể loại",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "Không thể tải thể loại; hoặc thể loại không được tìm thấy, trống, hoặc thể loại này là riêng tư.",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "Số lượng mix",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "Các mix",
|
||||||
"mix" => "Mix",
|
"mix" => "Trộn",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "Không thể tải mix; hoặc mix không được tìm thấy, trống, hoặc mix này là riêng tư.",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "Không thể tải mixshow; hoặc mixshow không được tìm thấy, trống, hoặc mixshow này là riêng tư.",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "Tên mix",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "Mô tả mix",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "Thời gian mix",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "Thể loại mix",
|
||||||
"view" => "View",
|
"view" => "Xem",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "Tên mix",
|
||||||
"search" => "Search",
|
"search" => "Tìm kiếm",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "Kết quả tìm kiếm",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "Kết quả tìm kiếm cho",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "Kết quả tìm kiếm được tìm thấy",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "Danh sách bài hát",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "Cập nhật lần cuối",
|
||||||
"duration" => "Duration",
|
"duration" => "Thời gian",
|
||||||
"hour" => "hour",
|
"hour" => "giờ",
|
||||||
"hours" => "hours",
|
"hours" => "giờ",
|
||||||
"minute" => "minute",
|
"minute" => "phút",
|
||||||
"minutes" => "minutes",
|
"minutes" => "phút",
|
||||||
"second" => "second",
|
"second" => "giây",
|
||||||
"seconds" => "seconds",
|
"seconds" => "giây",
|
||||||
"by" => "by",
|
"by" => "bởi",
|
||||||
"added" => "Added",
|
"added" => "Đã thêm",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "Đã ghi âm",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "Trình duyệt của bạn không hỗ trợ phần tử audio.",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "Tải xuống",
|
||||||
"download" => "Download",
|
"download" => "Tải xuống",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "Tải xuống mix",
|
||||||
"plays" => "Plays",
|
"plays" => "Số lượt phát",
|
||||||
"play" => "Play",
|
"play" => "Phát",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "Liên hệ với chúng tôi",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "Tất cả các quyền được bảo lưu.",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "Chương trình trộn",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "Chương trình trộn",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "Tên mixshow",
|
||||||
"share" => "Share",
|
"share" => "Chia sẻ",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "Chia sẻ mix này",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "Chia sẻ mixshow này",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "Năm",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "Chia sẻ đến X (trước đây là Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "Chia sẻ đến Facebook",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "Chia sẻ đến Instagram",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "Sao chép URL",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "URL đã được sao chép vào clipboard",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "Sao chép URL không thành công",
|
||||||
"name" => "Name",
|
"name" => "Tên",
|
||||||
"username" => "Username",
|
"username" => "Tên người dùng",
|
||||||
"logout" => "Logout",
|
"logout" => "Đăng xuất",
|
||||||
"upload" => "Upload",
|
"upload" => "Tải lên",
|
||||||
|
"loginToVerifyEmail" => "Bạn phải đăng nhập để xác minh email của mình.",
|
||||||
|
"loginToUploadMix" => "Bạn phải đăng nhập để tải lên một mix.",
|
||||||
|
"verificationCodeRequired" => "Mã xác minh là bắt buộc.",
|
||||||
|
"recordedDate" => "Ngày ghi âm",
|
||||||
|
"noUploadedFileFound" => "Không tìm thấy tệp đã tải lên. Vui lòng tải lên một tệp mix.",
|
||||||
|
"mixTitleRequired" => "Tiêu đề mix là bắt buộc.",
|
||||||
|
"errorUploadCDN" => "Lỗi khi tải tệp lên CDN: ",
|
||||||
|
"errorSavingMixDB" => "Lỗi khi lưu mix vào cơ sở dữ liệu.",
|
||||||
|
"uploadedPendingApproval" => "Mix đã được tải lên thành công và đang chờ phê duyệt.",
|
||||||
|
"uploadHeader1" => "Tải lên mix của bạn lên các DJ của Utah",
|
||||||
|
"uploadAlertHeader" => "Thông tin tải lên quan trọng",
|
||||||
|
"uploadAlert1" => "Các DJ của Utah chủ yếu là một dự án lưu trữ nhằm bảo tồn lịch sử và văn hóa của các DJ EDM ở Utah. Các tải lên của bạn góp phần vào hồ sơ lịch sử này.",
|
||||||
|
"uploadHeader2" => "Trước khi bạn tải lên",
|
||||||
|
"uploadAlert2" => "Xác minh rằng tất cả các DJ tham gia đều được liệt kê trong cơ sở dữ liệu của chúng tôi. Nếu một DJ không được liệt kê, họ phải được thêm vào và phê duyệt trước khi tải lên.",
|
||||||
|
"uploadAlert3" => "Kiểm tra rằng các thể loại phù hợp có sẵn cho mix của bạn. Các thể loại mới cần được phê duyệt trước khi có thể được sử dụng.",
|
||||||
|
"uploadAlert4" => "Bạn có thể gửi yêu cầu DJ hoặc thể loại mới thông qua cài đặt hồ sơ của bạn.",
|
||||||
|
"uploadProcess" => "Quá trình tải lên",
|
||||||
|
"uploadProcess1" => "Tải lên tệp mix của bạn (định dạng MP3 hoặc ZIP)",
|
||||||
|
"uploadProcess2" => "Nhập chi tiết mix, bao gồm tiêu đề, mô tả và ngày ghi âm",
|
||||||
|
"uploadProcess3" => "Chọn các thể loại và DJ phù hợp",
|
||||||
|
"uploadProcess4" => "Gửi để xem xét",
|
||||||
|
"uploadAMix" => "Tải lên một mix",
|
||||||
|
"uploadSelectMix" => "Chọn tệp mix (MP3 hoặc ZIP)",
|
||||||
|
"uploadMaxFileSize" => "Kích thước tệp tối đa: 500MB",
|
||||||
|
"uploadFile" => "Tải lên tệp",
|
||||||
|
"uploadSelectGenres" => "Chọn thể loại (gõ để tìm kiếm)",
|
||||||
|
"uploadSelectDJSMax3" => "Chọn DJ (Tối đa 3)",
|
||||||
|
"uploadSubmitMix" => "Gửi mix",
|
||||||
|
"uploadSelectDJ1" => "Chọn DJ 1",
|
||||||
|
"uploadSelectDJ2" => "Chọn DJ 2 (tùy chọn)",
|
||||||
|
"uploadSelectDJ3" => "Chọn DJ 3 (tùy chọn)",
|
||||||
|
"userAlreadyExists" => "Người dùng đã tồn tại.",
|
||||||
|
"allFieldsRequired" => "Tất cả các trường đều là bắt buộc.",
|
||||||
|
"passwordsDoNotMatch" => "Mật khẩu không khớp.",
|
||||||
|
"invalidEmail" => "Định dạng email không hợp lệ.",
|
||||||
|
"invalidUsername" => "Định dạng tên người dùng không hợp lệ.",
|
||||||
|
"verifyEmailAddress" => "Xác minh địa chỉ email của bạn",
|
||||||
|
"registerThankYou" => "Cảm ơn bạn đã đăng ký tại ",
|
||||||
|
"registerVerifyEmail" => "Vui lòng xác minh địa chỉ email của bạn bằng cách nhấp vào liên kết bên dưới hoặc nhập mã xác minh trong hồ sơ của bạn:",
|
||||||
|
"registerVerifyCodeIs" => "Mã xác minh của bạn là: ",
|
||||||
|
"registerVerifyTimeout" => "Mã này sẽ hết hạn trong 15 phút.",
|
||||||
|
"password" => "Mật khẩu",
|
||||||
|
"rememberMe" => "Nhớ tôi",
|
||||||
|
"forgotPassword" => "Quên mật khẩu",
|
||||||
|
"dontHaveAccount" => "Bạn không có tài khoản?",
|
||||||
|
"signUp" => "Đăng ký",
|
||||||
|
"passwordResetSent" => "Nếu email tồn tại trong hệ thống của chúng tôi, một liên kết đặt lại mật khẩu đã được gửi.",
|
||||||
|
"passwordResetRequested" => "Bạn đã yêu cầu đặt lại mật khẩu của bạn. Vui lòng nhấp vào liên kết dưới đây để đặt lại mật khẩu của bạn:",
|
||||||
|
"passwordResetUnrequested" => "Nếu bạn không yêu cầu điều này, hãy bỏ qua email này. Liên kết này sẽ hết hạn trong 15 phút.",
|
||||||
|
"emailaddressEnter" => "Nhập địa chỉ email của bạn",
|
||||||
|
"messageSentSuccess" => "Tin nhắn đã được gửi thành công.",
|
||||||
|
"messageSentError" => "Đã xảy ra lỗi khi gửi tin nhắn.",
|
||||||
|
"contactUs2" => "Chúng tôi rất mong nhận được phản hồi từ bạn. Hãy gửi tin nhắn cho chúng tôi và chúng tôi sẽ phản hồi sớm nhất có thể.",
|
||||||
|
"messageSendUs" => "Gửi cho chúng tôi một tin nhắn",
|
||||||
|
"messageSend" => "Gửi tin nhắn",
|
||||||
|
"passwordReset" => "Đặt lại mật khẩu",
|
||||||
|
"enterYourUsername" => "Nhập tên người dùng của bạn",
|
||||||
|
"newPassword" => "Mật khẩu mới",
|
||||||
|
"confirmPassword" => "Xác nhận mật khẩu mới",
|
||||||
|
"passwordResetSuccess" => "Mật khẩu của bạn đã được đặt lại thành công. Vui lòng đăng nhập bằng mật khẩu mới của bạn.",
|
||||||
|
"enterEmailAddressPlease" => "Vui lòng nhập địa chỉ email của bạn.",
|
||||||
|
"emailInvalid" => "Định dạng email không hợp lệ.",
|
||||||
|
"passwordMismatch" => "Mật khẩu không khớp.",
|
||||||
|
"passwordRequirements" => "Mật khẩu phải có ít nhất 8 ký tự và bao gồm chữ hoa và chữ thường, cũng như một số.",
|
||||||
|
"resetExpiredInvalid" => "Mã đặt lại mật khẩu không hợp lệ hoặc đã hết hạn.",
|
||||||
|
"resetExpired" => "Mã đặt lại mật khẩu đã hết hạn.",
|
||||||
|
"codeCredsInvalid" => "Thông tin xác thực hoặc mã xác minh không hợp lệ.",
|
||||||
|
"change" => "Thay đổi",
|
||||||
|
"changePicture" => "Thay đổi hình ảnh",
|
||||||
|
"verify" => "Xác minh",
|
||||||
|
"createdUsing" => "Được tạo bằng",
|
||||||
|
"djmixhostingsoftware" => "Phần mềm lưu trữ DJ Mix",
|
||||||
|
"privacyPolicy" => "Chính sách bảo mật",
|
||||||
|
"termsAndConditions" => "Điều khoản và điều kiện",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,43 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => '欢迎来到我们的网站!',
|
'welcome' => '欢迎来到我们的网站!',
|
||||||
'description' => '这是英文描述。',
|
'description' => '这是一个英文描述。',
|
||||||
'desc' => '描述',
|
'desc' => '描述',
|
||||||
'userProfile' => "用户资料",
|
'userProfile' => "用户资料",
|
||||||
'user' => '用户',
|
'user' => '用户',
|
||||||
'home' => '首页',
|
'home' => '首页',
|
||||||
'djName' => 'DJ 名称',
|
'djName' => 'DJ 名称',
|
||||||
'email' => '电子邮件地址',
|
'email' => '电子邮件',
|
||||||
'location' => '地点',
|
'location' => '位置',
|
||||||
'bio' => '个人信息',
|
'bio' => '简介',
|
||||||
'submit' => '提交',
|
'submit' => '提交',
|
||||||
'login' => '登录',
|
'login' => '登录',
|
||||||
'message' => '留言',
|
'message' => '消息',
|
||||||
'follow' => '关注',
|
'follow' => '关注',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "无法加载 DJ;要么找不到 DJ ,要么此 DJ 是私有的。",
|
"djNotFound" => "无法加载DJ; DJ未找到或此DJ是私密的。",
|
||||||
"notfound" => "找不到页面",
|
"notfound" => "页面未找到",
|
||||||
"genre" => "流派数",
|
"genre" => "流派",
|
||||||
"genres" => "Genres",
|
"genres" => "流派",
|
||||||
"genreNotFound" => "无法加载基因;要么找不到基因,要么是空的,要么这种基因是私人的。",
|
"genreNotFound" => "无法加载流派; 流派未找到、为空或此流派是私密的。",
|
||||||
"mix-count" => "混合计数",
|
"mix-count" => "混音数量",
|
||||||
"mixes" => "混音器",
|
"mixes" => "混音",
|
||||||
"mix" => "混音器",
|
"mix" => "混音",
|
||||||
"mixNotFound" => "无法加载混合物;混合物未找到, 为空, 或者这种混合是私有的。",
|
"mixNotFound" => "无法加载混音; 混音未找到、为空或此混音是私密的。",
|
||||||
"mixshowNotFound" => "无法加载mixshow;要么找不到mixshow,要么是空的,要么这个mixshow是私有的。",
|
"mixshowNotFound" => "无法加载混音节目; 混音节目未找到、为空或此混音节目是私密的。",
|
||||||
"mixName" => "混合名称",
|
"mixName" => "混音名称",
|
||||||
"mixDescription" => "混合描述",
|
"mixDescription" => "混音描述",
|
||||||
"mixLength" => "混合长度",
|
"mixLength" => "混音时长",
|
||||||
"mixGenre" => "混合流体",
|
"mixGenre" => "混音流派",
|
||||||
"view" => "查看",
|
"view" => "查看",
|
||||||
"mixname" => "混合名称",
|
"mixname" => "混音名称",
|
||||||
"search" => "搜索",
|
"search" => "搜索",
|
||||||
"searchResults" => "搜索结果",
|
"searchResults" => "搜索结果",
|
||||||
"searchResultsFor" => "搜索结果",
|
"searchResultsFor" => "搜索结果为",
|
||||||
"searchResultsFound" => "找到搜索结果",
|
"searchResultsFound" => "搜索结果已找到",
|
||||||
"tracklist" => "曲目列表",
|
"tracklist" => "曲目列表",
|
||||||
"lastupdated" => "最后更新",
|
"lastupdated" => "最后更新",
|
||||||
"duration" => "期限",
|
"duration" => "持续时间",
|
||||||
"hour" => "小时",
|
"hour" => "小时",
|
||||||
"hours" => "小时",
|
"hours" => "小时",
|
||||||
"minute" => "分钟",
|
"minute" => "分钟",
|
||||||
|
@ -46,31 +46,110 @@ return [
|
||||||
"seconds" => "秒",
|
"seconds" => "秒",
|
||||||
"by" => "由",
|
"by" => "由",
|
||||||
"added" => "已添加",
|
"added" => "已添加",
|
||||||
"recorded" => "已记录",
|
"recorded" => "已录制",
|
||||||
"audioNotSupported" => "您的浏览器不支持音频元素。",
|
"audioNotSupported" => "您的浏览器不支持音频元素。",
|
||||||
"downloads" => "下载",
|
"downloads" => "下载",
|
||||||
"download" => "下载",
|
"download" => "下载",
|
||||||
"downloadMix" => "下载 Mixx",
|
"downloadMix" => "下载混音",
|
||||||
"plays" => "播放",
|
"plays" => "播放",
|
||||||
"play" => "播放",
|
"play" => "播放",
|
||||||
"contactus" => "联系我们",
|
"contactus" => "联系我们",
|
||||||
"allrightsreserved" => "版权所有。",
|
"allrightsreserved" => "所有权利保留。",
|
||||||
"mixshows" => "混合显示",
|
"mixshows" => "混音节目",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "混音节目",
|
||||||
"mixshowName" => "混合节目名称",
|
"mixshowName" => "混音节目名称",
|
||||||
"share" => "分享",
|
"share" => "分享",
|
||||||
"sahrethismix" => "分享这个组合",
|
"sahrethismix" => "分享这个混音",
|
||||||
"sharethismixshow" => "分享此 mixshow",
|
"sharethismixshow" => "分享这个混音节目",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "年份",
|
"year" => "年",
|
||||||
"sharetotwitter" => "分享到 X (旧的 Twitter)",
|
"sharetotwitter" => "分享至 X (前称 Twitter)",
|
||||||
"sharetofb" => "分享到 Facebook",
|
"sharetofb" => "分享至 Facebook",
|
||||||
"sharetoig" => "分享到 Instagram",
|
"sharetoig" => "分享至 Instagram",
|
||||||
"copyurl" => "复制 URL",
|
"copyurl" => "复制 URL",
|
||||||
"urlcopiedtoclipboard" => "URL 已复制到剪贴板",
|
"urlcopiedtoclipboard" => "URL 已复制到剪贴板",
|
||||||
"failedtocopyurl" => "无法复制 URL",
|
"failedtocopyurl" => "复制 URL 失败",
|
||||||
"name" => "名称",
|
"name" => "名称",
|
||||||
"username" => "用户名",
|
"username" => "用户名",
|
||||||
"logout" => "注销",
|
"logout" => "退出",
|
||||||
"upload" => "上传",
|
"upload" => "上传",
|
||||||
|
"loginToVerifyEmail" => "您必须登录以验证您的电子邮件。",
|
||||||
|
"loginToUploadMix" => "您必须登录以上传混音。",
|
||||||
|
"verificationCodeRequired" => "需要验证码。",
|
||||||
|
"recordedDate" => "录制日期",
|
||||||
|
"noUploadedFileFound" => "未找到上传文件。请上传混音文件。",
|
||||||
|
"mixTitleRequired" => "混音标题是必需的。",
|
||||||
|
"errorUploadCDN" => "上传文件到 CDN 时出错: ",
|
||||||
|
"errorSavingMixDB" => "保存混音到数据库时出错。",
|
||||||
|
"uploadedPendingApproval" => "混音上传成功,待批准。",
|
||||||
|
"uploadHeader1" => "上传您的混音到犹他州的DJ",
|
||||||
|
"uploadAlertHeader" => "重要的上传信息",
|
||||||
|
"uploadAlert1" => "犹他州的DJ主要是一个档案项目,致力于保护犹他州EDM DJ的历史和文化。您的上传为这段历史记录作出了贡献。",
|
||||||
|
"uploadHeader2" => "在您上传之前",
|
||||||
|
"uploadAlert2" => "验证所有参与的DJ是否在我们的数据库中列出。如果DJ未列出,必须在上传之前添加并批准。",
|
||||||
|
"uploadAlert3" => "检查适当的流派是否可用于您的混音。新流派需要在使用之前获得批准。",
|
||||||
|
"uploadAlert4" => "您可以通过个人资料设置提交新的DJ或流派请求。",
|
||||||
|
"uploadProcess" => "上传过程",
|
||||||
|
"uploadProcess1" => "上传您的混音文件(MP3或ZIP格式)",
|
||||||
|
"uploadProcess2" => "输入混音详细信息,包括标题、描述和录制日期",
|
||||||
|
"uploadProcess3" => "选择相关流派和DJ",
|
||||||
|
"uploadProcess4" => "提交以供审核",
|
||||||
|
"uploadAMix" => "上传混音",
|
||||||
|
"uploadSelectMix" => "选择混音文件(MP3或ZIP)",
|
||||||
|
"uploadMaxFileSize" => "最大文件大小: 500MB",
|
||||||
|
"uploadFile" => "上传文件",
|
||||||
|
"uploadSelectGenres" => "选择流派(输入搜索)",
|
||||||
|
"uploadSelectDJSMax3" => "选择DJ(最多3个)",
|
||||||
|
"uploadSubmitMix" => "提交混音",
|
||||||
|
"uploadSelectDJ1" => "选择DJ 1",
|
||||||
|
"uploadSelectDJ2" => "选择DJ 2(可选)",
|
||||||
|
"uploadSelectDJ3" => "选择DJ 3(可选)",
|
||||||
|
"userAlreadyExists" => "用户已存在。",
|
||||||
|
"allFieldsRequired" => "所有字段都是必填的。",
|
||||||
|
"passwordsDoNotMatch" => "密码不匹配。",
|
||||||
|
"invalidEmail" => "无效的邮件格式。",
|
||||||
|
"invalidUsername" => "无效的用户名格式。",
|
||||||
|
"verifyEmailAddress" => "验证您的电子邮件地址",
|
||||||
|
"registerThankYou" => "感谢您在 注册 ",
|
||||||
|
"registerVerifyEmail" => "请通过点击以下链接或在您的个人资料中输入验证码来验证您的电子邮件地址:",
|
||||||
|
"registerVerifyCodeIs" => "您的验证码是: ",
|
||||||
|
"registerVerifyTimeout" => "该代码将在15分钟内失效。",
|
||||||
|
"password" => "密码",
|
||||||
|
"rememberMe" => "记住我",
|
||||||
|
"forgotPassword" => "忘记密码",
|
||||||
|
"dontHaveAccount" => "还没有账户?",
|
||||||
|
"signUp" => "注册",
|
||||||
|
"passwordResetSent" => "如果电子邮件在我们的系统中存在,密码重置链接已发送。",
|
||||||
|
"passwordResetRequested" => "您已请求重置密码。请点击以下链接重置您的密码:",
|
||||||
|
"passwordResetUnrequested" => "如果您没有请求此操作,请忽略此电子邮件。此链接将在15分钟内失效。",
|
||||||
|
"emailaddressEnter" => "输入您的电子邮件地址",
|
||||||
|
"messageSentSuccess" => "消息发送成功。",
|
||||||
|
"messageSentError" => "发送消息时发生错误。",
|
||||||
|
"contactUs2" => "我们很乐意听到你的声音。给我们发送消息,我们将尽快回复。",
|
||||||
|
"messageSendUs" => "给我们发送消息",
|
||||||
|
"messageSend" => "发送消息",
|
||||||
|
"passwordReset" => "重置密码",
|
||||||
|
"enterYourUsername" => "输入您的用户名",
|
||||||
|
"newPassword" => "新密码",
|
||||||
|
"confirmPassword" => "确认新密码",
|
||||||
|
"passwordResetSuccess" => "您的密码已成功重置。请使用您的新密码登录。",
|
||||||
|
"enterEmailAddressPlease" => "请输入您的电子邮件地址。",
|
||||||
|
"emailInvalid" => "无效的邮件格式。",
|
||||||
|
"passwordMismatch" => "密码不匹配。",
|
||||||
|
"passwordRequirements" => "密码必须至少包含8个字符,并包括大写字母、小写字母和数字。",
|
||||||
|
"resetExpiredInvalid" => "无效或过期的密码重置代码。",
|
||||||
|
"resetExpired" => "密码重置代码已过期。",
|
||||||
|
"codeCredsInvalid" => "无效的凭据或验证码。",
|
||||||
|
"change" => "更改",
|
||||||
|
"changePicture" => "更改图片",
|
||||||
|
"verify" => "验证",
|
||||||
|
"createdUsing" => "使用以下内容创建",
|
||||||
|
"djmixhostingsoftware" => "DJ混音托管软件",
|
||||||
|
"privacyPolicy" => "隐私政策",
|
||||||
|
"termsAndConditions" => "条款和条件",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
|
@ -1,76 +1,155 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'welcome' => 'Welcome to our Website!',
|
'welcome' => '歡迎來到我們的網站!',
|
||||||
'description' => 'This is a description in English.',
|
'description' => '這是一個英語描述。',
|
||||||
'desc' => 'Description',
|
'desc' => '描述',
|
||||||
'userProfile' => "User Profile",
|
'userProfile' => "用戶檔案",
|
||||||
'user' => 'User',
|
'user' => '用戶',
|
||||||
'home' => 'Home',
|
'home' => '首頁',
|
||||||
'djName' => 'DJ Name',
|
'djName' => 'DJ 名稱',
|
||||||
'email' => 'Email',
|
'email' => '電子郵件',
|
||||||
'location' => 'Location',
|
'location' => '位置',
|
||||||
'bio' => 'Bio',
|
'bio' => '簡介',
|
||||||
'submit' => 'Submit',
|
'submit' => '提交',
|
||||||
'login' => 'Login',
|
'login' => '登錄',
|
||||||
'message' => 'Message',
|
'message' => '消息',
|
||||||
'follow' => 'Follow',
|
'follow' => '關注',
|
||||||
'djs' => 'DJs',
|
'djs' => 'DJ',
|
||||||
"djNotFound" => "Could not load DJ; either the DJ wasn't found or this DJ is private.",
|
"djNotFound" => "無法加載 DJ;要麼 DJ 找不到,要麼這位 DJ 是私有的。",
|
||||||
"notfound" => "Page not found",
|
"notfound" => "找不到頁面",
|
||||||
"genre" => "Genre",
|
"genre" => "類型",
|
||||||
"genres" => "Genres",
|
"genres" => "類型",
|
||||||
"genreNotFound" => "Could not load genre; either the genre wasn't found, was empty, or this genre is private.",
|
"genreNotFound" => "無法加載類型;要麼類型不存在,為空,或此類型是私有的。",
|
||||||
"mix-count" => "Mix Count",
|
"mix-count" => "混音數量",
|
||||||
"mixes" => "Mixes",
|
"mixes" => "混音",
|
||||||
"mix" => "Mix",
|
"mix" => "混音",
|
||||||
"mixNotFound" => "Could not load mix; either the mix wasn't found, was empty, or this mix is private.",
|
"mixNotFound" => "無法加載混音;要麼混音不存在,為空,或此混音是私有的。",
|
||||||
"mixshowNotFound" => "Could not load mixshow; either the mixshow wasn't found, was empty, or this mixshow is private.",
|
"mixshowNotFound" => "無法加載混音秀;要麼混音秀不存在,為空,或此混音秀是私有的。",
|
||||||
"mixName" => "Mix Name",
|
"mixName" => "混音名稱",
|
||||||
"mixDescription" => "Mix Description",
|
"mixDescription" => "混音描述",
|
||||||
"mixLength" => "Mix Length",
|
"mixLength" => "混音長度",
|
||||||
"mixGenre" => "Mix Genre",
|
"mixGenre" => "混音類型",
|
||||||
"view" => "View",
|
"view" => "查看",
|
||||||
"mixname" => "Mix Name",
|
"mixname" => "混音名稱",
|
||||||
"search" => "Search",
|
"search" => "搜尋",
|
||||||
"searchResults" => "Search Results",
|
"searchResults" => "搜尋結果",
|
||||||
"searchResultsFor" => "Search Results for",
|
"searchResultsFor" => "搜尋結果",
|
||||||
"searchResultsFound" => "Search Results Found",
|
"searchResultsFound" => "找到搜尋結果",
|
||||||
"tracklist" => "Tracklist",
|
"tracklist" => "曲目列表",
|
||||||
"lastupdated" => "Last Updated",
|
"lastupdated" => "最後更新",
|
||||||
"duration" => "Duration",
|
"duration" => "持續時間",
|
||||||
"hour" => "hour",
|
"hour" => "小時",
|
||||||
"hours" => "hours",
|
"hours" => "小時",
|
||||||
"minute" => "minute",
|
"minute" => "分鐘",
|
||||||
"minutes" => "minutes",
|
"minutes" => "分鐘",
|
||||||
"second" => "second",
|
"second" => "秒",
|
||||||
"seconds" => "seconds",
|
"seconds" => "秒",
|
||||||
"by" => "by",
|
"by" => "由",
|
||||||
"added" => "Added",
|
"added" => "已添加",
|
||||||
"recorded" => "Recorded",
|
"recorded" => "已錄製",
|
||||||
"audioNotSupported" => "Your browser does not support the audio element.",
|
"audioNotSupported" => "您的瀏覽器不支持音頻元素。",
|
||||||
"downloads" => "Downloads",
|
"downloads" => "下載",
|
||||||
"download" => "Download",
|
"download" => "下載",
|
||||||
"downloadMix" => "Download Mix",
|
"downloadMix" => "下載混音",
|
||||||
"plays" => "Plays",
|
"plays" => "播放次數",
|
||||||
"play" => "Play",
|
"play" => "播放",
|
||||||
"contactus" => "Contact Us",
|
"contactus" => "聯絡我們",
|
||||||
"allrightsreserved" => "All rights reserved.",
|
"allrightsreserved" => "版權所有。",
|
||||||
"mixshows" => "Mixshows",
|
"mixshows" => "混音秀",
|
||||||
"mixshow" => "Mixshow",
|
"mixshow" => "混音秀",
|
||||||
"mixshowName" => "Mixshow Name",
|
"mixshowName" => "混音秀名稱",
|
||||||
"share" => "Share",
|
"share" => "分享",
|
||||||
"sahrethismix" => "Share this mix",
|
"sahrethismix" => "分享此混音",
|
||||||
"sharethismixshow" => "Share this mixshow",
|
"sharethismixshow" => "分享此混音秀",
|
||||||
"rss" => "RSS",
|
"rss" => "RSS",
|
||||||
"year" => "Year",
|
"year" => "年份",
|
||||||
"sharetotwitter" => "Share to X (formerly Twitter)",
|
"sharetotwitter" => "分享至X(前Twitter)",
|
||||||
"sharetofb" => "Share to Facebook",
|
"sharetofb" => "分享至Facebook",
|
||||||
"sharetoig" => "Share to Instagram",
|
"sharetoig" => "分享至Instagram",
|
||||||
"copyurl" => "Copy URL",
|
"copyurl" => "複製網址",
|
||||||
"urlcopiedtoclipboard" => "URL copied to clipboard",
|
"urlcopiedtoclipboard" => "網址已複製到剪貼簿",
|
||||||
"failedtocopyurl" => "Failed to copy URL",
|
"failedtocopyurl" => "複製網址失敗",
|
||||||
"name" => "Name",
|
"name" => "名稱",
|
||||||
"username" => "Username",
|
"username" => "用戶名",
|
||||||
"logout" => "Logout",
|
"logout" => "登出",
|
||||||
"upload" => "Upload",
|
"upload" => "上傳",
|
||||||
|
"loginToVerifyEmail" => "您必須登錄以驗證您的電子郵件。",
|
||||||
|
"loginToUploadMix" => "您必須登錄以上傳混音。",
|
||||||
|
"verificationCodeRequired" => "需要驗證碼。",
|
||||||
|
"recordedDate" => "錄製日期",
|
||||||
|
"noUploadedFileFound" => "未找到上傳文件。請上傳混音文件。",
|
||||||
|
"mixTitleRequired" => "混音標題是必需的。",
|
||||||
|
"errorUploadCDN" => "上傳文件到CDN時出錯",
|
||||||
|
"errorSavingMixDB" => "將混音存儲到數據庫時出錯。",
|
||||||
|
"uploadedPendingApproval" => "混音成功上傳,正在等待審核。",
|
||||||
|
"uploadHeader1" => "將您的混音上傳到猶他州的DJ",
|
||||||
|
"uploadAlertHeader" => "重要的上傳信息",
|
||||||
|
"uploadAlert1" => "猶他州的DJ主要是一個檔案保存項目,致力於保存猶他州EDM DJ的歷史和文化。您的上傳有助於這個歷史記錄。",
|
||||||
|
"uploadHeader2" => "上傳前注意事項",
|
||||||
|
"uploadAlert2" => "確認所有參與的DJ都列在我們的數據庫中。如果DJ未列出,必須先添加並批准才能上傳。",
|
||||||
|
"uploadAlert3" => "檢查您的混音是否有適當的類型可供使用。新類型需要批准後才能使用。",
|
||||||
|
"uploadAlert4" => "您可以通過您的檔案設置提交新的DJ或類型請求。",
|
||||||
|
"uploadProcess" => "上傳過程",
|
||||||
|
"uploadProcess1" => "上傳您的混音文件(MP3或ZIP格式)",
|
||||||
|
"uploadProcess2" => "輸入混音詳細信息,包括標題、描述和錄製日期",
|
||||||
|
"uploadProcess3" => "選擇相關的類型和DJ",
|
||||||
|
"uploadProcess4" => "提交審核",
|
||||||
|
"uploadAMix" => "上傳混音",
|
||||||
|
"uploadSelectMix" => "選擇混音文件(MP3或ZIP)",
|
||||||
|
"uploadMaxFileSize" => "最大文件大小:500MB",
|
||||||
|
"uploadFile" => "上傳文件",
|
||||||
|
"uploadSelectGenres" => "選擇類型(輸入以搜尋)",
|
||||||
|
"uploadSelectDJSMax3" => "選擇DJ(最多3位)",
|
||||||
|
"uploadSubmitMix" => "提交混音",
|
||||||
|
"uploadSelectDJ1" => "選擇DJ 1",
|
||||||
|
"uploadSelectDJ2" => "選擇DJ 2(可選)",
|
||||||
|
"uploadSelectDJ3" => "選擇DJ 3(可選)",
|
||||||
|
"userAlreadyExists" => "用戶已存在。",
|
||||||
|
"allFieldsRequired" => "所有字段都是必需的。",
|
||||||
|
"passwordsDoNotMatch" => "密碼不匹配。",
|
||||||
|
"invalidEmail" => "電子郵件格式不正確。",
|
||||||
|
"invalidUsername" => "用戶名格式不正確。",
|
||||||
|
"verifyEmailAddress" => "驗證您的電子郵件地址",
|
||||||
|
"registerThankYou" => "感謝您在登錄時的註冊",
|
||||||
|
"registerVerifyEmail" => "請通過單擊下面的鏈接或在您的個人資料中輸入驗證碼來驗證您的電子郵件地址:",
|
||||||
|
"registerVerifyCodeIs" => "您的驗證碼是",
|
||||||
|
"registerVerifyTimeout" => "此代碼將在15分鐘內過期。",
|
||||||
|
"password" => "密碼",
|
||||||
|
"rememberMe" => "記住我",
|
||||||
|
"forgotPassword" => "忘記密碼",
|
||||||
|
"dontHaveAccount" => "沒有賬戶?",
|
||||||
|
"signUp" => "註冊",
|
||||||
|
"passwordResetSent" => "如果電子郵件在我們的系統中存在,則已發送密碼重設鏈接。",
|
||||||
|
"passwordResetRequested" => "您請求重置密碼。請單擊下面的鏈接以重置您的密碼:",
|
||||||
|
"passwordResetUnrequested" => "如果您沒有請求此操作,請忽略此郵件。此鏈接將在15分鐘內過期。",
|
||||||
|
"emailaddressEnter" => "輸入您的電子郵件地址",
|
||||||
|
"messageSentSuccess" => "消息發送成功。",
|
||||||
|
"messageSentError" => "發送消息時出錯。",
|
||||||
|
"contactUs2" => "我們非常樂意收到您的來信。向我們發送訊息,我們將盡快回覆。",
|
||||||
|
"messageSendUs" => "發送我們一條消息",
|
||||||
|
"messageSend" => "發送消息",
|
||||||
|
"passwordReset" => "重置密碼",
|
||||||
|
"enterYourUsername" => "輸入您的用戶名",
|
||||||
|
"newPassword" => "新密碼",
|
||||||
|
"confirmPassword" => "確認新密碼",
|
||||||
|
"passwordResetSuccess" => "您的密碼已成功重置。請使用您的新密碼登錄。",
|
||||||
|
"enterEmailAddressPlease" => "請輸入您的電子郵件地址。",
|
||||||
|
"emailInvalid" => "電子郵件格式不正確。",
|
||||||
|
"passwordMismatch" => "密碼不匹配。",
|
||||||
|
"passwordRequirements" => "密碼必須至少 8 個字符並包含大小寫字母以及數字。",
|
||||||
|
"resetExpiredInvalid" => "無效或過期的密碼重置代碼。",
|
||||||
|
"resetExpired" => "密碼重置代碼已過期。",
|
||||||
|
"codeCredsInvalid" => "無效的憑證或驗證代碼。",
|
||||||
|
"change" => "更改",
|
||||||
|
"changePicture" => "更改圖片",
|
||||||
|
"verify" => "驗證",
|
||||||
|
"createdUsing" => "使用",
|
||||||
|
"djmixhostingsoftware" => "DJ混音托管軟體",
|
||||||
|
"privacyPolicy" => "隱私政策",
|
||||||
|
"termsAndConditions" => "條款與條件",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
19
login.php
19
login.php
|
@ -5,6 +5,7 @@ require_once 'vendor/autoload.php';
|
||||||
use DJMixHosting\Database;
|
use DJMixHosting\Database;
|
||||||
use DJMixHosting\User;
|
use DJMixHosting\User;
|
||||||
use DJMixHosting\SessionManager;
|
use DJMixHosting\SessionManager;
|
||||||
|
use Random\RandomException;
|
||||||
|
|
||||||
// If a user is already logged in, redirect to profile.
|
// If a user is already logged in, redirect to profile.
|
||||||
if (SessionManager::getUser()) {
|
if (SessionManager::getUser()) {
|
||||||
|
@ -14,7 +15,11 @@ if (SessionManager::getUser()) {
|
||||||
|
|
||||||
// Generate a CSRF token if one is not set
|
// Generate a CSRF token if one is not set
|
||||||
if (!isset($_SESSION['csrf_token'])) {
|
if (!isset($_SESSION['csrf_token'])) {
|
||||||
|
try {
|
||||||
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
||||||
|
} catch (RandomException $e) {
|
||||||
|
die("An error occurred. Please try again.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$title = $locale['home'];
|
$title = $locale['home'];
|
||||||
|
@ -69,14 +74,14 @@ if (isset($_SESSION['error'])) {
|
||||||
<div class="col-lg-5">
|
<div class="col-lg-5">
|
||||||
<div class="card shadow-sm border-0">
|
<div class="card shadow-sm border-0">
|
||||||
<div class="card-body p-4">
|
<div class="card-body p-4">
|
||||||
<h3 class="text-center mb-4">Login</h3>
|
<h3 class="text-center mb-4"><?php echo $locale['login'];?></h3>
|
||||||
<form action="login.php" method="post" class="needs-validation" novalidate>
|
<form action="login.php" method="post" class="needs-validation" novalidate>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="email" class="form-label">Email</label>
|
<label for="email" class="form-label"><?php echo $locale['email'];?></label>
|
||||||
<input type="email" class="form-control form-control-lg" id="email" name="email" required>
|
<input type="email" class="form-control form-control-lg" id="email" name="email" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="password" class="form-label">Password</label>
|
<label for="password" class="form-label"><?php echo $locale['password'];?></label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="password" class="form-control form-control-lg" id="password" name="password" required>
|
<input type="password" class="form-control form-control-lg" id="password" name="password" required>
|
||||||
<button class="btn btn-outline-secondary px-3" type="button" id="togglePassword"
|
<button class="btn btn-outline-secondary px-3" type="button" id="togglePassword"
|
||||||
|
@ -87,18 +92,18 @@ if (isset($_SESSION['error'])) {
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-4 form-check">
|
<div class="mb-4 form-check">
|
||||||
<input type="checkbox" class="form-check-input" id="rememberMe" name="remember_me">
|
<input type="checkbox" class="form-check-input" id="rememberMe" name="remember_me">
|
||||||
<label class="form-check-label" for="rememberMe">Remember me</label>
|
<label class="form-check-label" for="rememberMe"><?php echo $locale['rememberMe'];?></label>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
|
<input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
|
||||||
<button type="submit" class="btn btn-primary w-100 btn-lg mb-3">Login</button>
|
<button type="submit" class="btn btn-primary w-100 btn-lg mb-3"><?php echo $locale['login'];?></button>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<a href="forgot-password.php" class="text-decoration-none">Forgot password?</a>
|
<a href="forgot-password.php" class="text-decoration-none"><?php echo $locale['forgotPassword'];?></a>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center mt-4">
|
<div class="text-center mt-4">
|
||||||
<p class="mb-0">Don't have an account? <a href="register.php" class="text-decoration-none">Sign up</a></p>
|
<p class="mb-0"><?php echo $locale['dontHaveAccount'];?> <a href="/" class="text-decoration-none"><?php echo $locale['signUp'];?></a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
191
mix.php
191
mix.php
|
@ -39,6 +39,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'PUT') {
|
||||||
require_once 'includes/header.php'; ?>
|
require_once 'includes/header.php'; ?>
|
||||||
<section>
|
<section>
|
||||||
<div class="container py-5">
|
<div class="container py-5">
|
||||||
|
<!-- breadcrumbs -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<nav aria-label="breadcrumb" class="bg-body-tertiary rounded-3 p-3 mb-4">
|
<nav aria-label="breadcrumb" class="bg-body-tertiary rounded-3 p-3 mb-4">
|
||||||
|
@ -57,10 +58,13 @@ require_once 'includes/header.php'; ?>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- end of breadcrumbs -->
|
||||||
|
|
||||||
<?php if ($mixFound): ?>
|
<?php if ($mixFound) { ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<!-- start column -->
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
|
<!-- cover card -->
|
||||||
<div class="card mb-4">
|
<div class="card mb-4">
|
||||||
<div class="card-body bg-body-secondary text-center">
|
<div class="card-body bg-body-secondary text-center">
|
||||||
<?php
|
<?php
|
||||||
|
@ -74,9 +78,10 @@ require_once 'includes/header.php'; ?>
|
||||||
echo "<h2 class='text-muted mb-4 fs-6'>" . $mix->getDescription() . "</h2>";
|
echo "<h2 class='text-muted mb-4 fs-6'>" . $mix->getDescription() . "</h2>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- end cover card -->
|
||||||
|
<!-- player card -->
|
||||||
<div class="card mb-4">
|
<div class="card mb-4">
|
||||||
<div class="card-body bg-body-secondary text-center">
|
<div class="card-body bg-body-secondary text-center">
|
||||||
<?php
|
<?php
|
||||||
|
@ -99,6 +104,8 @@ require_once 'includes/header.php'; ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- end player card -->
|
||||||
|
<!-- action card -->
|
||||||
<div class="card mb-4">
|
<div class="card mb-4">
|
||||||
<div class="card-body bg-body-secondary text-center ">
|
<div class="card-body bg-body-secondary text-center ">
|
||||||
<button type="button" id="shareBtn" class="w-100 mb-2 btn btn-secondary"
|
<button type="button" id="shareBtn" class="w-100 mb-2 btn btn-secondary"
|
||||||
|
@ -116,9 +123,12 @@ require_once 'includes/header.php'; ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- end action card -->
|
||||||
</div>
|
</div>
|
||||||
|
<!-- end column -->
|
||||||
|
<!-- start info column -->
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
|
<!-- start info card -->
|
||||||
<div class="card mb-4">
|
<div class="card mb-4">
|
||||||
<div class="card-body bg-body-secondary">
|
<div class="card-body bg-body-secondary">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -294,7 +304,7 @@ require_once 'includes/header.php'; ?>
|
||||||
<?php echo $mix->getPlaycount(); ?>
|
<?php echo $mix->getPlaycount(); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php if ($mix->getUpdated() != ""): ?>
|
<?php if ($mix->getUpdated() != "") { ?>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
|
@ -305,92 +315,43 @@ require_once 'includes/header.php'; ?>
|
||||||
<?php echo $mix->getUpdated(); ?>
|
<?php echo $mix->getUpdated(); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<?php } ?>
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
|
||||||
const audioElement = document.querySelector('audio');
|
|
||||||
|
|
||||||
if ('mediaSession' in navigator) {
|
|
||||||
navigator.mediaSession.metadata = new MediaMetadata({
|
|
||||||
title: '<?php echo addslashes($mix->getName()); ?>',
|
|
||||||
artist: '<?php
|
|
||||||
$djs = $mix->getDJs();
|
|
||||||
$djCount = count($djs);
|
|
||||||
$i = 0;
|
|
||||||
$djnamelist = [];
|
|
||||||
foreach ($djs as $dj) {
|
|
||||||
$djnamelist[] = $dj->getName();
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
echo addslashes(implode(", ", $djnamelist));?>',
|
|
||||||
album: '<?php echo addslashes($mix->getName()); ?>',
|
|
||||||
artwork: [
|
|
||||||
{
|
|
||||||
src: '<?php echo $mix->getCover('small'); ?>',
|
|
||||||
sizes: '96x96',
|
|
||||||
type: 'image/jpeg'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: '<?php echo $mix->getCover('large'); ?>',
|
|
||||||
sizes: '128x128',
|
|
||||||
type: 'image/jpeg'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
// Define action handlers
|
|
||||||
navigator.mediaSession.setActionHandler('play', function () {
|
|
||||||
audioElement.play();
|
|
||||||
});
|
|
||||||
navigator.mediaSession.setActionHandler('pause', function () {
|
|
||||||
audioElement.pause();
|
|
||||||
});
|
|
||||||
|
|
||||||
audioElement.addEventListener('timeupdate', () => {
|
|
||||||
// Update the position state
|
|
||||||
navigator.mediaSession.setPositionState({
|
|
||||||
duration: audioElement.duration,
|
|
||||||
playbackRate: audioElement.playbackRate,
|
|
||||||
position: audioElement.currentTime
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<?php endif; ?>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- end info card -->
|
||||||
<?php
|
<!-- start tracklist -->
|
||||||
if ($mix->getTracklist() != []) {
|
<?php if ($mix->getTracklist() != []) { ?>
|
||||||
echo "<div class='card mb-4 bg-body-secondary'>";
|
<div class='card mb-4 bg-body-secondary'>
|
||||||
echo "<div class='card-body '>";
|
<div class='card-body '>
|
||||||
echo "<p class='mb-4'><span class='text-primary font-italic me-1'>" . $locale['tracklist'] . "</span></p>";
|
<p class='mb-4'><span
|
||||||
echo "<ul class='list-group list-group-flush rounded-3 bg-body-secondary'>";
|
class='text-primary font-italic me-1'><?php echo $locale['tracklist']; ?></span>
|
||||||
$tracklist = $mix->getTracklist();
|
</p>
|
||||||
|
<ul class='list-group list-group-flush rounded-3 bg-body-secondary'>
|
||||||
|
<?php $tracklist = $mix->getTracklist();
|
||||||
foreach ($tracklist as $track) {
|
foreach ($tracklist as $track) {
|
||||||
echo "<li class='list-group-item bg-body-secondary d-flex justify-content-between align-items-center'>";
|
echo "<li class='list-group-item bg-body-secondary d-flex justify-content-between align-items-center'>";
|
||||||
echo $track;
|
echo $track;
|
||||||
echo "</li>";
|
echo "</li>";
|
||||||
}
|
}
|
||||||
echo "</ul>";
|
|
||||||
echo "</div>";
|
|
||||||
echo "</div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
<!-- end tracklist -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- end info column -->
|
||||||
</div>
|
<!-- modals -->
|
||||||
<div class="modal fade" id="shareModal" tabindex="-1" aria-labelledby="shareModalLabel" aria-hidden="true">
|
|
||||||
|
<div class="modal fade" id="shareModal" tabindex="-1" aria-labelledby="shareModalLabel"
|
||||||
|
aria-hidden="true">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title" id="shareModalLabel"><?php echo $locale['share']; ?></h5>
|
<h5 class="modal-title" id="shareModalLabel"><?php echo $locale['share']; ?></h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal"
|
||||||
|
aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<?php
|
<?php
|
||||||
|
@ -410,15 +371,15 @@ require_once 'includes/header.php'; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- end modals -->
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
var shareBtn = document.getElementById('shareBtn');
|
const shareBtn = document.getElementById('shareBtn');
|
||||||
var shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
const shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
||||||
var copyLinkBtn = document.getElementById("copyLinkBtn");
|
const copyLinkBtn = document.getElementById("copyLinkBtn");
|
||||||
var urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
const urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
||||||
|
|
||||||
shareBtn.addEventListener('click', function () {
|
shareBtn.addEventListener('click', function () {
|
||||||
shareModal.show();
|
shareModal.show();
|
||||||
|
@ -460,8 +421,6 @@ require_once 'includes/header.php'; ?>
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
|
@ -478,11 +437,14 @@ require_once 'includes/header.php'; ?>
|
||||||
"inAlbum": {
|
"inAlbum": {
|
||||||
"@type": "MusicAlbum",
|
"@type": "MusicAlbum",
|
||||||
"name": "<?php echo $mix->getName(); ?>"
|
"name": "<?php echo $mix->getName(); ?>"
|
||||||
},
|
},<?php
|
||||||
|
// genre could be blank so we need to check if it is empty
|
||||||
|
if (!empty($mix->getGenres())) {
|
||||||
|
?>
|
||||||
"genre": "<?php
|
"genre": "<?php
|
||||||
$genre = new Genre($mix->getGenres()[0], $db);
|
$genre = new Genre($mix->getGenres()[0], $db);
|
||||||
echo $genre->get_name();
|
echo $genre->get_name();
|
||||||
?>",
|
?>",<?php } ?>
|
||||||
"url": "<?php echo "https://utahsdjs.com/mix/" . $mix->getSlug(); ?>",
|
"url": "<?php echo "https://utahsdjs.com/mix/" . $mix->getSlug(); ?>",
|
||||||
"image": "<?php echo $mix->getCover(); ?>",
|
"image": "<?php echo $mix->getCover(); ?>",
|
||||||
|
|
||||||
|
@ -570,9 +532,61 @@ require_once 'includes/header.php'; ?>
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
const audioElement = document.querySelector('audio');
|
||||||
|
|
||||||
<?php else: ?>
|
if ('mediaSession' in navigator) {
|
||||||
|
navigator.mediaSession.metadata = new MediaMetadata({
|
||||||
|
title: '<?php echo addslashes($mix->getName()); ?>',
|
||||||
|
artist: '<?php
|
||||||
|
$djs = $mix->getDJs();
|
||||||
|
$djCount = count($djs);
|
||||||
|
$i = 0;
|
||||||
|
$djnamelist = [];
|
||||||
|
foreach ($djs as $dj) {
|
||||||
|
$djnamelist[] = $dj->getName();
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo addslashes(implode(", ", $djnamelist));?>',
|
||||||
|
album: '<?php echo addslashes($mix->getName()); ?>',
|
||||||
|
artwork: [
|
||||||
|
{
|
||||||
|
src: '<?php echo $mix->getCover('small'); ?>',
|
||||||
|
sizes: '96x96',
|
||||||
|
type: 'image/jpeg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '<?php echo $mix->getCover('large'); ?>',
|
||||||
|
sizes: '128x128',
|
||||||
|
type: 'image/jpeg'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
// Define action handlers
|
||||||
|
navigator.mediaSession.setActionHandler('play', function () {
|
||||||
|
audioElement.play();
|
||||||
|
});
|
||||||
|
navigator.mediaSession.setActionHandler('pause', function () {
|
||||||
|
audioElement.pause();
|
||||||
|
});
|
||||||
|
|
||||||
|
audioElement.addEventListener('timeupdate', () => {
|
||||||
|
// Update the position state
|
||||||
|
navigator.mediaSession.setPositionState({
|
||||||
|
duration: audioElement.duration,
|
||||||
|
playbackRate: audioElement.playbackRate,
|
||||||
|
position: audioElement.currentTime
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php }
|
||||||
|
else { ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
|
@ -581,12 +595,11 @@ require_once 'includes/header.php'; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php endif;
|
<?php }
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<?php require_once 'includes/footer.php'; ?>
|
<?php require_once 'includes/footer.php';
|
20
mixshow.php
20
mixshow.php
|
@ -97,7 +97,7 @@ require_once 'includes/header.php';
|
||||||
|
|
||||||
foreach ($mixes as $mix) {
|
foreach ($mixes as $mix) {
|
||||||
$output = new Mix($mix['mix_id'], $db);
|
$output = new Mix($mix['mix_id'], $db);
|
||||||
$genres = $output->get_genres();
|
$genres = $output->getGenres();
|
||||||
$genrelist = [];
|
$genrelist = [];
|
||||||
|
|
||||||
foreach ($genres as $genre) {
|
foreach ($genres as $genre) {
|
||||||
|
@ -110,8 +110,8 @@ require_once 'includes/header.php';
|
||||||
// Column for mix name and link
|
// Column for mix name and link
|
||||||
echo '<div class="col-md">';
|
echo '<div class="col-md">';
|
||||||
echo '<p class="mb-0 " >';
|
echo '<p class="mb-0 " >';
|
||||||
echo '<a href="/mix/' . $output->get_slug() . '">';
|
echo '<a href="/mix/' . $output->getSlug() . '">';
|
||||||
echo $output->get_name();
|
echo $output->getName();
|
||||||
echo '</a>';
|
echo '</a>';
|
||||||
echo '</p>';
|
echo '</p>';
|
||||||
echo '</div>'; // End column
|
echo '</div>'; // End column
|
||||||
|
@ -131,7 +131,7 @@ require_once 'includes/header.php';
|
||||||
// Column for duration
|
// Column for duration
|
||||||
echo '<div class="col-md">';
|
echo '<div class="col-md">';
|
||||||
echo '<p class="mb-0">';
|
echo '<p class="mb-0">';
|
||||||
$duration = $output->get_duration();
|
$duration = $output->getDuration();
|
||||||
echo $duration['t'];
|
echo $duration['t'];
|
||||||
echo '</p>';
|
echo '</p>';
|
||||||
echo '</div>'; // End column
|
echo '</div>'; // End column
|
||||||
|
@ -140,9 +140,9 @@ require_once 'includes/header.php';
|
||||||
echo '<div class="col-md">';
|
echo '<div class="col-md">';
|
||||||
echo '<p class="mb-0">';
|
echo '<p class="mb-0">';
|
||||||
// date format should just be year
|
// date format should just be year
|
||||||
$date = $output->get_recorded();
|
$date = $output->getRecorded();
|
||||||
if ($date == "") {
|
if ($date == "") {
|
||||||
$date = $output->get_created();
|
$date = $output->getCreated();
|
||||||
}
|
}
|
||||||
echo date('Y', strtotime($date));
|
echo date('Y', strtotime($date));
|
||||||
|
|
||||||
|
@ -191,10 +191,10 @@ require_once 'includes/header.php';
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
var shareBtn = document.getElementById('shareBtn');
|
const shareBtn = document.getElementById('shareBtn');
|
||||||
var shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
const shareModal = new bootstrap.Modal(document.getElementById('shareModal'));
|
||||||
var copyLinkBtn = document.getElementById("copyLinkBtn");
|
const copyLinkBtn = document.getElementById("copyLinkBtn");
|
||||||
var urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
const urlToCopy = window.location.href + '?utm_source=website&utm_medium=share_modal&utm_campaign=sharing';
|
||||||
|
|
||||||
shareBtn.addEventListener('click', function () {
|
shareBtn.addEventListener('click', function () {
|
||||||
shareModal.show();
|
shareModal.show();
|
||||||
|
|
|
@ -1,124 +0,0 @@
|
||||||
<?php
|
|
||||||
session_start();
|
|
||||||
require_once 'includes/globals.php';
|
|
||||||
require_once 'vendor/autoload.php';
|
|
||||||
|
|
||||||
use DJMixHosting\Database;
|
|
||||||
|
|
||||||
$db = new Database($config);
|
|
||||||
$verification_code = "";
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['code'])) {
|
|
||||||
$verification_code = trim($_GET['code']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
||||||
$verification_code = trim($_POST['verification_code'] ?? '');
|
|
||||||
$username = trim($_POST['username'] ?? '');
|
|
||||||
$new_password = $_POST['new_password'] ?? '';
|
|
||||||
$confirm_password = $_POST['confirm_password'] ?? '';
|
|
||||||
|
|
||||||
if (empty($verification_code) || empty($username) || empty($new_password) || empty($confirm_password)) {
|
|
||||||
$_SESSION['error'] = "All fields are required.";
|
|
||||||
header("Location: password-reset.php?code=" . urlencode($verification_code));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
if ($new_password !== $confirm_password) {
|
|
||||||
$_SESSION['error'] = "Passwords do not match.";
|
|
||||||
header("Location: password-reset.php?code=" . urlencode($verification_code));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Look up the password reset record (purpose 'password_reset')
|
|
||||||
$stmt = $db->prepare("SELECT * FROM email_verifications WHERE verification_code = ? AND purpose = 'password_reset'");
|
|
||||||
$stmt->bind_param("s", $verification_code);
|
|
||||||
$stmt->execute();
|
|
||||||
$result = $stmt->get_result();
|
|
||||||
$record = $result->fetch_assoc();
|
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
if (!$record) {
|
|
||||||
$_SESSION['error'] = "Invalid or expired password reset code.";
|
|
||||||
header("Location: password-reset.php?code=" . urlencode($verification_code));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check expiration
|
|
||||||
$current_time = new DateTime();
|
|
||||||
$expires_at = new DateTime($record['expires_at']);
|
|
||||||
if ($current_time > $expires_at) {
|
|
||||||
$_SESSION['error'] = "Password reset code has expired.";
|
|
||||||
header("Location: password-reset.php?code=" . urlencode($verification_code));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Verify the username matches the record
|
|
||||||
$stmt = $db->prepare("SELECT id, username FROM users WHERE id = ? AND username = ?");
|
|
||||||
$stmt->bind_param("is", $record['user_id'], $username);
|
|
||||||
$stmt->execute();
|
|
||||||
$userData = $stmt->get_result()->fetch_assoc();
|
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
if (!$userData) {
|
|
||||||
$_SESSION['error'] = "Username does not match our records.";
|
|
||||||
header("Location: password-reset.php?code=" . urlencode($verification_code));
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update the user's password
|
|
||||||
$hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
|
|
||||||
$stmt = $db->prepare("UPDATE users SET password = ? WHERE id = ?");
|
|
||||||
$stmt->bind_param("si", $hashed_password, $userData['id']);
|
|
||||||
$stmt->execute();
|
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
// Remove the password reset record
|
|
||||||
$stmt = $db->prepare("DELETE FROM email_verifications WHERE verification_code = ? AND purpose = 'password_reset'");
|
|
||||||
$stmt->bind_param("s", $verification_code);
|
|
||||||
$stmt->execute();
|
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
$_SESSION['success'] = "Your password has been reset successfully. Please log in with your new password.";
|
|
||||||
header("Location: login.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
require_once 'includes/header.php';
|
|
||||||
?>
|
|
||||||
|
|
||||||
<section class="password-reset-section py-5">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-lg-5">
|
|
||||||
<?php
|
|
||||||
if(isset($_SESSION['error'])) {
|
|
||||||
echo '<div class="alert alert-danger alert-dismissible fade show mb-4" role="alert">' . htmlspecialchars($_SESSION['error']) . '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button></div>';
|
|
||||||
unset($_SESSION['error']);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<div class="card shadow-sm border-0">
|
|
||||||
<div class="card-body p-4">
|
|
||||||
<h3 class="text-center mb-4">Reset Password</h3>
|
|
||||||
<form action="password-reset.php" method="post" class="needs-validation" novalidate>
|
|
||||||
<input type="hidden" name="verification_code" value="<?php echo htmlspecialchars($verification_code); ?>">
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="username" class="form-label">Enter your username</label>
|
|
||||||
<input type="text" class="form-control" id="username" name="username" required>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="new_password" class="form-label">New Password</label>
|
|
||||||
<input type="password" class="form-control" id="new_password" name="new_password" required>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="confirm_password" class="form-label">Confirm New Password</label>
|
|
||||||
<input type="password" class="form-control" id="confirm_password" name="confirm_password" required>
|
|
||||||
</div>
|
|
||||||
<button type="submit" class="btn btn-primary w-100">Reset Password</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<?php require_once 'includes/footer.php'; ?>
|
|
2084
privacy.php
2084
privacy.php
File diff suppressed because it is too large
Load diff
23
profile.php
23
profile.php
|
@ -126,7 +126,7 @@ require_once 'includes/header.php';
|
||||||
<button type="button" class="btn btn-sm btn-secondary mb-2"
|
<button type="button" class="btn btn-sm btn-secondary mb-2"
|
||||||
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
||||||
data-bs-toggle="modal" data-bs-target="#profilePictureModal">
|
data-bs-toggle="modal" data-bs-target="#profilePictureModal">
|
||||||
Change Picture
|
<?php echo $locale['changePicture']; ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -134,10 +134,10 @@ require_once 'includes/header.php';
|
||||||
<div class="list-group mb-4">
|
<div class="list-group mb-4">
|
||||||
<div class="list-group-item d-flex justify-content-between align-items-center">
|
<div class="list-group-item d-flex justify-content-between align-items-center">
|
||||||
<span><?php echo $locale['username']; ?>: <?php echo htmlspecialchars($userData['username']); ?></span>
|
<span><?php echo $locale['username']; ?>: <?php echo htmlspecialchars($userData['username']); ?></span>
|
||||||
<button type="button" class="btn btn-sm btn-secondary"
|
<button type="button" class="btn btn-sm btn-secondary me-1"
|
||||||
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
||||||
data-bs-toggle="modal" data-bs-target="#usernameModal">
|
data-bs-toggle="modal" data-bs-target="#usernameModal">
|
||||||
Change
|
<?php echo $locale['change']; ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-group-item d-flex justify-content-between align-items-center">
|
<div class="list-group-item d-flex justify-content-between align-items-center">
|
||||||
|
@ -146,29 +146,28 @@ require_once 'includes/header.php';
|
||||||
<button type="button" class="btn btn-sm btn-secondary me-1"
|
<button type="button" class="btn btn-sm btn-secondary me-1"
|
||||||
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
||||||
data-bs-toggle="modal" data-bs-target="#emailModal">
|
data-bs-toggle="modal" data-bs-target="#emailModal">
|
||||||
Change
|
<?php echo $locale['change']; ?>
|
||||||
</button><?php if (!$userData['emailVerified']): ?>
|
</button><?php if (!$userData['emailVerified']) { ?>
|
||||||
<button type="button" class="btn btn-sm btn-primary"
|
<button type="button" class="btn btn-sm btn-primary"
|
||||||
data-bs-toggle="modal" data-bs-target="#verifyEmailModal">
|
data-bs-toggle="modal" data-bs-target="#verifyEmailModal">
|
||||||
Verify
|
<?php echo $locale['verify']; ?>
|
||||||
</button>
|
</button>
|
||||||
<?php endif; ?>
|
<?php } ?></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="list-group-item d-flex justify-content-between align-items-center">
|
<div class="list-group-item d-flex justify-content-between align-items-center">
|
||||||
<span><?php echo $locale['name']; ?>: <?php echo htmlspecialchars($userData['firstName'] . ' ' . $userData['lastName']); ?></span>
|
<span><?php echo $locale['name']; ?>: <?php echo htmlspecialchars($userData['firstName'] . ' ' . $userData['lastName']); ?></span>
|
||||||
<button type="button" class="btn btn-sm btn-secondary"
|
<button type="button" class="btn btn-sm btn-secondary me-1"
|
||||||
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
||||||
data-bs-toggle="modal" data-bs-target="#nameModal">
|
data-bs-toggle="modal" data-bs-target="#nameModal">
|
||||||
Change
|
<?php echo $locale['change']; ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-group-item d-flex justify-content-between align-items-center">
|
<div class="list-group-item d-flex justify-content-between align-items-center">
|
||||||
<span>Password</span>
|
<span>Password</span>
|
||||||
<button type="button" class="btn btn-sm btn-secondary"
|
<button type="button" class="btn btn-sm btn-secondary me-1"
|
||||||
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
<?php echo ($editingDisabled) ? 'disabled' : ''; ?>
|
||||||
data-bs-toggle="modal" data-bs-target="#passwordModal">
|
data-bs-toggle="modal" data-bs-target="#passwordModal">
|
||||||
Change
|
<?php echo $locale['change']; ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
22
register.php
22
register.php
|
@ -26,21 +26,21 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
// Basic validation
|
// Basic validation
|
||||||
$errors = [];
|
$errors = [];
|
||||||
if (empty($username) || empty($email) || empty($password) || empty($confirm_password) || empty($first_name) || empty($last_name)) {
|
if (empty($username) || empty($email) || empty($password) || empty($confirm_password) || empty($first_name) || empty($last_name)) {
|
||||||
$errors[] = "All fields are required.";
|
$errors[] = $locale['allFieldsRequired'];
|
||||||
}
|
}
|
||||||
if ($password !== $confirm_password) {
|
if ($password !== $confirm_password) {
|
||||||
$errors[] = "Passwords do not match.";
|
$errors[] = $locale['passwordDoNotMatch'];
|
||||||
}
|
}
|
||||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||||
$errors[] = "Invalid email format.";
|
$errors[] = $locale['invalidEmail'];
|
||||||
}
|
}
|
||||||
if (!preg_match('/^[a-zA-Z0-9_]{3,25}$/', $username)) {
|
if (!preg_match('/^[a-zA-Z0-9_]{3,25}$/', $username)) {
|
||||||
$errors[] = "Invalid username format.";
|
$errors[] = $locale['invalidUsername'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($errors)) {
|
if (!empty($errors)) {
|
||||||
$_SESSION['error'] = implode(" ", $errors);
|
$_SESSION['error'] = implode(" ", $errors);
|
||||||
header("Location: register.php");
|
header("Location: /register");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
$user_id = $user->newUser($username, $password, $email, $first_name, $last_name);
|
$user_id = $user->newUser($username, $password, $email, $first_name, $last_name);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$_SESSION['error'] = $e->getMessage();
|
$_SESSION['error'] = $e->getMessage();
|
||||||
header("Location: register.php");
|
header("Location: /register");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,11 +84,13 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
]);
|
]);
|
||||||
$sender_email = $config['aws']['ses']['sender_email'];
|
$sender_email = $config['aws']['ses']['sender_email'];
|
||||||
$recipient_email = $email;
|
$recipient_email = $email;
|
||||||
$subject = "Verify Your Email Address";
|
$subject = $locale['verifyEmailAddress'];
|
||||||
$verification_link = $config['app']['url'] . "/verify_email.php?code={$verification_code}";
|
$verification_link = $config['app']['url'] . "/verify_email.php?code={$verification_code}";
|
||||||
$body_text = "Thank you for registering at " . $config['app']['name'] . ".\n\n";
|
$body_text = $locale['registerThankYou'] . $config['app']['name'] . ".\n\n";
|
||||||
$body_text .= "Please verify your email address by clicking the link below or by entering the verification code in your profile:\n\n";
|
$body_text .= $locale['registerVerifyEmail'] . "\n\n";
|
||||||
$body_text .= "{$verification_link}\n\nYour verification code is: {$verification_code}\nThis code will expire in 15 minutes.";
|
$body_text .= $verification_link . "\n\n";
|
||||||
|
$body_text .= $locale['registerVerifyCodeIs'] . $verification_code . "\n";
|
||||||
|
$body_text .= $locale['registerVerifyTimeout'];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$sesClient->sendEmail([
|
$sesClient->sendEmail([
|
||||||
|
|
110
rss.php
110
rss.php
|
@ -1,2 +1,112 @@
|
||||||
<?php
|
<?php
|
||||||
|
require_once 'includes/globals.php';
|
||||||
|
require_once 'vendor/autoload.php';
|
||||||
|
|
||||||
|
use DJMixHosting\RSS;
|
||||||
|
use DJMixHosting\DJ;
|
||||||
|
use DJMixHosting\Mixshow;
|
||||||
|
use DJMixHosting\Genre;
|
||||||
|
|
||||||
|
// Use your site configuration variables (defined in config.php)
|
||||||
|
$serverName = $config['app']['name'];
|
||||||
|
$serverUrl = $config['app']['url'];
|
||||||
|
|
||||||
|
// Set default channel information
|
||||||
|
$channelTitle = $serverName;
|
||||||
|
$channelDescription = "RSS feed for " . $serverName;
|
||||||
|
|
||||||
|
// Instantiate the RSS object
|
||||||
|
$rss = new RSS($channelTitle, $serverUrl, $channelDescription);
|
||||||
|
|
||||||
|
// Check if a mode and slug are provided via the rewritten URLs.
|
||||||
|
if (isset($_GET['mode']) && isset($_GET['slug'])) {
|
||||||
|
$mode = $_GET['mode'];
|
||||||
|
$slug = $_GET['slug'];
|
||||||
|
|
||||||
|
if ($mode === 'dj') {
|
||||||
|
// Load DJ using the new class.
|
||||||
|
$dj = new DJ($slug, $db);
|
||||||
|
if ($dj->getID() > 0) {
|
||||||
|
$channelTitle = $dj->getName() . " | " . $serverName;
|
||||||
|
$rss = new RSS($channelTitle, $serverUrl, "RSS feed for " . $channelTitle);
|
||||||
|
|
||||||
|
// Retrieve mixes for the DJ.
|
||||||
|
$mixes = $dj->getDJMixes();
|
||||||
|
foreach ($mixes as $mix) {
|
||||||
|
$title = $mix['title'] ?? (isset($mix['details']['title']) ? $mix['details']['title'] : "New Untitled Mix");
|
||||||
|
$description = (!empty($mix['description'])) ? $mix['description'] :
|
||||||
|
(isset($mix['details']['description']) ? $mix['details']['description'] : $title . " is a mix hosted on " . $serverName);
|
||||||
|
$link = $serverUrl . 'mix/' . $mix['slug'] . '/';
|
||||||
|
$pubDate = $mix['recorded'] ?? ($mix['created'] ?? '2008-01-01 12:00:00');
|
||||||
|
$rss->addItem($title, $description, $link, $pubDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif ($mode === 'mixshow') {
|
||||||
|
// Load Mixshow using the new class.
|
||||||
|
$mixshow = new Mixshow($slug, $db);
|
||||||
|
if ($mixshow->get_id() > 0) {
|
||||||
|
$channelTitle = $mixshow->get_name() . " | " . $serverName;
|
||||||
|
$rss = new RSS($channelTitle, $serverUrl, "RSS feed for " . $channelTitle);
|
||||||
|
|
||||||
|
// The mixshow object returns an array of mix IDs.
|
||||||
|
$mixIDs = $mixshow->get_mixes(); // Each element should contain 'mix_id'
|
||||||
|
foreach ($mixIDs as $mixData) {
|
||||||
|
$mixID = $mixData['mix_id'];
|
||||||
|
// getMixByID() should be defined to return a mix’s details as an associative array.
|
||||||
|
$mix = getMixByID($mixID);
|
||||||
|
if ($mix) {
|
||||||
|
$title = $mix['title'] ?? (isset($mix['details']['title']) ? $mix['details']['title'] : "New Untitled Mix");
|
||||||
|
$description = (!empty($mix['description'])) ? $mix['description'] :
|
||||||
|
(isset($mix['details']['description']) ? $mix['details']['description'] : $title . " is a mix hosted on " . $serverName);
|
||||||
|
$link = $serverUrl . 'mix/' . $mix['slug'] . '/';
|
||||||
|
$pubDate = $mix['recorded'] ?? ($mix['created'] ?? '2008-01-01 12:00:00');
|
||||||
|
$rss->addItem($title, $description, $link, $pubDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif ($mode === 'genre') {
|
||||||
|
// For genres, we assume helper functions exist.
|
||||||
|
$genre = getGenreSlug($slug); // Should return an associative array with at least 'id' and 'genre'
|
||||||
|
if (!empty($genre['id'])) {
|
||||||
|
$channelTitle = $genre['genre'] . " | " . $serverName;
|
||||||
|
$rss = new RSS($channelTitle, $serverUrl, "RSS feed for " . $channelTitle);
|
||||||
|
|
||||||
|
// getMoreMixesByGenre() should return an array of mixes.
|
||||||
|
$mixes = array_reverse(getMoreMixesByGenre($genre['id']));
|
||||||
|
foreach ($mixes as $mix) {
|
||||||
|
$title = $mix['title'] ?? (isset($mix['details']['title']) ? $mix['details']['title'] : "New Untitled Mix");
|
||||||
|
$description = (!empty($mix['description'])) ? $mix['description'] :
|
||||||
|
(isset($mix['details']['description']) ? $mix['details']['description'] : $title . " is a mix hosted on " . $serverName);
|
||||||
|
$link = $serverUrl . 'mix/' . $mix['slug'] . '/';
|
||||||
|
$pubDate = $mix['recorded'] ?? ($mix['created'] ?? '2008-01-01 12:00:00');
|
||||||
|
$rss->addItem($title, $description, $link, $pubDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Unknown mode – fallback to all mixes.
|
||||||
|
$mixes = getAllMix();
|
||||||
|
foreach ($mixes as $mix) {
|
||||||
|
$title = $mix['title'] ?? (isset($mix['details']['title']) ? $mix['details']['title'] : "New Untitled Mix");
|
||||||
|
$description = (!empty($mix['description'])) ? $mix['description'] :
|
||||||
|
(isset($mix['details']['description']) ? $mix['details']['description'] : $title . " is a mix hosted on " . $serverName);
|
||||||
|
$link = $serverUrl . 'mix/' . $mix['slug'] . '/';
|
||||||
|
$pubDate = $mix['recorded'] ?? ($mix['created'] ?? '2008-01-01 12:00:00');
|
||||||
|
$rss->addItem($title, $description, $link, $pubDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// No mode provided – default to a feed of all mixes.
|
||||||
|
$mixes = getAllMix();
|
||||||
|
foreach ($mixes as $mix) {
|
||||||
|
$title = $mix['title'] ?? (isset($mix['details']['title']) ? $mix['details']['title'] : "New Untitled Mix");
|
||||||
|
$description = (!empty($mix['description'])) ? $mix['description'] :
|
||||||
|
(isset($mix['details']['description']) ? $mix['details']['description'] : $title . " is a mix hosted on " . $serverName);
|
||||||
|
$link = $serverUrl . 'mix/' . $mix['slug'] . '/';
|
||||||
|
$pubDate = $mix['recorded'] ?? ($mix['created'] ?? '2008-01-01 12:00:00');
|
||||||
|
$rss->addItem($title, $description, $link, $pubDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the appropriate header and output the RSS XML.
|
||||||
|
header("Content-type: application/rss+xml");
|
||||||
|
echo $rss->generateXML();
|
||||||
|
|
118
search.php
Normal file
118
search.php
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
<?php
|
||||||
|
require_once 'includes/globals.php';
|
||||||
|
$title = "Search Results";
|
||||||
|
require_once 'includes/header.php';
|
||||||
|
|
||||||
|
// Get the search query and current page.
|
||||||
|
$query = isset($_GET['q']) ? trim($_GET['q']) : '';
|
||||||
|
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
|
||||||
|
$resultsPerPage = 10;
|
||||||
|
|
||||||
|
if (empty($query)) {
|
||||||
|
echo "<div class='container py-5'><div class='alert alert-warning'>Please enter a search query.</div></div>";
|
||||||
|
require_once 'includes/footer.php';
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instantiate the classes using your DB connection.
|
||||||
|
use DJMixHosting\DJs;
|
||||||
|
use DJMixHosting\Genres;
|
||||||
|
use DJMixHosting\Mixshows;
|
||||||
|
use DJMixHosting\Database;
|
||||||
|
use DJMixHosting\Mixes;
|
||||||
|
|
||||||
|
$db = new Database($config);
|
||||||
|
|
||||||
|
$djsObj = new DJs($db);
|
||||||
|
$genresObj = new Genres($db);
|
||||||
|
$mixshowsObj = new Mixshows($db);
|
||||||
|
$mixesObj = new Mixes($db);
|
||||||
|
|
||||||
|
// Execute the search methods.
|
||||||
|
$djsResults = $djsObj->search($query, $page, $resultsPerPage);
|
||||||
|
$genresResults = $genresObj->search($query, $page, $resultsPerPage);
|
||||||
|
$mixshowsResults = $mixshowsObj->search($query, $page, $resultsPerPage);
|
||||||
|
$mixesResults = $mixesObj->search($query, $page, $resultsPerPage);
|
||||||
|
|
||||||
|
// Combine and label results.
|
||||||
|
$results = [];
|
||||||
|
|
||||||
|
foreach ($djsResults as $result) {
|
||||||
|
$result['type'] = 'DJ';
|
||||||
|
$results[] = $result;
|
||||||
|
}
|
||||||
|
foreach ($genresResults as $result) {
|
||||||
|
$result['type'] = 'Genre';
|
||||||
|
$results[] = $result;
|
||||||
|
}
|
||||||
|
foreach ($mixshowsResults as $result) {
|
||||||
|
$result['type'] = 'Mixshow';
|
||||||
|
$results[] = $result;
|
||||||
|
}
|
||||||
|
foreach ($mixesResults as $result) {
|
||||||
|
$result['type'] = 'Mix';
|
||||||
|
// Rename title field to name for consistency.
|
||||||
|
$result['name'] = $result['title'];
|
||||||
|
$results[] = $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// (Optional) You can sort the combined results here if needed.
|
||||||
|
?>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<div class="container py-5">
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<nav aria-label="breadcrumb" class="bg-body-tertiary rounded-3 p-3 mb-4">
|
||||||
|
<ol class="breadcrumb mb-0">
|
||||||
|
<li class="breadcrumb-item"><a href="/"><?php echo $locale['home']; ?></a></li>
|
||||||
|
<li class="breadcrumb-item active" aria-current="page">Search</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!-- Search Heading -->
|
||||||
|
<h1 class="mb-4">Search Results for "<span class="text-primary"><?php echo htmlspecialchars($query); ?></span>"</h1>
|
||||||
|
|
||||||
|
<?php if (empty($results)): ?>
|
||||||
|
<div class="alert alert-info">No results found for your search query.</div>
|
||||||
|
<?php else: ?>
|
||||||
|
<div class="row">
|
||||||
|
<?php foreach ($results as $result): ?>
|
||||||
|
<div class="col-md-6 mb-4">
|
||||||
|
<div class="card h-100 shadow-sm">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">
|
||||||
|
<?php echo htmlspecialchars($result['name']); ?>
|
||||||
|
<span class="badge bg-secondary ms-2"><?php echo htmlspecialchars($result['type']); ?></span>
|
||||||
|
</h5>
|
||||||
|
<p class="card-text">
|
||||||
|
<?php echo htmlspecialchars($result['bio'] ?? $result['description'] ?? ''); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<?php if (isset($result['slug'])): ?>
|
||||||
|
<div class="card-footer text-end bg-transparent border-0">
|
||||||
|
<a href="/<?php echo strtolower($result['type']); ?>/<?php echo htmlspecialchars($result['slug']); ?>" class="btn btn-sm btn-primary">View Details</a>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<!-- Pagination -->
|
||||||
|
<nav aria-label="Search result pages">
|
||||||
|
<ul class="pagination justify-content-center">
|
||||||
|
<?php if ($page > 1): ?>
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" href="/search.php?q=<?php echo urlencode($query); ?>&page=<?php echo $page - 1; ?>">Previous</a>
|
||||||
|
</li>
|
||||||
|
<?php endif; ?>
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" href="/search.php?q=<?php echo urlencode($query); ?>&page=<?php echo $page + 1; ?>">Next</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<?php require_once 'includes/footer.php'; ?>
|
63
upload.php
63
upload.php
|
@ -69,7 +69,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simple slugify function
|
// Simple slugify function
|
||||||
function slugify($text) {
|
function slugify($text): string
|
||||||
|
{
|
||||||
$text = preg_replace('~[^\pL\d]+~u', '-', $text);
|
$text = preg_replace('~[^\pL\d]+~u', '-', $text);
|
||||||
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
|
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
|
||||||
$text = preg_replace('~[^-\w]+~', '', $text);
|
$text = preg_replace('~[^-\w]+~', '', $text);
|
||||||
|
@ -147,12 +148,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
unset($_SESSION['upload_task']);
|
unset($_SESSION['upload_task']);
|
||||||
|
|
||||||
$_SESSION['success'] = $locale['uploadedPendingApproval'];
|
$_SESSION['success'] = $locale['uploadedPendingApproval'];
|
||||||
header("Location: profile.php");
|
header("Location: /profile");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
<?php require_once 'includes/header.php'; ?>
|
require_once 'includes/header.php'; ?>
|
||||||
|
|
||||||
<section class="upload-section py-5">
|
<section class="upload-section py-5">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -170,46 +171,50 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
<h3 class="card-title mb-4"><?php echo $locale['uploadHeader1'];?></h3>
|
<h3 class="card-title mb-4"><?php echo $locale['uploadHeader1'];?></h3>
|
||||||
<!-- Info Alert -->
|
<!-- Info Alert -->
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
<h4 class="alert-heading">Important Upload Information</h4>
|
<h4 class="alert-heading"><?php echo $locale['uploadAlertHeader'];?></h4>
|
||||||
<p>Utah's DJs is primarily an archival project dedicated to preserving the history and culture of EDM DJs in Utah. Your uploads contribute to this historical record.</p>
|
<p><?php echo $locale['uploadAlert1'];?></p>
|
||||||
</div>
|
</div>
|
||||||
<!-- Requirements -->
|
<!-- Requirements -->
|
||||||
<h4 class="mb-3">Before You Upload</h4>
|
<h4 class="mb-3"><?php echo $locale['uploadHeader2'];?></h4>
|
||||||
<ul class="list-group list-group-flush mb-4">
|
<ul class="list-group list-group-flush mb-4">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<i class="fas fa-check-circle text-success me-2"></i>
|
<i class="fas fa-check-circle text-success me-2"></i>
|
||||||
Verify that all DJs involved are listed in our database. If a DJ is not listed, they must be added and approved before uploading.
|
<?php echo $locale['uploadAlert2'];?>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<i class="fas fa-check-circle text-success me-2"></i>
|
<i class="fas fa-check-circle text-success me-2"></i>
|
||||||
Check that appropriate genres are available for your mix. New genres require approval before they can be used.
|
<?php echo $locale['uploadAlert3'];?>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<i class="fas fa-info-circle text-primary me-2"></i>
|
<i class="fas fa-info-circle text-primary me-2"></i>
|
||||||
You can submit new DJ or genre requests through your profile settings.
|
<?php echo $locale['uploadAlert4'];?>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- Process Steps -->
|
<!-- Process Steps -->
|
||||||
<h4 class="mb-3">Upload Process</h4>
|
<h4 class="mb-3"><?php echo $locale['uploadProcess'];?></h4>
|
||||||
<ol class="list-group list-group-numbered mb-4">
|
<ol class="list-group list-group-numbered mb-4">
|
||||||
<li class="list-group-item">Upload your mix file (MP3 or ZIP format)</li>
|
<li class="list-group-item"><?php echo $locale['uploadProcess1'];?></li>
|
||||||
<li class="list-group-item">Enter mix details, including title, description, and recording date</li>
|
<li class="list-group-item"><?php echo $locale['uploadProcess2'];?></li>
|
||||||
<li class="list-group-item">Select relevant genres and DJs</li>
|
<li class="list-group-item"><?php echo $locale['uploadProcess3'];?></li>
|
||||||
<li class="list-group-item">Submit for review</li>
|
<li class="list-group-item"><?php echo $locale['uploadProcess4'];?></li>
|
||||||
</ol>
|
</ol>
|
||||||
<!-- Upload Form -->
|
<!-- Upload Form -->
|
||||||
<div class="card mt-4">
|
<div class="card mt-4">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h4 class="card-title mb-4">Upload Your Mix</h4>
|
<h4 class="card-title mb-4"><?php echo $locale['uploadAMix'];?></h4>
|
||||||
<form action="/upload" method="post" enctype="multipart/form-data">
|
<form action="/upload" method="post" enctype="multipart/form-data">
|
||||||
<input type="hidden" name="action" value="upload_file">
|
<input type="hidden" name="action" value="upload_file">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="mix_file" class="form-label">Select Mix File (MP3 or ZIP)</label>
|
<label for="mix_file" class="form-label"><?php echo $locale['uploadSelectMix'];?></label>
|
||||||
<input type="file" class="form-control" id="mix_file" name="mix_file" accept=".mp3,.zip" required>
|
<?php
|
||||||
<div class="form-text">Maximum file size: 500MB</div>
|
// we need to take the file extensions from config allowed_file_types and comma separate them with periods
|
||||||
|
$acceptedFileTypes = implode(",", array_map(function($ext) { return "." . $ext; }, $config['uploads']['allowed_file_types']));
|
||||||
|
?>
|
||||||
|
<input type="file" class="form-control" id="mix_file" name="mix_file" accept="<?php echo $acceptedFileTypes; ?>" required>
|
||||||
|
<div class="form-text"><?php echo $locale['uploadMaxFileSize'];?></div>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" class="btn btn-primary">
|
||||||
<i class="fas fa-upload me-2"></i>Upload File
|
<i class="fas fa-upload me-2"></i><?php echo $locale['uploadFile'];?>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -246,19 +251,19 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
<form action="/upload" method="post" class="needs-validation" novalidate>
|
<form action="/upload" method="post" class="needs-validation" novalidate>
|
||||||
<input type="hidden" name="action" value="submit_details">
|
<input type="hidden" name="action" value="submit_details">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="title" class="form-label">Mix Title</label>
|
<label for="title" class="form-label"><?php echo $locale['mixName'];?></label>
|
||||||
<input type="text" class="form-control" id="title" name="title" required>
|
<input type="text" class="form-control" id="title" name="title" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="description" class="form-label">Mix Description</label>
|
<label for="description" class="form-label"><?php echo $locale['mixDescription'];?></label>
|
||||||
<textarea class="form-control" id="description" name="description" rows="3"></textarea>
|
<textarea class="form-control" id="description" name="description" rows="3"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="recorded" class="form-label">Recorded Date</label>
|
<label for="recorded" class="form-label"><?php echo $locale['recordedDate'];?></label>
|
||||||
<input type="date" class="form-control" id="recorded" name="recorded" required>
|
<input type="date" class="form-control" id="recorded" name="recorded" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="genres" class="form-label">Select Genres (type to search)</label>
|
<label for="genres" class="form-label"><?php echo $locale['uploadSelectGenres'];?></label>
|
||||||
<select class="form-select" id="genres" name="genres[]" multiple required>
|
<select class="form-select" id="genres" name="genres[]" multiple required>
|
||||||
<?php foreach ($allGenres as $genre): ?>
|
<?php foreach ($allGenres as $genre): ?>
|
||||||
<option value="<?php echo htmlspecialchars($genre['id']); ?>"><?php echo htmlspecialchars($genre['name']); ?></option>
|
<option value="<?php echo htmlspecialchars($genre['id']); ?>"><?php echo htmlspecialchars($genre['name']); ?></option>
|
||||||
|
@ -266,11 +271,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Select DJs (Maximum 3)</label>
|
<label class="form-label"><?php echo $locale['uploadSelectDJSMax3'];?></label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<select class="form-select" name="dj1" required>
|
<select class="form-select" name="dj1" required>
|
||||||
<option value="">Select DJ 1</option>
|
<option value=""><?php echo $locale['uploadSelectDJ1'];?></option>
|
||||||
<?php foreach ($allDJs as $dj): ?>
|
<?php foreach ($allDJs as $dj): ?>
|
||||||
<option value="<?php echo htmlspecialchars($dj['id']); ?>"><?php echo htmlspecialchars($dj['name']); ?></option>
|
<option value="<?php echo htmlspecialchars($dj['id']); ?>"><?php echo htmlspecialchars($dj['name']); ?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
@ -278,7 +283,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<select class="form-select" name="dj2">
|
<select class="form-select" name="dj2">
|
||||||
<option value="">Select DJ 2 (Optional)</option>
|
<option value=""><?php echo $locale['uploadSelectDJ2'];?></option>
|
||||||
<?php foreach ($allDJs as $dj): ?>
|
<?php foreach ($allDJs as $dj): ?>
|
||||||
<option value="<?php echo htmlspecialchars($dj['id']); ?>"><?php echo htmlspecialchars($dj['name']); ?></option>
|
<option value="<?php echo htmlspecialchars($dj['id']); ?>"><?php echo htmlspecialchars($dj['name']); ?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
@ -286,7 +291,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<select class="form-select" name="dj3">
|
<select class="form-select" name="dj3">
|
||||||
<option value="">Select DJ 3 (Optional)</option>
|
<option value=""><?php echo $locale['uploadSelectDJ3'];?></option>
|
||||||
<?php foreach ($allDJs as $dj): ?>
|
<?php foreach ($allDJs as $dj): ?>
|
||||||
<option value="<?php echo htmlspecialchars($dj['id']); ?>"><?php echo htmlspecialchars($dj['name']); ?></option>
|
<option value="<?php echo htmlspecialchars($dj['id']); ?>"><?php echo htmlspecialchars($dj['name']); ?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
@ -294,7 +299,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary">Submit Mix</button>
|
<button type="submit" class="btn btn-primary"><?php echo $locale['uploadSubmitMix'];?></button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue