Compare commits
57 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8ed7eff7e | ||
|
|
3943bf3dc6 | ||
|
|
0714b93dc9 | ||
|
|
d391709be6 | ||
|
|
adb9d5242e | ||
|
|
b72e493675 | ||
|
|
907c460d97 | ||
|
|
98572919b2 | ||
|
|
febd844c91 | ||
|
|
bda3c61f7f | ||
|
|
254734bdc1 | ||
|
|
829281b616 | ||
|
|
dff86d9232 | ||
|
|
50668efc1b | ||
|
|
845634e8f1 | ||
|
|
9ad2253972 | ||
|
|
a155c3a442 | ||
|
|
4ac9622374 | ||
|
|
c59e2bb3b9 | ||
|
|
e6bb583601 | ||
|
|
a7f1b0c906 | ||
|
|
1607961543 | ||
|
|
e1d2e5e4d9 | ||
|
|
a30eb683d6 | ||
|
|
e454d46e49 | ||
|
|
067f631c6c | ||
|
|
3b36854a21 | ||
|
|
421d8afa36 | ||
|
|
5ad8ccdf2f | ||
|
|
313152ed92 | ||
|
|
e5c6578264 | ||
|
|
9e7ff7fff7 | ||
|
|
f0f57cf093 | ||
|
|
30db4523f4 | ||
|
|
894b4b37e7 | ||
|
|
17832f1ac1 | ||
|
|
1adbb294aa | ||
|
|
804ab650d7 | ||
|
|
efd5dd9bd5 | ||
|
|
af13edbf0c | ||
|
|
bb79429079 | ||
|
|
aa1debcba3 | ||
|
|
dd757c2aca | ||
|
|
aeb53708de | ||
|
|
aac4937f35 | ||
|
|
d0a58d5d08 | ||
|
|
aa54385ce2 | ||
|
|
36d0e4ac6a | ||
|
|
db5f811ae4 | ||
|
|
a056596325 | ||
|
|
d8edf39aab | ||
|
|
33d0b6be0d | ||
|
|
7b6bc83953 | ||
|
|
ec71b8a43a | ||
|
|
84ee089e3d | ||
|
|
6a330a7215 | ||
|
|
d6bb68ec5d |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -25,3 +25,4 @@
|
|||||||
/WeddingShare/wwwroot/logos
|
/WeddingShare/wwwroot/logos
|
||||||
/WeddingShare/wwwroot/banners
|
/WeddingShare/wwwroot/banners
|
||||||
/WeddingShare/wwwroot/images/custom_resources
|
/WeddingShare/wwwroot/images/custom_resources
|
||||||
|
/WeddingShare/config/wedding-share.db.bak
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using System.Data.Common;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@@ -40,25 +41,20 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
{
|
{
|
||||||
_env.WebRootPath.Returns("/app/wwwroot");
|
_env.WebRootPath.Returns("/app/wwwroot");
|
||||||
|
|
||||||
_database.GetGallery("default").Returns(Task.FromResult<GalleryModel?>(new GalleryModel()
|
var mockData = GetMockData();
|
||||||
{
|
|
||||||
Id = 1,
|
_database.GetGallery(1).Returns(Task.FromResult<GalleryModel?>(mockData["default"]));
|
||||||
Name = "default",
|
_database.GetGallery(2).Returns(Task.FromResult<GalleryModel?>(mockData["blaa"]));
|
||||||
SecretKey = "password",
|
_database.GetGallery(3).Returns(Task.FromResult<GalleryModel?>(null));
|
||||||
ApprovedItems = 32,
|
|
||||||
PendingItems = 50,
|
_database.GetGalleryId("default").Returns(Task.FromResult<int?>(mockData["default"].Id));
|
||||||
TotalItems = 72
|
_database.GetGalleryId("blaa").Returns(Task.FromResult<int?>(mockData["blaa"].Id));
|
||||||
}));
|
_database.GetGalleryId("missing").Returns(Task.FromResult<int?>(null));
|
||||||
_database.GetGallery("blaa").Returns(Task.FromResult<GalleryModel?>(new GalleryModel()
|
|
||||||
{
|
_database.GetGalleryIdByName("default").Returns(Task.FromResult<int?>(mockData["default"].Id));
|
||||||
Id = 2,
|
_database.GetGalleryIdByName("blaa").Returns(Task.FromResult<int?>(mockData["blaa"].Id));
|
||||||
Name = "blaa",
|
_database.GetGalleryIdByName("missing").Returns(Task.FromResult<int?>(null));
|
||||||
SecretKey = "456789",
|
|
||||||
ApprovedItems = 2,
|
|
||||||
PendingItems = 1,
|
|
||||||
TotalItems = 3
|
|
||||||
}));
|
|
||||||
_database.GetGallery("missing").Returns(Task.FromResult<GalleryModel?>(null));
|
|
||||||
_database.AddGallery(Arg.Any<GalleryModel>()).Returns(Task.FromResult<GalleryModel?>(new GalleryModel()
|
_database.AddGallery(Arg.Any<GalleryModel>()).Returns(Task.FromResult<GalleryModel?>(new GalleryModel()
|
||||||
{
|
{
|
||||||
Id = 101,
|
Id = 101,
|
||||||
@@ -76,17 +72,17 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
_database.GetAllGalleryItems(Arg.Any<int>(), GalleryItemState.Approved, Arg.Any<MediaType>(), Arg.Any<ImageOrientation>(), Arg.Any<GalleryGroup>(), Arg.Any<GalleryOrder>(), Arg.Any<int>(), Arg.Any<int>()).Returns(Task.FromResult(MockData.MockGalleryItems(10, 1, GalleryItemState.Approved)));
|
_database.GetAllGalleryItems(Arg.Any<int>(), GalleryItemState.Approved, Arg.Any<MediaType>(), Arg.Any<ImageOrientation>(), Arg.Any<GalleryGroup>(), Arg.Any<GalleryOrder>(), Arg.Any<int>(), Arg.Any<int>()).Returns(Task.FromResult(MockData.MockGalleryItems(10, 1, GalleryItemState.Approved)));
|
||||||
_database.GetGalleryItemByChecksum(Arg.Any<int>(), Arg.Any<string>()).ReturnsNull();
|
_database.GetGalleryItemByChecksum(Arg.Any<int>(), Arg.Any<string>()).ReturnsNull();
|
||||||
|
|
||||||
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), Arg.Any<string>()).Returns("password");
|
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), Arg.Any<int>()).Returns("password");
|
||||||
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), "blaa").Returns("456789");
|
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), 2).Returns("456789");
|
||||||
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), "missing").Returns("123456");
|
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), 101).Returns("123456");
|
||||||
_settings.GetOrDefault(Settings.Gallery.Upload, Arg.Any<bool>(), Arg.Any<string>()).Returns(true);
|
_settings.GetOrDefault(Settings.Gallery.Upload, Arg.Any<bool>(), Arg.Any<int>()).Returns(true);
|
||||||
_settings.GetOrDefault(Settings.Gallery.Download, Arg.Any<bool>(), Arg.Any<string>()).Returns(true);
|
_settings.GetOrDefault(Settings.Gallery.Download, Arg.Any<bool>(), Arg.Any<int>()).Returns(true);
|
||||||
_settings.GetOrDefault(Settings.Gallery.UploadPeriod, Arg.Any<string>(), Arg.Any<string>()).Returns("1970-01-01 00:00:00");
|
_settings.GetOrDefault(Settings.Gallery.UploadPeriod, Arg.Any<string>(), Arg.Any<int>()).Returns("1970-01-01 00:00:00");
|
||||||
_settings.GetOrDefault(Settings.Gallery.PreventDuplicates, Arg.Any<bool>(), Arg.Any<string>()).Returns(true);
|
_settings.GetOrDefault(Settings.Gallery.PreventDuplicates, Arg.Any<bool>(), Arg.Any<int>()).Returns(true);
|
||||||
_settings.GetOrDefault(Settings.Gallery.DefaultView, Arg.Any<int>(), Arg.Any<string>()).Returns((int)ViewMode.Default);
|
_settings.GetOrDefault(Settings.Gallery.DefaultView, Arg.Any<int>(), Arg.Any<int>()).Returns((int)ViewMode.Default);
|
||||||
_settings.GetOrDefault(Settings.Gallery.AllowedFileTypes, Arg.Any<string>(), Arg.Any<string>()).Returns(".jpg,.jpeg,.png,.mp4,.mov");
|
_settings.GetOrDefault(Settings.Gallery.AllowedFileTypes, Arg.Any<string>(), Arg.Any<int>()).Returns(".jpg,.jpeg,.png,.mp4,.mov");
|
||||||
_settings.GetOrDefault(Settings.Gallery.RequireReview, Arg.Any<bool>(), Arg.Any<string>()).Returns(true);
|
_settings.GetOrDefault(Settings.Gallery.RequireReview, Arg.Any<bool>(), Arg.Any<int>()).Returns(true);
|
||||||
_settings.GetOrDefault(Settings.Gallery.MaxFileSizeMB, Arg.Any<int>(), Arg.Any<string>()).Returns(10);
|
_settings.GetOrDefault(Settings.Gallery.MaxFileSizeMB, Arg.Any<int>(), Arg.Any<int>()).Returns(10);
|
||||||
|
|
||||||
_file.GetChecksum(Arg.Any<string>()).Returns(Guid.NewGuid().ToString());
|
_file.GetChecksum(Arg.Any<string>()).Returns(Guid.NewGuid().ToString());
|
||||||
|
|
||||||
@@ -95,10 +91,10 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
_localizer[Arg.Any<string>()].Returns(new LocalizedString("UnitTest", "UnitTest"));
|
_localizer[Arg.Any<string>()].Returns(new LocalizedString("UnitTest", "UnitTest"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(DeviceType.Desktop, 1, "default", "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending, true)]
|
[TestCase(DeviceType.Desktop, 1, "default", "default", "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending, true)]
|
||||||
[TestCase(DeviceType.Mobile, 2, "blaa", "456789", ViewMode.Presentation, GalleryGroup.Date, GalleryOrder.Ascending, true)]
|
[TestCase(DeviceType.Mobile, 2, "blaa", "blaa", "456789", ViewMode.Presentation, GalleryGroup.Date, GalleryOrder.Ascending, true)]
|
||||||
[TestCase(DeviceType.Tablet, 101, "missing", "123456", ViewMode.Slideshow, GalleryGroup.Uploader, GalleryOrder.Ascending, false)]
|
[TestCase(DeviceType.Tablet, 101, "missing", "missing", "123456", ViewMode.Slideshow, GalleryGroup.Uploader, GalleryOrder.Ascending, false)]
|
||||||
public async Task GalleryController_Index(DeviceType deviceType, int id, string name, string? key, ViewMode? mode, GalleryGroup group, GalleryOrder order, bool existing)
|
public async Task GalleryController_Index(DeviceType deviceType, int id, string? identifier, string? name, string? key, ViewMode? mode, GalleryGroup group, GalleryOrder order, bool existing)
|
||||||
{
|
{
|
||||||
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(deviceType);
|
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(deviceType);
|
||||||
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
||||||
@@ -109,42 +105,61 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
|
|
||||||
if (existing)
|
if (existing)
|
||||||
{
|
{
|
||||||
ViewResult actual = (ViewResult)await controller.Index(name, key, mode, group, order);
|
ViewResult actual = (ViewResult)await controller.Index(identifier, name, key, mode, group, order);
|
||||||
Assert.That(actual, Is.TypeOf<ViewResult>());
|
Assert.That(actual, Is.TypeOf<ViewResult>());
|
||||||
Assert.That(actual?.Model, Is.Not.Null);
|
Assert.That(actual?.Model, Is.Not.Null);
|
||||||
|
|
||||||
PhotoGallery model = (PhotoGallery)actual.Model;
|
PhotoGallery model = (PhotoGallery)actual.Model;
|
||||||
Assert.That(model?.GalleryId, Is.EqualTo(id));
|
Assert.That(model?.Gallery?.Id, Is.EqualTo(id));
|
||||||
Assert.That(model?.GalleryName, Is.EqualTo(name));
|
Assert.That(model?.Gallery?.Identifier, Is.EqualTo(identifier));
|
||||||
|
Assert.That(model?.Gallery?.Name, Is.EqualTo(name));
|
||||||
|
Assert.That(model?.SecretKey, Is.EqualTo(key));
|
||||||
Assert.That(model.ViewMode, Is.EqualTo(mode));
|
Assert.That(model.ViewMode, Is.EqualTo(mode));
|
||||||
Assert.That(model?.FileUploader?.GalleryId, Is.EqualTo(name));
|
|
||||||
Assert.That(model?.FileUploader?.SecretKey, Is.EqualTo(key));
|
|
||||||
Assert.That(model?.FileUploader?.UploadUrl, Is.EqualTo("/Gallery/UploadImage"));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RedirectToActionResult actual = (RedirectToActionResult)await controller.Index(name, key, mode, group, order);
|
RedirectToActionResult actual = (RedirectToActionResult)await controller.Index(identifier, name, key, mode, group, order);
|
||||||
Assert.That(actual, Is.TypeOf<RedirectToActionResult>());
|
Assert.That(actual, Is.TypeOf<RedirectToActionResult>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(true, true)]
|
[TestCase(null, "default", "default")]
|
||||||
[TestCase(false, false)]
|
[TestCase("default", null, "default")]
|
||||||
public async Task GalleryController_UploadDisabled(bool disabled, bool expected)
|
[TestCase("default", "blaa", "blaa")]
|
||||||
|
public async Task GalleryController_Index_GetByIdentifier(string? id, string? identifier, string expected)
|
||||||
{
|
{
|
||||||
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(DeviceType.Desktop);
|
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(DeviceType.Desktop);
|
||||||
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
||||||
_settings.GetOrDefault(Settings.Gallery.Upload, Arg.Any<bool>(), Arg.Any<string>()).Returns(disabled);
|
_settings.GetOrDefault(Settings.Basic.GuestGalleryCreation, Arg.Any<bool>()).Returns(false);
|
||||||
|
|
||||||
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
||||||
|
|
||||||
ViewResult actual = (ViewResult)await controller.Index("default", "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending);
|
ViewResult actual = (ViewResult)await controller.Index(id, identifier, "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Random);
|
||||||
Assert.That(actual, Is.TypeOf<ViewResult>());
|
Assert.That(actual, Is.TypeOf<ViewResult>());
|
||||||
Assert.That(actual?.Model, Is.Not.Null);
|
Assert.That(actual?.Model, Is.Not.Null);
|
||||||
|
|
||||||
PhotoGallery model = (PhotoGallery)actual.Model;
|
PhotoGallery model = (PhotoGallery)actual.Model;
|
||||||
Assert.That(model?.FileUploader, expected ? Is.Not.Null : Is.Null);
|
Assert.That(model?.Gallery?.Identifier, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase(true, true)]
|
||||||
|
[TestCase(false, false)]
|
||||||
|
public async Task GalleryController_UploadDisabled(bool enabled, bool expected)
|
||||||
|
{
|
||||||
|
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(DeviceType.Desktop);
|
||||||
|
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
||||||
|
_settings.GetOrDefault(Settings.Gallery.Upload, Arg.Any<bool>(), Arg.Any<int>()).Returns(enabled);
|
||||||
|
|
||||||
|
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
||||||
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
||||||
|
|
||||||
|
ViewResult actual = (ViewResult)await controller.Index("default", "default", "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending);
|
||||||
|
Assert.That(actual, Is.TypeOf<ViewResult>());
|
||||||
|
Assert.That(actual?.Model, Is.Not.Null);
|
||||||
|
|
||||||
|
PhotoGallery model = (PhotoGallery)actual.Model;
|
||||||
|
Assert.That(model?.UploadActivated, Is.EqualTo(expected));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("1970-01-01 00:00", true)]
|
[TestCase("1970-01-01 00:00", true)]
|
||||||
@@ -156,17 +171,17 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
{
|
{
|
||||||
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(DeviceType.Desktop);
|
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(DeviceType.Desktop);
|
||||||
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(false);
|
||||||
_settings.GetOrDefault(Settings.Gallery.UploadPeriod, Arg.Any<string>(), Arg.Any<string>()).Returns(uploadPeriod);
|
_settings.GetOrDefault(Settings.Gallery.UploadPeriod, Arg.Any<string>(), Arg.Any<int>()).Returns(uploadPeriod);
|
||||||
|
|
||||||
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
||||||
|
|
||||||
ViewResult actual = (ViewResult)await controller.Index("default", "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending);
|
ViewResult actual = (ViewResult)await controller.Index("default", "default", "password", ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending);
|
||||||
Assert.That(actual, Is.TypeOf<ViewResult>());
|
Assert.That(actual, Is.TypeOf<ViewResult>());
|
||||||
Assert.That(actual?.Model, Is.Not.Null);
|
Assert.That(actual?.Model, Is.Not.Null);
|
||||||
|
|
||||||
PhotoGallery model = (PhotoGallery)actual.Model;
|
PhotoGallery model = (PhotoGallery)actual.Model;
|
||||||
Assert.That(model?.FileUploader, expected ? Is.Not.Null : Is.Null);
|
Assert.That(model?.UploadActivated, Is.EqualTo(expected));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(DeviceType.Desktop, ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending)]
|
[TestCase(DeviceType.Desktop, ViewMode.Default, GalleryGroup.None, GalleryOrder.Descending)]
|
||||||
@@ -180,17 +195,16 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext();
|
||||||
|
|
||||||
ViewResult actual = (ViewResult)await controller.Index("default", "password", mode, group, order);
|
ViewResult actual = (ViewResult)await controller.Index("default", "default", "password", mode, group, order);
|
||||||
Assert.That(actual, Is.TypeOf<ViewResult>());
|
Assert.That(actual, Is.TypeOf<ViewResult>());
|
||||||
Assert.That(actual?.Model, Is.Not.Null);
|
Assert.That(actual?.Model, Is.Not.Null);
|
||||||
|
|
||||||
PhotoGallery model = (PhotoGallery)actual.Model;
|
PhotoGallery model = (PhotoGallery)actual.Model;
|
||||||
Assert.That(model?.GalleryId, Is.EqualTo(1));
|
Assert.That(model?.Gallery?.Id, Is.EqualTo(1));
|
||||||
Assert.That(model?.GalleryName, Is.EqualTo("default"));
|
Assert.That(model?.Gallery?.Identifier, Is.EqualTo("default"));
|
||||||
|
Assert.That(model?.Gallery?.Name, Is.EqualTo("default"));
|
||||||
|
Assert.That(model?.SecretKey, Is.EqualTo("password"));
|
||||||
Assert.That(model.ViewMode, Is.EqualTo(mode));
|
Assert.That(model.ViewMode, Is.EqualTo(mode));
|
||||||
Assert.That(model?.FileUploader?.GalleryId, Is.EqualTo("default"));
|
|
||||||
Assert.That(model?.FileUploader?.SecretKey, Is.EqualTo("password"));
|
|
||||||
Assert.That(model?.FileUploader?.UploadUrl, Is.EqualTo("/Gallery/UploadImage"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(true, 1, null)]
|
[TestCase(true, 1, null)]
|
||||||
@@ -215,7 +229,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
session: session,
|
session: session,
|
||||||
form: new Dictionary<string, StringValues>
|
form: new Dictionary<string, StringValues>
|
||||||
{
|
{
|
||||||
{ "Id", "default" },
|
{ "Id", "1" },
|
||||||
{ "SecretKey", "password" }
|
{ "SecretKey", "password" }
|
||||||
},
|
},
|
||||||
files: files);
|
files: files);
|
||||||
@@ -245,7 +259,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
session: session,
|
session: session,
|
||||||
form: new Dictionary<string, StringValues>
|
form: new Dictionary<string, StringValues>
|
||||||
{
|
{
|
||||||
{ "Id", "default" },
|
{ "Id", "1" },
|
||||||
{ "SecretKey", "password" }
|
{ "SecretKey", "password" }
|
||||||
},
|
},
|
||||||
files: files);
|
files: files);
|
||||||
@@ -283,7 +297,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext(form: new Dictionary<string, StringValues>
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext(form: new Dictionary<string, StringValues>
|
||||||
{
|
{
|
||||||
{ "Id", "default" },
|
{ "Id", "1" },
|
||||||
{ "SecretKey", key }
|
{ "SecretKey", key }
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -318,7 +332,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
var controller = new GalleryController(_env, _settings, _database, _file, _deviceDetector, _image, _notification, _encryption, _url, _logger, _localizer);
|
||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext(form: new Dictionary<string, StringValues>
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext(form: new Dictionary<string, StringValues>
|
||||||
{
|
{
|
||||||
{ "Id", "default" },
|
{ "Id", "1" },
|
||||||
{ "SecretKey", "password" }
|
{ "SecretKey", "password" }
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -337,7 +351,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext(
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext(
|
||||||
form: new Dictionary<string, StringValues>
|
form: new Dictionary<string, StringValues>
|
||||||
{
|
{
|
||||||
{ "Id", "default" },
|
{ "Id", "1" },
|
||||||
{ "SecretKey", "password" }
|
{ "SecretKey", "password" }
|
||||||
},
|
},
|
||||||
files: new FormFileCollection() {
|
files: new FormFileCollection() {
|
||||||
@@ -359,7 +373,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
controller.ControllerContext.HttpContext = MockData.MockHttpContext(
|
controller.ControllerContext.HttpContext = MockData.MockHttpContext(
|
||||||
form: new Dictionary<string, StringValues>
|
form: new Dictionary<string, StringValues>
|
||||||
{
|
{
|
||||||
{ "Id", "default" },
|
{ "Id", "1" },
|
||||||
{ "SecretKey", "password" }
|
{ "SecretKey", "password" }
|
||||||
},
|
},
|
||||||
files: new FormFileCollection() {
|
files: new FormFileCollection() {
|
||||||
@@ -373,5 +387,49 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
Assert.That(JsonResponseHelper.GetPropertyValue(actual.Value, "uploaded", 0), Is.EqualTo(0));
|
Assert.That(JsonResponseHelper.GetPropertyValue(actual.Value, "uploaded", 0), Is.EqualTo(0));
|
||||||
Assert.That(JsonResponseHelper.GetPropertyValue(actual.Value, "errors", new List<string>()).Count, Is.GreaterThan(0));
|
Assert.That(JsonResponseHelper.GetPropertyValue(actual.Value, "errors", new List<string>()).Count, Is.GreaterThan(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private IDictionary<string, GalleryModel> GetMockData()
|
||||||
|
{
|
||||||
|
return new Dictionary<string, GalleryModel>()
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"default", new GalleryModel()
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Identifier = "default",
|
||||||
|
Name = "default",
|
||||||
|
SecretKey = "password",
|
||||||
|
ApprovedItems = 32,
|
||||||
|
PendingItems = 50,
|
||||||
|
TotalItems = 72
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blaa", new GalleryModel()
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Identifier = "blaa",
|
||||||
|
Name = "blaa",
|
||||||
|
SecretKey = "456789",
|
||||||
|
ApprovedItems = 2,
|
||||||
|
PendingItems = 1,
|
||||||
|
TotalItems = 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"missing", new GalleryModel()
|
||||||
|
{
|
||||||
|
Id = 101,
|
||||||
|
Identifier = "missing",
|
||||||
|
Name = "missing",
|
||||||
|
SecretKey = "123456",
|
||||||
|
ApprovedItems = 0,
|
||||||
|
PendingItems = 0,
|
||||||
|
TotalItems = 0,
|
||||||
|
Owner = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.AspNetCore.Routing;
|
||||||
using Microsoft.Extensions.Localization;
|
using Microsoft.Extensions.Localization;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using WeddingShare.Constants;
|
using WeddingShare.Constants;
|
||||||
@@ -16,6 +17,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
private readonly ISettingsHelper _settings = Substitute.For<ISettingsHelper>();
|
private readonly ISettingsHelper _settings = Substitute.For<ISettingsHelper>();
|
||||||
private readonly IDatabaseHelper _database = Substitute.For<IDatabaseHelper>();
|
private readonly IDatabaseHelper _database = Substitute.For<IDatabaseHelper>();
|
||||||
private readonly IDeviceDetector _deviceDetector = Substitute.For<IDeviceDetector>();
|
private readonly IDeviceDetector _deviceDetector = Substitute.For<IDeviceDetector>();
|
||||||
|
private readonly IAuditHelper _audit = Substitute.For<IAuditHelper>();
|
||||||
private readonly ILogger<HomeController> _logger = Substitute.For<ILogger<HomeController>>();
|
private readonly ILogger<HomeController> _logger = Substitute.For<ILogger<HomeController>>();
|
||||||
private readonly IStringLocalizer<Lang.Translations> _localizer = Substitute.For<IStringLocalizer<Lang.Translations>>();
|
private readonly IStringLocalizer<Lang.Translations> _localizer = Substitute.For<IStringLocalizer<Lang.Translations>>();
|
||||||
|
|
||||||
@@ -40,9 +42,9 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
{
|
{
|
||||||
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(deviceType);
|
_deviceDetector.ParseDeviceType(Arg.Any<string>()).Returns(deviceType);
|
||||||
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(singleGalleryMode);
|
_settings.GetOrDefault(Settings.Basic.SingleGalleryMode, Arg.Any<bool>()).Returns(singleGalleryMode);
|
||||||
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), Arg.Any<string>()).Returns(secretKey);
|
_settings.GetOrDefault(Settings.Gallery.SecretKey, Arg.Any<string>(), Arg.Any<int>()).Returns(secretKey);
|
||||||
|
|
||||||
var controller = new HomeController(_settings, _database, _deviceDetector, _logger, _localizer);
|
var controller = new HomeController(_settings, _database, _deviceDetector, _audit, _logger, _localizer);
|
||||||
controller.ControllerContext.HttpContext = new DefaultHttpContext()
|
controller.ControllerContext.HttpContext = new DefaultHttpContext()
|
||||||
{
|
{
|
||||||
Session = new MockSession()
|
Session = new MockSession()
|
||||||
@@ -60,7 +62,7 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
Assert.That(actual.Permanent, Is.EqualTo(false));
|
Assert.That(actual.Permanent, Is.EqualTo(false));
|
||||||
Assert.That(actual.ControllerName, Is.EqualTo("Gallery"));
|
Assert.That(actual.ControllerName, Is.EqualTo("Gallery"));
|
||||||
Assert.That(actual.ActionName, Is.EqualTo("Index"));
|
Assert.That(actual.ActionName, Is.EqualTo("Index"));
|
||||||
Assert.That(actual.RouteValues, Is.Null);
|
Assert.That(actual.RouteValues, singleGalleryMode ? Is.EqualTo(new RouteValueDictionary { { "identifier", "default" } }) : Is.Null);
|
||||||
Assert.That(actual.Fragment, Is.Null);
|
Assert.That(actual.Fragment, Is.Null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
62
WeddingShare.UnitTests/Tests/Helpers/HtmlSanitizer.cs
Normal file
62
WeddingShare.UnitTests/Tests/Helpers/HtmlSanitizer.cs
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
using WeddingShare.Helpers;
|
||||||
|
|
||||||
|
namespace WeddingShare.UnitTests.Tests.Helpers
|
||||||
|
{
|
||||||
|
public class HtmlSanitizerTests
|
||||||
|
{
|
||||||
|
public HtmlSanitizerTests()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("<div><b>Test</b></div>", new[] { "b" }, "<div>Test</div>")]
|
||||||
|
[TestCase("<div><b>Test</b></div>", new[] { "div" }, "<b>Test</b>")]
|
||||||
|
[TestCase("<div><b>Test</b></div>", new[] { "div", "b" }, "Test")]
|
||||||
|
[TestCase("<script src=\"asdasd\">Test</script>", new[] { "script" }, "Test")]
|
||||||
|
[TestCase("<script src=\"asdasd\"/>", new[] { "script" }, "")]
|
||||||
|
[TestCase("<img src=\"asdasd\"/>", new[] { "img" }, "")]
|
||||||
|
[TestCase("Blaa<div><b>Test</b></div>", new[] { ".*" }, "Blaa")]
|
||||||
|
public void HtmlSanitizer_SanitizeHtmlTags(string input, string[] tags, string expected)
|
||||||
|
{
|
||||||
|
var actual = HtmlSanitizer.SanitizeHtmlTags(input, tags);
|
||||||
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("<script src=\"blaa\" link=\"unit\"></script>", new[] { "src" }, "<script link=\"unit\"></script>")]
|
||||||
|
[TestCase("<script src=\"blaa\" link=\"unit\"></script>", new[] { "link" }, "<script src=\"blaa\" ></script>")]
|
||||||
|
[TestCase("<script src=\"blaa\" link=\"unit\"></script>", new[] { ".*" }, "></script>")]
|
||||||
|
public void HtmlSanitizer_SanitizeHtmlAttributes(string input, string[] tags, string expected)
|
||||||
|
{
|
||||||
|
var actual = HtmlSanitizer.SanitizeHtmlAttributes(input, tags);
|
||||||
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("this is a https://unit.com/ test", "this is a test")]
|
||||||
|
[TestCase("this is a https://www.unit.com/ test", "this is a test")]
|
||||||
|
[TestCase("this is a https://www.unit.com/home test", "this is a test")]
|
||||||
|
[TestCase("this is a http://unit.com/ test", "this is a test")]
|
||||||
|
[TestCase("this is a http://www.unit.com/ test", "this is a test")]
|
||||||
|
[TestCase("this is a http://www.unit.com/home test", "this is a test")]
|
||||||
|
public void HtmlSanitizer_SanitizeHtmlAttributes(string input, string expected)
|
||||||
|
{
|
||||||
|
var actual = HtmlSanitizer.SanitizeLinks(input);
|
||||||
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("this is a test", false)]
|
||||||
|
[TestCase("this is a <img src=x onerror=alert(0)> test", true)]
|
||||||
|
[TestCase("this is a <script/> test", true)]
|
||||||
|
[TestCase("this is a <script></script> test", true)]
|
||||||
|
[TestCase("this is a http://www.unit.com/home test", true)]
|
||||||
|
[TestCase("this is a https://www.unit.com/home test", true)]
|
||||||
|
public void HtmlSanitizer_MayContainXss(string input, bool expected)
|
||||||
|
{
|
||||||
|
var actual = HtmlSanitizer.MayContainXss(input);
|
||||||
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
50
WeddingShare.UnitTests/Tests/Helpers/LanguageHelper.cs
Normal file
50
WeddingShare.UnitTests/Tests/Helpers/LanguageHelper.cs
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
using System.Globalization;
|
||||||
|
using WeddingShare.Helpers;
|
||||||
|
|
||||||
|
namespace WeddingShare.UnitTests.Tests.Helpers
|
||||||
|
{
|
||||||
|
public class LanguageHelperTests
|
||||||
|
{
|
||||||
|
private readonly List<CultureInfo> _supportedCultures;
|
||||||
|
|
||||||
|
public LanguageHelperTests()
|
||||||
|
{
|
||||||
|
_supportedCultures = new List<CultureInfo>()
|
||||||
|
{
|
||||||
|
new CultureInfo("en-GB"),
|
||||||
|
new CultureInfo("fr-FR"),
|
||||||
|
new CultureInfo("de-DE"),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("en-GB", true)]
|
||||||
|
[TestCase("fr-FR", true)]
|
||||||
|
[TestCase("de-DE", true)]
|
||||||
|
[TestCase("de-de", true)]
|
||||||
|
[TestCase("en-US", false)]
|
||||||
|
[TestCase("cn-CSS", false)]
|
||||||
|
[TestCase("", false)]
|
||||||
|
public void LanguageHelper_IsCultureSupported(string culture, bool expected)
|
||||||
|
{
|
||||||
|
var actual = new LanguageHelper().IsCultureSupported(culture, _supportedCultures);
|
||||||
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("en-GB", "en-GB", "en-GB")]
|
||||||
|
[TestCase("en-US", "en-GB", "en-GB")]
|
||||||
|
[TestCase("en-US", "en-US", "en-GB")]
|
||||||
|
[TestCase("fr-FR", "en-GB", "fr-FR")]
|
||||||
|
[TestCase("de-DE", "fr-FR", "de-DE")]
|
||||||
|
[TestCase("de-de", "fr-fr", "de-DE")]
|
||||||
|
public void LanguageHelper_GetOrFallbackCulture(string culture, string fallback, string expected)
|
||||||
|
{
|
||||||
|
var actual = new LanguageHelper().GetOrFallbackCulture(culture, fallback, _supportedCultures);
|
||||||
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -63,8 +63,8 @@ namespace WeddingShare.UnitTests.Tests.Helpers
|
|||||||
Assert.That(actual, Is.EqualTo(expected));
|
Assert.That(actual, Is.EqualTo(expected));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(null, false)]
|
[TestCase(null, true)]
|
||||||
[TestCase("", false)]
|
[TestCase("", true)]
|
||||||
[TestCase("UnitTest", true)]
|
[TestCase("UnitTest", true)]
|
||||||
public async Task NtfyHelper_Token(string? token, bool expected)
|
public async Task NtfyHelper_Token(string? token, bool expected)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,46 +13,66 @@ namespace WeddingShare.Attributes
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
int? galleryId = null;
|
||||||
|
|
||||||
var request = filterContext.HttpContext.Request;
|
var request = filterContext.HttpContext.Request;
|
||||||
|
|
||||||
var galleryId = (request.Query.ContainsKey("id") && !string.IsNullOrWhiteSpace(request.Query["id"])) ? request.Query["id"].ToString().ToLower() : "default";
|
|
||||||
|
|
||||||
var databaseHelper = filterContext.HttpContext.RequestServices.GetService<IDatabaseHelper>();
|
var databaseHelper = filterContext.HttpContext.RequestServices.GetService<IDatabaseHelper>();
|
||||||
var gallery = databaseHelper?.GetGallery(galleryId).Result;
|
if (databaseHelper != null)
|
||||||
if (gallery != null)
|
|
||||||
{
|
{
|
||||||
var encryptionHelper = filterContext.HttpContext.RequestServices.GetService<IEncryptionHelper>();
|
var galleryIdentifier = (request.Query.ContainsKey("identifier") && !string.IsNullOrWhiteSpace(request.Query["identifier"])) ? request.Query["identifier"].ToString().ToLower() : null;
|
||||||
if (encryptionHelper != null)
|
if (!string.IsNullOrWhiteSpace(galleryIdentifier))
|
||||||
|
{
|
||||||
|
galleryId = databaseHelper.GetGalleryId(galleryIdentifier).Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (galleryId == null)
|
||||||
{
|
{
|
||||||
var key = request.Query.ContainsKey("key") ? request.Query["key"].ToString() : string.Empty;
|
var galleryName = (request.Query.ContainsKey("id") && !string.IsNullOrWhiteSpace(request.Query["id"])) ? request.Query["id"].ToString().ToLower() : "default";
|
||||||
|
if (!string.IsNullOrWhiteSpace(galleryName))
|
||||||
var isEncrypted = request.Query.ContainsKey("enc") ? bool.Parse(request.Query["enc"].ToString().ToLower()) : false;
|
{
|
||||||
if (!isEncrypted && !string.IsNullOrWhiteSpace(key) && encryptionHelper.IsEncryptionEnabled())
|
galleryId = (databaseHelper?.GetGalleryIdByName(galleryName)?.Result) ?? 1;
|
||||||
{
|
|
||||||
var queryString = HttpUtility.ParseQueryString(request.QueryString.ToString());
|
|
||||||
queryString.Set("enc", "true");
|
|
||||||
queryString.Set("key", encryptionHelper.Encrypt(key));
|
|
||||||
|
|
||||||
filterContext.Result = new RedirectResult($"/Gallery?{queryString.ToString()}");
|
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
|
||||||
var settingsHelper = filterContext.HttpContext.RequestServices.GetService<ISettingsHelper>();
|
|
||||||
if (settingsHelper != null)
|
|
||||||
{
|
|
||||||
var secretKey = settingsHelper.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, galleryId).Result ?? string.Empty;
|
|
||||||
if (!string.IsNullOrWhiteSpace(secretKey))
|
|
||||||
{
|
|
||||||
secretKey = encryptionHelper.IsEncryptionEnabled() ? encryptionHelper.Encrypt(secretKey) : secretKey;
|
|
||||||
if (!string.IsNullOrWhiteSpace(secretKey) && !string.Equals(secretKey, key))
|
|
||||||
{
|
|
||||||
var logger = filterContext.HttpContext.RequestServices.GetService<ILogger<RequiresSecretKeyAttribute>>();
|
|
||||||
if (logger != null)
|
|
||||||
{
|
|
||||||
logger.LogWarning($"A request was made to an endpoint with an invalid secure key");
|
|
||||||
}
|
|
||||||
|
|
||||||
filterContext.Result = new RedirectToActionResult("Index", "Error", new { Reason = ErrorCode.InvalidSecretKey }, false);
|
if (galleryId != null)
|
||||||
|
{
|
||||||
|
var gallery = databaseHelper?.GetGallery(galleryId.Value).Result;
|
||||||
|
if (gallery != null)
|
||||||
|
{
|
||||||
|
var encryptionHelper = filterContext.HttpContext.RequestServices.GetService<IEncryptionHelper>();
|
||||||
|
if (encryptionHelper != null)
|
||||||
|
{
|
||||||
|
var key = request.Query.ContainsKey("key") ? request.Query["key"].ToString() : string.Empty;
|
||||||
|
|
||||||
|
var isEncrypted = request.Query.ContainsKey("enc") ? bool.Parse(request.Query["enc"].ToString().ToLower()) : false;
|
||||||
|
if (!isEncrypted && !string.IsNullOrWhiteSpace(key) && encryptionHelper.IsEncryptionEnabled())
|
||||||
|
{
|
||||||
|
var queryString = HttpUtility.ParseQueryString(request.QueryString.ToString());
|
||||||
|
queryString.Set("enc", "true");
|
||||||
|
queryString.Set("key", encryptionHelper.Encrypt(key));
|
||||||
|
|
||||||
|
filterContext.Result = new RedirectResult($"/Gallery?{queryString.ToString()}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var settingsHelper = filterContext.HttpContext.RequestServices.GetService<ISettingsHelper>();
|
||||||
|
if (settingsHelper != null)
|
||||||
|
{
|
||||||
|
var secretKey = settingsHelper.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, galleryId).Result ?? string.Empty;
|
||||||
|
if (!string.IsNullOrWhiteSpace(secretKey))
|
||||||
|
{
|
||||||
|
secretKey = encryptionHelper.IsEncryptionEnabled() ? encryptionHelper.Encrypt(secretKey) : secretKey;
|
||||||
|
if (!string.IsNullOrWhiteSpace(secretKey) && !string.Equals(secretKey, key))
|
||||||
|
{
|
||||||
|
var logger = filterContext.HttpContext.RequestServices.GetService<ILogger<RequiresSecretKeyAttribute>>();
|
||||||
|
if (logger != null)
|
||||||
|
{
|
||||||
|
logger.LogWarning($"A request was made to an endpoint with an invalid secure key");
|
||||||
|
}
|
||||||
|
|
||||||
|
filterContext.Result = new RedirectToActionResult("Index", "Error", new { Reason = ErrorCode.InvalidSecretKey }, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,19 +8,36 @@ namespace WeddingShare.BackgroundWorkers
|
|||||||
{
|
{
|
||||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||||
{
|
{
|
||||||
var cron = await settingsHelper.GetOrDefault(BackgroundServices.Schedules.Cleanup, "0 4 * * *");
|
var enabled = await settingsHelper.GetOrDefault(BackgroundServices.Cleanup.Enabled, true);
|
||||||
var schedule = CrontabSchedule.Parse(cron, new CrontabSchedule.ParseOptions() { IncludingSeconds = cron.Split(new[] { ' ' }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Length == 6 });
|
if (enabled)
|
||||||
|
|
||||||
await Task.Delay((int)TimeSpan.FromSeconds(10).TotalMilliseconds, stoppingToken);
|
|
||||||
|
|
||||||
while (!stoppingToken.IsCancellationRequested)
|
|
||||||
{
|
{
|
||||||
var now = DateTime.Now;
|
var cron = await settingsHelper.GetOrDefault(BackgroundServices.Cleanup.Schedule, "0 4 * * *");
|
||||||
var nextExecutionTime = schedule.GetNextOccurrence(now);
|
var nextExecutionTime = DateTime.Now.AddSeconds(10);
|
||||||
var waitTime = nextExecutionTime - now;
|
|
||||||
await Task.Delay(waitTime, stoppingToken);
|
|
||||||
|
|
||||||
await Cleanup();
|
while (!stoppingToken.IsCancellationRequested)
|
||||||
|
{
|
||||||
|
var currentCron = await settingsHelper.GetOrDefault(BackgroundServices.Cleanup.Schedule, "0 4 * * *");
|
||||||
|
|
||||||
|
var now = DateTime.Now;
|
||||||
|
if (now >= nextExecutionTime)
|
||||||
|
{
|
||||||
|
await Cleanup();
|
||||||
|
|
||||||
|
var schedule = CrontabSchedule.Parse(cron, new CrontabSchedule.ParseOptions() { IncludingSeconds = cron.Split(new[] { ' ' }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Length == 6 });
|
||||||
|
nextExecutionTime = schedule.GetNextOccurrence(now);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!currentCron.Equals(cron))
|
||||||
|
{
|
||||||
|
nextExecutionTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.Delay(TimeSpan.FromSeconds(1), stoppingToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
cron = currentCron;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,20 +13,36 @@ namespace WeddingShare.BackgroundWorkers
|
|||||||
{
|
{
|
||||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||||
{
|
{
|
||||||
var cron = settingsHelper.GetOrDefault(BackgroundServices.Schedules.DirectoryScanner, "*/30 * * * *").Result;
|
var enabled = await settingsHelper.GetOrDefault(BackgroundServices.DirectoryScanner.Enabled, true);
|
||||||
var schedule = CrontabSchedule.Parse(cron, new CrontabSchedule.ParseOptions() { IncludingSeconds = cron.Split(new[] { ' ' }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Length == 6 });
|
if (enabled)
|
||||||
|
|
||||||
await Task.Delay((int)TimeSpan.FromSeconds(10).TotalMilliseconds, stoppingToken);
|
|
||||||
await ScanForFiles();
|
|
||||||
|
|
||||||
while (!stoppingToken.IsCancellationRequested)
|
|
||||||
{
|
{
|
||||||
var now = DateTime.Now;
|
var cron = await settingsHelper.GetOrDefault(BackgroundServices.DirectoryScanner.Schedule, "*/30 * * * *");
|
||||||
var nextExecutionTime = schedule.GetNextOccurrence(now);
|
var nextExecutionTime = DateTime.Now.AddSeconds(10);
|
||||||
var waitTime = nextExecutionTime - now;
|
|
||||||
await Task.Delay(waitTime, stoppingToken);
|
|
||||||
|
|
||||||
await ScanForFiles();
|
while (!stoppingToken.IsCancellationRequested)
|
||||||
|
{
|
||||||
|
var currentCron = await settingsHelper.GetOrDefault(BackgroundServices.DirectoryScanner.Schedule, "*/30 * * * *");
|
||||||
|
|
||||||
|
var now = DateTime.Now;
|
||||||
|
if (now >= nextExecutionTime)
|
||||||
|
{
|
||||||
|
await ScanForFiles();
|
||||||
|
|
||||||
|
var schedule = CrontabSchedule.Parse(cron, new CrontabSchedule.ParseOptions() { IncludingSeconds = cron.Split(new[] { ' ' }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Length == 6 });
|
||||||
|
nextExecutionTime = schedule.GetNextOccurrence(now);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!currentCron.Equals(cron))
|
||||||
|
{
|
||||||
|
nextExecutionTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.Delay(TimeSpan.FromSeconds(1), stoppingToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
cron = currentCron;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,142 +67,117 @@ namespace WeddingShare.BackgroundWorkers
|
|||||||
var uploadsDirectory = Path.Combine(hostingEnvironment.WebRootPath, Directories.Uploads);
|
var uploadsDirectory = Path.Combine(hostingEnvironment.WebRootPath, Directories.Uploads);
|
||||||
if (fileHelper.DirectoryExists(uploadsDirectory))
|
if (fileHelper.DirectoryExists(uploadsDirectory))
|
||||||
{
|
{
|
||||||
var searchPattern = !settingsHelper.GetOrDefault(Settings.Basic.SingleGalleryMode, false).Result ? "*" : "default";
|
var galleryDirs = fileHelper.GetDirectories(uploadsDirectory, "*", SearchOption.TopDirectoryOnly)?.Where(x => !Path.GetFileName(x).StartsWith("."));
|
||||||
var galleries = fileHelper.GetDirectories(uploadsDirectory, searchPattern, SearchOption.TopDirectoryOnly)?.Where(x => !Path.GetFileName(x).StartsWith("."));
|
if (galleryDirs != null)
|
||||||
if (galleries != null)
|
|
||||||
{
|
{
|
||||||
foreach (var gallery in galleries)
|
foreach (var galleryDir in galleryDirs)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var id = Path.GetFileName(gallery).ToLower();
|
var identifier = Path.GetFileName(galleryDir).ToLower();
|
||||||
var galleryItem = await databaseHelper.GetGallery(id);
|
|
||||||
if (galleryItem == null)
|
|
||||||
{
|
|
||||||
if (await databaseHelper.GetGalleryCount() < await settingsHelper.GetOrDefault(Settings.Basic.MaxGalleryCount, 1000000))
|
|
||||||
{
|
|
||||||
galleryItem = await databaseHelper.AddGallery(new GalleryModel()
|
|
||||||
{
|
|
||||||
Name = id,
|
|
||||||
Owner = 0
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (galleryItem != null)
|
var galleryId = await databaseHelper.GetGalleryId(identifier);
|
||||||
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
var allowedFileTypes = settingsHelper.GetOrDefault(Settings.Gallery.AllowedFileTypes, ".jpg,.jpeg,.png,.mp4,.mov", galleryItem?.Name).Result.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
var galleryItem = await databaseHelper.GetGallery(galleryId.Value);
|
||||||
var galleryItems = await databaseHelper.GetAllGalleryItems(galleryItem.Id);
|
if (galleryItem == null)
|
||||||
|
|
||||||
if (Path.Exists(gallery))
|
|
||||||
{
|
{
|
||||||
var approvedFiles = fileHelper.GetFiles(gallery, "*.*", SearchOption.TopDirectoryOnly).Where(x => allowedFileTypes.Any(y => string.Equals(Path.GetExtension(x).Trim('.'), y.Trim('.'), StringComparison.OrdinalIgnoreCase)));
|
if (await databaseHelper.GetGalleryCount() < await settingsHelper.GetOrDefault(Settings.Basic.MaxGalleryCount, 1000000))
|
||||||
if (approvedFiles != null)
|
|
||||||
{
|
{
|
||||||
foreach (var file in approvedFiles)
|
galleryItem = await databaseHelper.AddGallery(new GalleryModel()
|
||||||
{
|
{
|
||||||
try
|
Name = identifier,
|
||||||
{
|
Owner = 0
|
||||||
var filename = Path.GetFileName(file);
|
});
|
||||||
var g = galleryItems.FirstOrDefault(x => string.Equals(x.Title, filename, StringComparison.OrdinalIgnoreCase));
|
|
||||||
if (g == null)
|
|
||||||
{
|
|
||||||
g = await databaseHelper.AddGalleryItem(new GalleryItemModel()
|
|
||||||
{
|
|
||||||
GalleryId = galleryItem.Id,
|
|
||||||
Title = filename,
|
|
||||||
Checksum = await fileHelper.GetChecksum(file),
|
|
||||||
MediaType = imageHelper.GetMediaType(file),
|
|
||||||
State = GalleryItemState.Approved,
|
|
||||||
UploadedDate = await fileHelper.GetCreationDatetime(file),
|
|
||||||
FileSize = fileHelper.FileSize(file)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var thumbnailPath = Path.Combine(thumbnailsDirectory, $"{Path.GetFileNameWithoutExtension(file)}.webp");
|
|
||||||
if (!fileHelper.FileExists(thumbnailPath))
|
|
||||||
{
|
|
||||||
await imageHelper.GenerateThumbnail(file, thumbnailPath, settingsHelper.GetOrDefault(Settings.Basic.ThumbnailSize, 720).Result);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
using (var img = await Image.LoadAsync(thumbnailPath))
|
|
||||||
{
|
|
||||||
var width = img.Width;
|
|
||||||
|
|
||||||
img.Mutate(x => x.AutoOrient());
|
|
||||||
|
|
||||||
if (width != img.Width)
|
|
||||||
{
|
|
||||||
await img.SaveAsWebpAsync(thumbnailPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g != null)
|
|
||||||
{
|
|
||||||
var updated = false;
|
|
||||||
|
|
||||||
if (g.UploadedDate == null)
|
|
||||||
{
|
|
||||||
g.UploadedDate = new FileInfo(file).CreationTimeUtc;
|
|
||||||
updated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g.MediaType == MediaType.Unknown)
|
|
||||||
{
|
|
||||||
g.MediaType = imageHelper.GetMediaType(file);
|
|
||||||
updated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g.Orientation == ImageOrientation.None)
|
|
||||||
{
|
|
||||||
g.Orientation = await imageHelper.GetOrientation(thumbnailPath);
|
|
||||||
updated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g.FileSize == 0)
|
|
||||||
{
|
|
||||||
g.FileSize = fileHelper.FileSize(file);
|
|
||||||
updated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (updated)
|
|
||||||
{
|
|
||||||
await databaseHelper.EditGalleryItem(g);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
logger.LogError(ex, $"An error occurred while scanning file '{file}'");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (Path.Exists(Path.Combine(gallery, "Pending")))
|
if (galleryItem != null)
|
||||||
|
{
|
||||||
|
var allowedFileTypes = settingsHelper.GetOrDefault(Settings.Gallery.AllowedFileTypes, ".jpg,.jpeg,.png,.mp4,.mov", galleryItem?.Id).Result.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
var galleryItems = await databaseHelper.GetAllGalleryItems(galleryItem.Id);
|
||||||
|
|
||||||
|
if (Path.Exists(galleryDir))
|
||||||
{
|
{
|
||||||
var pendingFiles = fileHelper.GetFiles(Path.Combine(gallery, "Pending"), "*.*", SearchOption.TopDirectoryOnly).Where(x => allowedFileTypes.Any(y => string.Equals(Path.GetExtension(x).Trim('.'), y.Trim('.'), StringComparison.OrdinalIgnoreCase)));
|
var approvedFiles = fileHelper.GetFiles(galleryDir, "*.*", SearchOption.TopDirectoryOnly).Where(x => allowedFileTypes.Any(y => string.Equals(Path.GetExtension(x).Trim('.'), y.Trim('.'), StringComparison.OrdinalIgnoreCase)));
|
||||||
if (pendingFiles != null)
|
if (approvedFiles != null)
|
||||||
{
|
{
|
||||||
foreach (var file in pendingFiles)
|
foreach (var file in approvedFiles)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var filename = Path.GetFileName(file);
|
var filename = Path.GetFileName(file);
|
||||||
if (!galleryItems.Exists(x => string.Equals(x.Title, filename, StringComparison.OrdinalIgnoreCase)))
|
var g = galleryItems.FirstOrDefault(x => string.Equals(x.Title, filename, StringComparison.OrdinalIgnoreCase));
|
||||||
|
if (g == null)
|
||||||
{
|
{
|
||||||
await databaseHelper.AddGalleryItem(new GalleryItemModel()
|
g = await databaseHelper.AddGalleryItem(new GalleryItemModel()
|
||||||
{
|
{
|
||||||
GalleryId = galleryItem.Id,
|
GalleryId = galleryItem.Id,
|
||||||
Title = filename,
|
Title = filename,
|
||||||
Checksum = await fileHelper.GetChecksum(file),
|
Checksum = await fileHelper.GetChecksum(file),
|
||||||
MediaType = imageHelper.GetMediaType(file),
|
MediaType = imageHelper.GetMediaType(file),
|
||||||
State = GalleryItemState.Pending,
|
State = GalleryItemState.Approved,
|
||||||
UploadedDate = await fileHelper.GetCreationDatetime(file),
|
UploadedDate = await fileHelper.GetCreationDatetime(file),
|
||||||
FileSize = new FileInfo(file).Length
|
FileSize = fileHelper.FileSize(file)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var thumbnailDir = Path.Combine(thumbnailsDirectory, galleryItem.Name);
|
||||||
|
var thumbnailPath = Path.Combine(thumbnailDir, $"{Path.GetFileNameWithoutExtension(file)}.webp");
|
||||||
|
if (!fileHelper.FileExists(thumbnailPath))
|
||||||
|
{
|
||||||
|
fileHelper.CreateDirectoryIfNotExists(thumbnailDir);
|
||||||
|
await imageHelper.GenerateThumbnail(file, thumbnailPath, settingsHelper.GetOrDefault(Settings.Basic.ThumbnailSize, 720).Result);
|
||||||
|
fileHelper.DeleteFileIfExists(Path.Combine(thumbnailsDirectory, $"{Path.GetFileNameWithoutExtension(file)}.webp"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
using (var img = await Image.LoadAsync(thumbnailPath))
|
||||||
|
{
|
||||||
|
var width = img.Width;
|
||||||
|
|
||||||
|
img.Mutate(x => x.AutoOrient());
|
||||||
|
|
||||||
|
if (width != img.Width)
|
||||||
|
{
|
||||||
|
await img.SaveAsWebpAsync(thumbnailPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g != null)
|
||||||
|
{
|
||||||
|
var updated = false;
|
||||||
|
|
||||||
|
if (g.UploadedDate == null)
|
||||||
|
{
|
||||||
|
g.UploadedDate = new FileInfo(file).CreationTimeUtc;
|
||||||
|
updated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g.MediaType == MediaType.Unknown)
|
||||||
|
{
|
||||||
|
g.MediaType = imageHelper.GetMediaType(file);
|
||||||
|
updated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g.Orientation == ImageOrientation.None)
|
||||||
|
{
|
||||||
|
g.Orientation = await imageHelper.GetOrientation(thumbnailPath);
|
||||||
|
updated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g.FileSize == 0)
|
||||||
|
{
|
||||||
|
g.FileSize = fileHelper.FileSize(file);
|
||||||
|
updated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (updated)
|
||||||
|
{
|
||||||
|
await databaseHelper.EditGalleryItem(g);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -194,13 +185,45 @@ namespace WeddingShare.BackgroundWorkers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Path.Exists(Path.Combine(galleryDir, "Pending")))
|
||||||
|
{
|
||||||
|
var pendingFiles = fileHelper.GetFiles(Path.Combine(galleryDir, "Pending"), "*.*", SearchOption.TopDirectoryOnly).Where(x => allowedFileTypes.Any(y => string.Equals(Path.GetExtension(x).Trim('.'), y.Trim('.'), StringComparison.OrdinalIgnoreCase)));
|
||||||
|
if (pendingFiles != null)
|
||||||
|
{
|
||||||
|
foreach (var file in pendingFiles)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var filename = Path.GetFileName(file);
|
||||||
|
if (!galleryItems.Exists(x => string.Equals(x.Title, filename, StringComparison.OrdinalIgnoreCase)))
|
||||||
|
{
|
||||||
|
await databaseHelper.AddGalleryItem(new GalleryItemModel()
|
||||||
|
{
|
||||||
|
GalleryId = galleryItem.Id,
|
||||||
|
Title = filename,
|
||||||
|
Checksum = await fileHelper.GetChecksum(file),
|
||||||
|
MediaType = imageHelper.GetMediaType(file),
|
||||||
|
State = GalleryItemState.Pending,
|
||||||
|
UploadedDate = await fileHelper.GetCreationDatetime(file),
|
||||||
|
FileSize = new FileInfo(file).Length
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.LogError(ex, $"An error occurred while scanning file '{file}'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
logger.LogError(ex, $"An error occurred while scanning directory '{gallery}'");
|
logger.LogError(ex, $"An error occurred while scanning directory '{galleryDir}'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,19 +11,38 @@ namespace WeddingShare.BackgroundWorkers
|
|||||||
{
|
{
|
||||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||||
{
|
{
|
||||||
if (await settingsHelper.GetOrDefault(Settings.Basic.EmailReport, true) && await settingsHelper.GetOrDefault(Notifications.Smtp.Enabled, false))
|
var enabled = await settingsHelper.GetOrDefault(BackgroundServices.EmailReport.Enabled, true);
|
||||||
{
|
if (enabled)
|
||||||
var cron = await settingsHelper.GetOrDefault(BackgroundServices.Schedules.EmailReport, "0 0 * * *");
|
{
|
||||||
var schedule = CrontabSchedule.Parse(cron, new CrontabSchedule.ParseOptions() { IncludingSeconds = cron.Split(new[] { ' ' }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Length == 6 });
|
var cron = await settingsHelper.GetOrDefault(BackgroundServices.EmailReport.Schedule, "0 0 * * *");
|
||||||
|
var nextExecutionTime = DateTime.Now.AddSeconds(10);
|
||||||
|
|
||||||
while (!stoppingToken.IsCancellationRequested)
|
while (!stoppingToken.IsCancellationRequested)
|
||||||
{
|
{
|
||||||
var now = DateTime.Now;
|
var currentCron = await settingsHelper.GetOrDefault(BackgroundServices.EmailReport.Schedule, "0 0 * * *");
|
||||||
var nextExecutionTime = schedule.GetNextOccurrence(now);
|
|
||||||
var waitTime = nextExecutionTime - now;
|
|
||||||
await Task.Delay(waitTime, stoppingToken);
|
|
||||||
|
|
||||||
await SendReport();
|
var now = DateTime.Now;
|
||||||
|
if (now >= nextExecutionTime)
|
||||||
|
{
|
||||||
|
if (await settingsHelper.GetOrDefault(Settings.Basic.EmailReport, true) && await settingsHelper.GetOrDefault(Notifications.Smtp.Enabled, false))
|
||||||
|
{
|
||||||
|
await SendReport();
|
||||||
|
}
|
||||||
|
|
||||||
|
var schedule = CrontabSchedule.Parse(cron, new CrontabSchedule.ParseOptions() { IncludingSeconds = cron.Split(new[] { ' ' }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Length == 6 });
|
||||||
|
nextExecutionTime = schedule.GetNextOccurrence(now);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!currentCron.Equals(cron))
|
||||||
|
{
|
||||||
|
nextExecutionTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.Delay(TimeSpan.FromSeconds(1), stoppingToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
cron = currentCron;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -38,15 +57,19 @@ namespace WeddingShare.BackgroundWorkers
|
|||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
builder.AppendLine($"<h1>You have items pending review!</h1>");
|
builder.AppendLine($"<h1>You have items pending review!</h1>");
|
||||||
|
|
||||||
foreach (var item in pendingItems.GroupBy(x => x.GalleryName).OrderBy(x => x.Key))
|
foreach (var item in pendingItems.GroupBy(x => x.GalleryId).OrderByDescending(x => x.Count()))
|
||||||
{
|
{
|
||||||
try
|
var gallery = await databaseHelper.GetGallery(item.Key);
|
||||||
{
|
if (gallery != null)
|
||||||
builder.AppendLine($"<p style=\"font-size: 16pt;\">{item.Key} - Pending Items ({item.Count()})</p>");
|
{
|
||||||
}
|
try
|
||||||
catch (Exception ex)
|
{
|
||||||
{
|
builder.AppendLine($"<p style=\"font-size: 16pt;\">{gallery.Name} - Pending Items ({item.Count()})</p>");
|
||||||
loggerFactory.CreateLogger<NotificationReport>().LogError(ex, $"Failed to build gallery report for id '{item?.Key}' - {ex?.Message}");
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
loggerFactory.CreateLogger<NotificationReport>().LogError(ex, $"Failed to build gallery report for '{gallery.Name}' - {ex?.Message}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,25 @@
|
|||||||
{
|
{
|
||||||
public class BackgroundServices
|
public class BackgroundServices
|
||||||
{
|
{
|
||||||
public class Schedules
|
public class DirectoryScanner
|
||||||
{
|
{
|
||||||
public const string DirectoryScanner = "BackgroundServices:Schedules:Directory_Scanner";
|
public const string BaseKey = "BackgroundServices:Directory_Scanner:";
|
||||||
public const string EmailReport = "BackgroundServices:Schedules:Email_Report";
|
public const string Enabled = "BackgroundServices:Directory_Scanner:Enabled";
|
||||||
public const string Cleanup = "BackgroundServices:Schedules:Cleanup";
|
public const string Schedule = "BackgroundServices:Directory_Scanner:Schedule";
|
||||||
public const string DemoSystemReset = "BackgroundServices:Schedules:Demo_System_Reset";
|
}
|
||||||
|
|
||||||
|
public class EmailReport
|
||||||
|
{
|
||||||
|
public const string BaseKey = "BackgroundServices:Email_Report:";
|
||||||
|
public const string Enabled = "BackgroundServices:Email_Report:Enabled";
|
||||||
|
public const string Schedule = "BackgroundServices:Email_Report:Schedule";
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Cleanup
|
||||||
|
{
|
||||||
|
public const string BaseKey = "BackgroundServices:Cleanup:";
|
||||||
|
public const string Enabled = "BackgroundServices:Cleanup:Enabled";
|
||||||
|
public const string Schedule = "BackgroundServices:Cleanup:Schedule";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,11 +2,9 @@
|
|||||||
{
|
{
|
||||||
public class Directories
|
public class Directories
|
||||||
{
|
{
|
||||||
public const string Banners = "banners";
|
|
||||||
public const string Config = "config";
|
public const string Config = "config";
|
||||||
public const string CustomResources = "custom_resources";
|
public const string CustomResources = "custom_resources";
|
||||||
public const string Images = "images";
|
public const string Images = "images";
|
||||||
public const string Logos = "logos";
|
|
||||||
public const string TempFiles = "temp";
|
public const string TempFiles = "temp";
|
||||||
public const string Thumbnails = "thumbnails";
|
public const string Thumbnails = "thumbnails";
|
||||||
public const string Uploads = "uploads";
|
public const string Uploads = "uploads";
|
||||||
|
|||||||
@@ -13,10 +13,16 @@
|
|||||||
|
|
||||||
public class Admin
|
public class Admin
|
||||||
{
|
{
|
||||||
public const string BaseKey = "Settings:Account:Admin:";
|
|
||||||
public const string Username = "Settings:Account:Admin:Username";
|
public const string Username = "Settings:Account:Admin:Username";
|
||||||
public const string Password = "Settings:Account:Admin:Password";
|
public const string Password = "Settings:Account:Admin:Password";
|
||||||
public const string LogPassword = "Settings:Account:Admin:Log_Password";
|
}
|
||||||
|
|
||||||
|
public class Owner
|
||||||
|
{
|
||||||
|
public const string BaseKey = "Settings:Account:Owner:";
|
||||||
|
public const string Username = "Settings:Account:Owner:Username";
|
||||||
|
public const string Password = "Settings:Account:Owner:Password";
|
||||||
|
public const string LogPassword = "Settings:Account:Owner:Log_Password";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,6 +48,7 @@
|
|||||||
public const string BaseKey = "Settings:Database:";
|
public const string BaseKey = "Settings:Database:";
|
||||||
public const string Type = "Settings:Database:Type";
|
public const string Type = "Settings:Database:Type";
|
||||||
public const string ConnectionString = "Settings:Database:Connection_String";
|
public const string ConnectionString = "Settings:Database:Connection_String";
|
||||||
|
public const string DatabaseName = "Settings:Database:Database_Name";
|
||||||
public const string SyncFromConfig = "Settings:Database:Sync_From_Config";
|
public const string SyncFromConfig = "Settings:Database:Sync_From_Config";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,6 +74,7 @@
|
|||||||
public const string UploadPeriod = "Settings:Gallery:Upload_Period";
|
public const string UploadPeriod = "Settings:Gallery:Upload_Period";
|
||||||
public const string AllowedFileTypes = "Settings:Gallery:Allowed_File_Types";
|
public const string AllowedFileTypes = "Settings:Gallery:Allowed_File_Types";
|
||||||
public const string CameraUploads = "Settings:Gallery:Camera_Uploads";
|
public const string CameraUploads = "Settings:Gallery:Camera_Uploads";
|
||||||
|
public const string ShowFilters = "Settings:Gallery:Show_Filters";
|
||||||
|
|
||||||
public class QRCode
|
public class QRCode
|
||||||
{
|
{
|
||||||
@@ -115,5 +123,12 @@
|
|||||||
public const string Enabled = "Settings:Themes:Enabled";
|
public const string Enabled = "Settings:Themes:Enabled";
|
||||||
public const string Default = "Settings:Themes:Default";
|
public const string Default = "Settings:Themes:Default";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Policies
|
||||||
|
{
|
||||||
|
public const string BaseKey = "Settings:Policies:";
|
||||||
|
public const string Enabled = "Settings:Policies:Enabled";
|
||||||
|
public const string CookiePolicy = "Settings:Policies:CookiePolicy";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,12 +16,12 @@ using WeddingShare.Helpers.Database;
|
|||||||
using WeddingShare.Helpers.Notifications;
|
using WeddingShare.Helpers.Notifications;
|
||||||
using WeddingShare.Models;
|
using WeddingShare.Models;
|
||||||
using WeddingShare.Models.Database;
|
using WeddingShare.Models.Database;
|
||||||
using WeddingShare.Views.Admin;
|
using WeddingShare.Views.Account;
|
||||||
|
|
||||||
namespace WeddingShare.Controllers
|
namespace WeddingShare.Controllers
|
||||||
{
|
{
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public class AdminController : Controller
|
public class AccountController : Controller
|
||||||
{
|
{
|
||||||
private readonly IWebHostEnvironment _hostingEnvironment;
|
private readonly IWebHostEnvironment _hostingEnvironment;
|
||||||
private readonly ISettingsHelper _settings;
|
private readonly ISettingsHelper _settings;
|
||||||
@@ -38,11 +38,9 @@ namespace WeddingShare.Controllers
|
|||||||
private readonly string TempDirectory;
|
private readonly string TempDirectory;
|
||||||
private readonly string UploadsDirectory;
|
private readonly string UploadsDirectory;
|
||||||
private readonly string ThumbnailsDirectory;
|
private readonly string ThumbnailsDirectory;
|
||||||
private readonly string LogosDirectory;
|
|
||||||
private readonly string BannersDirectory;
|
|
||||||
private readonly string CustomResourcesDirectory;
|
private readonly string CustomResourcesDirectory;
|
||||||
|
|
||||||
public AdminController(IWebHostEnvironment hostingEnvironment, ISettingsHelper settings, IDatabaseHelper database, IDeviceDetector deviceDetector, IFileHelper fileHelper, IEncryptionHelper encryption, INotificationHelper notificationHelper, Helpers.IUrlHelper url, IAuditHelper audit, ILogger<AdminController> logger, IStringLocalizer<Lang.Translations> localizer)
|
public AccountController(IWebHostEnvironment hostingEnvironment, ISettingsHelper settings, IDatabaseHelper database, IDeviceDetector deviceDetector, IFileHelper fileHelper, IEncryptionHelper encryption, INotificationHelper notificationHelper, Helpers.IUrlHelper url, IAuditHelper audit, ILogger<AccountController> logger, IStringLocalizer<Lang.Translations> localizer)
|
||||||
{
|
{
|
||||||
_hostingEnvironment = hostingEnvironment;
|
_hostingEnvironment = hostingEnvironment;
|
||||||
_settings = settings;
|
_settings = settings;
|
||||||
@@ -59,8 +57,6 @@ namespace WeddingShare.Controllers
|
|||||||
TempDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.TempFiles);
|
TempDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.TempFiles);
|
||||||
UploadsDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.Uploads);
|
UploadsDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.Uploads);
|
||||||
ThumbnailsDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.Thumbnails);
|
ThumbnailsDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.Thumbnails);
|
||||||
LogosDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.Logos);
|
|
||||||
BannersDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.Banners);
|
|
||||||
CustomResourcesDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.CustomResources);
|
CustomResourcesDirectory = Path.Combine(_hostingEnvironment.WebRootPath, Directories.CustomResources);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,7 +67,7 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
if (User?.Identity != null && User.Identity.IsAuthenticated)
|
if (User?.Identity != null && User.Identity.IsAuthenticated)
|
||||||
{
|
{
|
||||||
return RedirectToAction("Index", "Admin");
|
return RedirectToAction("Index", "Account");
|
||||||
}
|
}
|
||||||
|
|
||||||
return View();
|
return View();
|
||||||
@@ -185,18 +181,21 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_LoggedOut"].Value);
|
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_LoggedOut"].Value);
|
||||||
await this.HttpContext.SignOutAsync();
|
await this.HttpContext.SignOutAsync();
|
||||||
return RedirectToAction("Index", "Admin");
|
return RedirectToAction("Index", "Account");
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> Index()
|
public async Task<IActionResult> Index(AccountTabs tab = AccountTabs.Reviews)
|
||||||
{
|
{
|
||||||
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
||||||
{
|
{
|
||||||
return Redirect("/");
|
return Redirect("/");
|
||||||
}
|
}
|
||||||
|
|
||||||
var model = new IndexModel();
|
var model = new IndexModel()
|
||||||
|
{
|
||||||
|
ActiveTab = tab
|
||||||
|
};
|
||||||
|
|
||||||
var deviceType = HttpContext.Session.GetString(SessionKey.DeviceType);
|
var deviceType = HttpContext.Session.GetString(SessionKey.DeviceType);
|
||||||
if (string.IsNullOrWhiteSpace(deviceType))
|
if (string.IsNullOrWhiteSpace(deviceType))
|
||||||
@@ -209,35 +208,40 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
var user = await _database.GetUser(User.Identity.GetUserId());
|
var user = await _database.GetUser(User.Identity.GetUserId());
|
||||||
if (user != null)
|
if (user != null)
|
||||||
{
|
{
|
||||||
if (!await _settings.GetOrDefault(Settings.Basic.SingleGalleryMode, false))
|
if (tab == AccountTabs.Reviews)
|
||||||
{
|
{
|
||||||
model.Galleries = await _database.GetAllGalleries();
|
model.PendingRequests = await GetPendingReviews();
|
||||||
|
}
|
||||||
|
else if (tab == AccountTabs.Galleries)
|
||||||
|
{
|
||||||
|
model.Galleries = (await _database.GetAllGalleries())?.Where(x => !x.Identifier.Equals("All", StringComparison.OrdinalIgnoreCase))?.ToList();
|
||||||
if (model.Galleries != null)
|
if (model.Galleries != null)
|
||||||
{
|
{
|
||||||
var all = await _database.GetGallery(0);
|
var all = await _database.GetGallery(0);
|
||||||
if (all != null)
|
if (all != null)
|
||||||
{
|
{
|
||||||
model.Galleries.Add(all);
|
model.Galleries.Add(all);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
model.PendingRequests = await _database.GetPendingGalleryItems();
|
|
||||||
}
|
}
|
||||||
else
|
else if (tab == AccountTabs.Users)
|
||||||
{
|
{
|
||||||
var gallery = await _database.GetGallery("default");
|
model.Users = await _database.GetAllUsers();
|
||||||
if (gallery != null)
|
}
|
||||||
{
|
else if (tab == AccountTabs.Resources)
|
||||||
model.Galleries = new List<GalleryModel>() { gallery };
|
{
|
||||||
model.PendingRequests = await _database.GetPendingGalleryItems(gallery.Id);
|
model.CustomResources = await _database.GetAllCustomResources();
|
||||||
}
|
}
|
||||||
|
else if (tab == AccountTabs.Settings)
|
||||||
|
{
|
||||||
|
model.Settings = (await _database.GetAllSettings())?.ToDictionary(x => x.Id.ToUpper(), x => x.Value ?? string.Empty);
|
||||||
|
model.CustomResources = await _database.GetAllCustomResources();
|
||||||
|
}
|
||||||
|
else if (tab == AccountTabs.Audit)
|
||||||
|
{
|
||||||
|
model.AuditLogs = await _database.GetAuditLogs();
|
||||||
}
|
}
|
||||||
|
|
||||||
model.CustomResources = await _database.GetAllCustomResources();
|
|
||||||
model.Users = await _database.GetAllUsers();
|
|
||||||
model.Settings = (await _database.GetAllSettings())?.ToDictionary(x => x.Id.ToUpper(), x => x.Value ?? string.Empty);
|
|
||||||
model.AuditLogs = await _database.GetAuditLogs();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -264,24 +268,13 @@ namespace WeddingShare.Controllers
|
|||||||
var user = await _database.GetUser(User.Identity.GetUserId());
|
var user = await _database.GetUser(User.Identity.GetUserId());
|
||||||
if (user != null)
|
if (user != null)
|
||||||
{
|
{
|
||||||
if (!await _settings.GetOrDefault(Settings.Basic.SingleGalleryMode, false))
|
result = (await _database.GetAllGalleries())?.Where(x => !x.Identifier.Equals("All", StringComparison.OrdinalIgnoreCase))?.ToList();
|
||||||
|
if (result != null)
|
||||||
{
|
{
|
||||||
result = await _database.GetAllGalleries();
|
var all = await _database.GetGallery(0);
|
||||||
if (result != null)
|
if (all != null)
|
||||||
{
|
{
|
||||||
var all = await _database.GetGallery(0);
|
result.Add(all);
|
||||||
if (all != null)
|
|
||||||
{
|
|
||||||
result.Add(all);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var gallery = await _database.GetGallery("default");
|
|
||||||
if (gallery != null)
|
|
||||||
{
|
|
||||||
result = new List<GalleryModel>() { gallery };
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -291,37 +284,26 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Gallery_List_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Gallery_List_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Partials/GalleriesList.cshtml", result ?? new List<GalleryModel>());
|
return PartialView("~/Views/Account/Partials/GalleriesList.cshtml", result ?? new List<GalleryModel>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[RequiresRole(Permission = AccessPermissions.Review_View)]
|
[RequiresRole(Permission = AccessPermissions.Review_View)]
|
||||||
public async Task<IActionResult> PendingReviews()
|
public async Task<IActionResult> PendingReviews()
|
||||||
{
|
{
|
||||||
|
var galleries = new List<PhotoGallery>();
|
||||||
|
|
||||||
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
||||||
{
|
{
|
||||||
return Redirect("/");
|
return Redirect("/");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<GalleryItemModel>? result = null;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var user = await _database.GetUser(User.Identity.GetUserId());
|
var user = await _database.GetUser(User.Identity.GetUserId());
|
||||||
if (user != null)
|
if (user != null)
|
||||||
{
|
{
|
||||||
if (!await _settings.GetOrDefault(Settings.Basic.SingleGalleryMode, false))
|
galleries = await GetPendingReviews();
|
||||||
{
|
|
||||||
result = await _database.GetPendingGalleryItems();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var gallery = await _database.GetGallery("default");
|
|
||||||
if (gallery != null)
|
|
||||||
{
|
|
||||||
result = await _database.GetPendingGalleryItems(gallery.Id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -329,7 +311,7 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Pending_Uploads_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Pending_Uploads_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Partials/PendingReviews.cshtml", result ?? new List<GalleryItemModel>());
|
return PartialView("~/Views/Account/Partials/PendingReviews.cshtml", galleries);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
@@ -356,7 +338,7 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Users_List_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Users_List_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Partials/UsersList.cshtml", result ?? new List<UserModel>());
|
return PartialView("~/Views/Account/Partials/UsersList.cshtml", result ?? new List<UserModel>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
@@ -379,7 +361,7 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Custom_Resources_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Custom_Resources_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Partials/CustomResources.cshtml", result ?? new List<CustomResourceModel>());
|
return PartialView("~/Views/Account/Partials/CustomResources.cshtml", result ?? new List<CustomResourceModel>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
@@ -391,7 +373,7 @@ namespace WeddingShare.Controllers
|
|||||||
return Redirect("/");
|
return Redirect("/");
|
||||||
}
|
}
|
||||||
|
|
||||||
var model = new Views.Admin.Partials.SettingsListModel();
|
var model = new Views.Account.Partials.SettingsListModel();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -403,7 +385,7 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Settings_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Settings_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Partials/SettingsList.cshtml", model);
|
return PartialView("~/Views/Account/Partials/SettingsList.cshtml", model);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
@@ -427,12 +409,12 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Audit_List_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Audit_List_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Partials/AuditList.cshtml", result ?? new List<AuditLogModel>());
|
return PartialView("~/Views/Account/Partials/AuditList.cshtml", result ?? new List<AuditLogModel>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[RequiresRole(Permission = AccessPermissions.Settings_Gallery_Update)]
|
[RequiresRole(Permission = AccessPermissions.Settings_Gallery_Update)]
|
||||||
[Route("Admin/Settings/{galleryId}")]
|
[Route("Account/Settings/{galleryId}")]
|
||||||
public async Task<IActionResult> GallerySettingsPartial(int galleryId)
|
public async Task<IActionResult> GallerySettingsPartial(int galleryId)
|
||||||
{
|
{
|
||||||
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
||||||
@@ -440,14 +422,14 @@ namespace WeddingShare.Controllers
|
|||||||
return Redirect("/");
|
return Redirect("/");
|
||||||
}
|
}
|
||||||
|
|
||||||
var model = new Views.Admin.Settings.GalleryModel();
|
var model = new Views.Account.Settings.GalleryModel();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var gallery = await _database.GetGallery(galleryId);
|
var gallery = await _database.GetGallery(galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(gallery?.Name))
|
if (!string.IsNullOrWhiteSpace(gallery?.Name))
|
||||||
{
|
{
|
||||||
model.Settings = (await _database.GetAllSettings(gallery.Name))?.Where(x => x.Id.StartsWith(Settings.Gallery.BaseKey, StringComparison.OrdinalIgnoreCase))?.ToDictionary(x => x.Id.ToUpper(), x => x.Value ?? string.Empty);
|
model.Settings = (await _database.GetAllSettings(gallery.Id))?.Where(x => x.Id.StartsWith(Settings.Gallery.BaseKey, StringComparison.OrdinalIgnoreCase))?.ToDictionary(x => x.Id.ToUpper(), x => x.Value ?? string.Empty);
|
||||||
model.CustomResources = await _database.GetAllCustomResources();
|
model.CustomResources = await _database.GetAllCustomResources();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -456,7 +438,7 @@ namespace WeddingShare.Controllers
|
|||||||
_logger.LogError(ex, $"{_localizer["Settings_Failed"].Value} - {ex?.Message}");
|
_logger.LogError(ex, $"{_localizer["Settings_Failed"].Value} - {ex?.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("~/Views/Admin/Settings/Gallery.cshtml", model);
|
return PartialView("~/Views/Account/Settings/Gallery.cshtml", model);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
@@ -469,42 +451,46 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
var review = await _database.GetPendingGalleryItem(id);
|
var review = await _database.GetPendingGalleryItem(id);
|
||||||
if (review != null)
|
if (review != null)
|
||||||
{
|
{
|
||||||
var galleryDir = Path.Combine(UploadsDirectory, review.GalleryName);
|
var gallery = await _database.GetGallery(review.GalleryId);
|
||||||
var reviewFile = Path.Combine(galleryDir, "Pending", review.Title);
|
if (gallery != null)
|
||||||
if (action == ReviewAction.APPROVED)
|
{
|
||||||
{
|
var galleryDir = Path.Combine(UploadsDirectory, gallery.Identifier);
|
||||||
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(galleryDir, review.Title));
|
var reviewFile = Path.Combine(galleryDir, "Pending", review.Title);
|
||||||
|
if (action == ReviewAction.APPROVED)
|
||||||
review.State = GalleryItemState.Approved;
|
|
||||||
await _database.EditGalleryItem(review);
|
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, $"'{review.Title}' {_localizer["Audit_ItemApprovedInGallery"].Value} '{review.GalleryName}'");
|
|
||||||
}
|
|
||||||
else if (action == ReviewAction.REJECTED)
|
|
||||||
{
|
|
||||||
var retain = await _settings.GetOrDefault(Settings.Gallery.RetainRejectedItems, false);
|
|
||||||
if (retain)
|
|
||||||
{
|
{
|
||||||
var rejectedDir = Path.Combine(galleryDir, "Rejected");
|
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(galleryDir, review.Title));
|
||||||
_fileHelper.CreateDirectoryIfNotExists(rejectedDir);
|
|
||||||
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(rejectedDir, review.Title));
|
review.State = GalleryItemState.Approved;
|
||||||
|
await _database.EditGalleryItem(review);
|
||||||
|
|
||||||
|
await _audit.LogAction(User?.Identity?.Name, $"'{review.Title}' {_localizer["Audit_ItemApprovedInGallery"].Value} '{gallery.Identifier}'");
|
||||||
}
|
}
|
||||||
else
|
else if (action == ReviewAction.REJECTED)
|
||||||
{
|
{
|
||||||
_fileHelper.DeleteFileIfExists(reviewFile);
|
var retain = await _settings.GetOrDefault(Settings.Gallery.RetainRejectedItems, false);
|
||||||
|
if (retain)
|
||||||
|
{
|
||||||
|
var rejectedDir = Path.Combine(galleryDir, "Rejected");
|
||||||
|
_fileHelper.CreateDirectoryIfNotExists(rejectedDir);
|
||||||
|
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(rejectedDir, review.Title));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_fileHelper.DeleteFileIfExists(reviewFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
await _database.DeleteGalleryItem(review);
|
||||||
|
|
||||||
|
await _audit.LogAction(User?.Identity?.Name, $"'{review.Title}' {_localizer["Audit_ItemRejectedInGallery"].Value} '{gallery.Identifier}'");
|
||||||
|
}
|
||||||
|
else if (action == ReviewAction.UNKNOWN)
|
||||||
|
{
|
||||||
|
throw new Exception(_localizer["Unknown_Review_Action"].Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
await _database.DeleteGalleryItem(review);
|
return Json(new { success = true, action });
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, $"'{review.Title}' {_localizer["Audit_ItemRejectedInGallery"].Value} '{review.GalleryName}'");
|
|
||||||
}
|
}
|
||||||
else if (action == ReviewAction.UNKNOWN)
|
|
||||||
{
|
|
||||||
throw new Exception(_localizer["Unknown_Review_Action"].Value);
|
|
||||||
}
|
|
||||||
|
|
||||||
return Json(new { success = true, action });
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -531,40 +517,47 @@ namespace WeddingShare.Controllers
|
|||||||
var items = await _database.GetPendingGalleryItems();
|
var items = await _database.GetPendingGalleryItems();
|
||||||
if (items != null && items.Any())
|
if (items != null && items.Any())
|
||||||
{
|
{
|
||||||
foreach (var review in items)
|
foreach (var galleryGroup in items.GroupBy(x => x.GalleryId))
|
||||||
{
|
{
|
||||||
var galleryDir = Path.Combine(UploadsDirectory, review.GalleryName);
|
var gallery = await _database.GetGallery(galleryGroup.Key);
|
||||||
var reviewFile = Path.Combine(galleryDir, "Pending", review.Title);
|
if (gallery != null)
|
||||||
if (action == ReviewAction.APPROVED)
|
|
||||||
{
|
{
|
||||||
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(galleryDir, review.Title));
|
foreach (var review in galleryGroup)
|
||||||
|
|
||||||
review.State = GalleryItemState.Approved;
|
|
||||||
await _database.EditGalleryItem(review);
|
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_BulkApproveReviews"].Value);
|
|
||||||
}
|
|
||||||
else if (action == ReviewAction.REJECTED)
|
|
||||||
{
|
|
||||||
var retain = await _settings.GetOrDefault(Settings.Gallery.RetainRejectedItems, false);
|
|
||||||
if (retain)
|
|
||||||
{
|
{
|
||||||
var rejectedDir = Path.Combine(galleryDir, "Rejected");
|
var galleryDir = Path.Combine(UploadsDirectory, gallery.Identifier);
|
||||||
_fileHelper.CreateDirectoryIfNotExists(rejectedDir);
|
var reviewFile = Path.Combine(galleryDir, "Pending", review.Title);
|
||||||
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(rejectedDir, review.Title));
|
if (action == ReviewAction.APPROVED)
|
||||||
}
|
{
|
||||||
else
|
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(galleryDir, review.Title));
|
||||||
{
|
|
||||||
_fileHelper.DeleteFileIfExists(reviewFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
await _database.DeleteGalleryItem(review);
|
review.State = GalleryItemState.Approved;
|
||||||
|
await _database.EditGalleryItem(review);
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_BulkRejectReviews"].Value);
|
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_BulkApproveReviews"].Value);
|
||||||
}
|
}
|
||||||
else if (action == ReviewAction.UNKNOWN)
|
else if (action == ReviewAction.REJECTED)
|
||||||
{
|
{
|
||||||
throw new Exception(_localizer["Unknown_Review_Action"].Value);
|
var retain = await _settings.GetOrDefault(Settings.Gallery.RetainRejectedItems, false);
|
||||||
|
if (retain)
|
||||||
|
{
|
||||||
|
var rejectedDir = Path.Combine(galleryDir, "Rejected");
|
||||||
|
_fileHelper.CreateDirectoryIfNotExists(rejectedDir);
|
||||||
|
_fileHelper.MoveFileIfExists(reviewFile, Path.Combine(rejectedDir, review.Title));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_fileHelper.DeleteFileIfExists(reviewFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
await _database.DeleteGalleryItem(review);
|
||||||
|
|
||||||
|
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_BulkRejectReviews"].Value);
|
||||||
|
}
|
||||||
|
else if (action == ReviewAction.UNKNOWN)
|
||||||
|
{
|
||||||
|
throw new Exception(_localizer["Unknown_Review_Action"].Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -590,8 +583,8 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var check = await _database.GetGallery(model.Name);
|
var alreadyExists = ((await _database.GetGalleryNames()).Any(x => x.Equals(model.Name, StringComparison.OrdinalIgnoreCase))) || ((await _database.GetGalleryId(model.Identifier)) != null);
|
||||||
if (check == null)
|
if (!alreadyExists)
|
||||||
{
|
{
|
||||||
if (await _database.GetGalleryCount() < await _settings.GetOrDefault(Settings.Basic.MaxGalleryCount, 1000000))
|
if (await _database.GetGalleryCount() < await _settings.GetOrDefault(Settings.Basic.MaxGalleryCount, 1000000))
|
||||||
{
|
{
|
||||||
@@ -634,7 +627,7 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var check = await _database.GetGallery(model.Name);
|
var check = await _database.GetGallery(model.Id);
|
||||||
if (check == null || model.Id == check.Id)
|
if (check == null || model.Id == check.Id)
|
||||||
{
|
{
|
||||||
var gallery = await _database.GetGallery(model.Id);
|
var gallery = await _database.GetGallery(model.Id);
|
||||||
@@ -682,12 +675,12 @@ namespace WeddingShare.Controllers
|
|||||||
var gallery = await _database.GetGallery(id);
|
var gallery = await _database.GetGallery(id);
|
||||||
if (gallery != null)
|
if (gallery != null)
|
||||||
{
|
{
|
||||||
var galleryDir = Path.Combine(UploadsDirectory, gallery.Name);
|
var galleryDir = Path.Combine(UploadsDirectory, gallery.Identifier);
|
||||||
if (_fileHelper.DirectoryExists(galleryDir))
|
if (_fileHelper.DirectoryExists(galleryDir))
|
||||||
{
|
{
|
||||||
foreach (var photo in _fileHelper.GetFiles(galleryDir, "*.*", SearchOption.AllDirectories))
|
foreach (var photo in _fileHelper.GetFiles(galleryDir, "*.*", SearchOption.AllDirectories))
|
||||||
{
|
{
|
||||||
var thumbnail = Path.Combine(ThumbnailsDirectory, $"{Path.GetFileNameWithoutExtension(photo)}.webp");
|
var thumbnail = Path.Combine(ThumbnailsDirectory, gallery.Identifier, $"{Path.GetFileNameWithoutExtension(photo)}.webp");
|
||||||
_fileHelper.DeleteFileIfExists(thumbnail);
|
_fileHelper.DeleteFileIfExists(thumbnail);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -696,7 +689,7 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
||||||
{
|
{
|
||||||
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Wipe' was performed on gallery '{gallery.Name}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Wipe' was performed on gallery '{gallery.Name}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -742,7 +735,7 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
||||||
{
|
{
|
||||||
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Wipe' was performed on all galleries'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Wipe' was performed on all galleries'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -770,12 +763,12 @@ namespace WeddingShare.Controllers
|
|||||||
var gallery = await _database.GetGallery(id);
|
var gallery = await _database.GetGallery(id);
|
||||||
if (gallery != null && gallery.Id > 1)
|
if (gallery != null && gallery.Id > 1)
|
||||||
{
|
{
|
||||||
var galleryDir = Path.Combine(UploadsDirectory, gallery.Name);
|
var galleryDir = Path.Combine(UploadsDirectory, gallery.Identifier);
|
||||||
_fileHelper.DeleteDirectoryIfExists(galleryDir);
|
_fileHelper.DeleteDirectoryIfExists(galleryDir);
|
||||||
|
|
||||||
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
||||||
{
|
{
|
||||||
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Delete' was performed on gallery '{gallery.Name}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Delete' was performed on gallery '{gallery.Name}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, $"{_localizer["Audit_DeletedGallery"].Value} '{gallery?.Name}'");
|
await _audit.LogAction(User?.Identity?.Name, $"{_localizer["Audit_DeletedGallery"].Value} '{gallery?.Name}'");
|
||||||
@@ -810,7 +803,7 @@ namespace WeddingShare.Controllers
|
|||||||
var gallery = await _database.GetGallery(photo.GalleryId);
|
var gallery = await _database.GetGallery(photo.GalleryId);
|
||||||
if (gallery != null)
|
if (gallery != null)
|
||||||
{
|
{
|
||||||
var photoPath = Path.Combine(UploadsDirectory, gallery.Name, photo.Title);
|
var photoPath = Path.Combine(UploadsDirectory, gallery.Identifier, photo.Title);
|
||||||
_fileHelper.DeleteFileIfExists(photoPath);
|
_fileHelper.DeleteFileIfExists(photoPath);
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, $"'{photo?.Title}' {_localizer["Audit_ItemDeletedInGallery"].Value} '{gallery?.Name}'");
|
await _audit.LogAction(User?.Identity?.Name, $"'{photo?.Title}' {_localizer["Audit_ItemDeletedInGallery"].Value} '{gallery?.Name}'");
|
||||||
@@ -1023,7 +1016,7 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
if (await _settings.GetOrDefault(Notifications.Alerts.DestructiveAction, true))
|
||||||
{
|
{
|
||||||
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Delete' was performed on user '{user.Username}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send(_localizer["Destructive_Action_Performed"].Value, $"The destructive action 'Delete' was performed on user '{user.Username}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, $"{_localizer["Audit_DeletedUser"].Value} '{user?.Username}'");
|
await _audit.LogAction(User?.Identity?.Name, $"{_localizer["Audit_DeletedUser"].Value} '{user?.Username}'");
|
||||||
@@ -1070,7 +1063,7 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
Id = m.Key,
|
Id = m.Key,
|
||||||
Value = m.Value
|
Value = m.Value
|
||||||
}, gallery?.Name ?? string.Empty);
|
}, gallery?.Id);
|
||||||
|
|
||||||
if (setting == null || (setting.Value ?? string.Empty) != (m.Value ?? string.Empty))
|
if (setting == null || (setting.Value ?? string.Empty) != (m.Value ?? string.Empty))
|
||||||
{
|
{
|
||||||
@@ -1141,18 +1134,6 @@ namespace WeddingShare.Controllers
|
|||||||
ZipFile.CreateFromDirectory(ThumbnailsDirectory, thumbnailsZip, CompressionLevel.Optimal, false);
|
ZipFile.CreateFromDirectory(ThumbnailsDirectory, thumbnailsZip, CompressionLevel.Optimal, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
var logosZip = Path.Combine(exportDir, $"Logos.bak");
|
|
||||||
if (options.Logos && _fileHelper.DirectoryExists(LogosDirectory))
|
|
||||||
{
|
|
||||||
ZipFile.CreateFromDirectory(LogosDirectory, logosZip, CompressionLevel.Optimal, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
var bannersZip = Path.Combine(exportDir, $"Banners.bak");
|
|
||||||
if (options.Banners && _fileHelper.DirectoryExists(BannersDirectory))
|
|
||||||
{
|
|
||||||
ZipFile.CreateFromDirectory(BannersDirectory, bannersZip, CompressionLevel.Optimal, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
var customResourcesZip = Path.Combine(exportDir, $"CustomResources.bak");
|
var customResourcesZip = Path.Combine(exportDir, $"CustomResources.bak");
|
||||||
if (options.CustomResources && _fileHelper.DirectoryExists(CustomResourcesDirectory))
|
if (options.CustomResources && _fileHelper.DirectoryExists(CustomResourcesDirectory))
|
||||||
{
|
{
|
||||||
@@ -1166,8 +1147,6 @@ namespace WeddingShare.Controllers
|
|||||||
_fileHelper.DeleteFileIfExists(dbExport);
|
_fileHelper.DeleteFileIfExists(dbExport);
|
||||||
_fileHelper.DeleteFileIfExists(uploadsZip);
|
_fileHelper.DeleteFileIfExists(uploadsZip);
|
||||||
_fileHelper.DeleteFileIfExists(thumbnailsZip);
|
_fileHelper.DeleteFileIfExists(thumbnailsZip);
|
||||||
_fileHelper.DeleteFileIfExists(logosZip);
|
|
||||||
_fileHelper.DeleteFileIfExists(bannersZip);
|
|
||||||
_fileHelper.DeleteFileIfExists(customResourcesZip);
|
_fileHelper.DeleteFileIfExists(customResourcesZip);
|
||||||
|
|
||||||
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_ExportedBackup"].Value);
|
await _audit.LogAction(User?.Identity?.Name, _localizer["Audit_ExportedBackup"].Value);
|
||||||
@@ -1226,18 +1205,6 @@ namespace WeddingShare.Controllers
|
|||||||
var thumbnailsZip = Path.Combine(importDir, "Thumbnails.bak");
|
var thumbnailsZip = Path.Combine(importDir, "Thumbnails.bak");
|
||||||
ZipFile.ExtractToDirectory(thumbnailsZip, ThumbnailsDirectory, true);
|
ZipFile.ExtractToDirectory(thumbnailsZip, ThumbnailsDirectory, true);
|
||||||
|
|
||||||
var logosZip = Path.Combine(importDir, "Logos.bak");
|
|
||||||
if (_fileHelper.FileExists(logosZip))
|
|
||||||
{
|
|
||||||
ZipFile.ExtractToDirectory(logosZip, LogosDirectory, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
var bannersZip = Path.Combine(importDir, "Banners.bak");
|
|
||||||
if (_fileHelper.FileExists(bannersZip))
|
|
||||||
{
|
|
||||||
ZipFile.ExtractToDirectory(bannersZip, BannersDirectory, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
var customResourcesZip = Path.Combine(importDir, "CustomResources.bak");
|
var customResourcesZip = Path.Combine(importDir, "CustomResources.bak");
|
||||||
if (_fileHelper.FileExists(customResourcesZip))
|
if (_fileHelper.FileExists(customResourcesZip))
|
||||||
{
|
{
|
||||||
@@ -1530,10 +1497,10 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
if (await _settings.GetOrDefault(Notifications.Alerts.FailedLogin, true))
|
if (await _settings.GetOrDefault(Notifications.Alerts.FailedLogin, true))
|
||||||
{
|
{
|
||||||
var ipAddress = this.TryGetIpAddress(Request.HttpContext);
|
var ipAddress = Request.HttpContext.TryGetIpAddress();
|
||||||
var country = this.TryGetCountry(Request.HttpContext);
|
var country = Request.HttpContext.TryGetCountry();
|
||||||
|
|
||||||
await _notificationHelper.Send("Invalid Login Detected", $"An invalid login attempt was made for account '{model?.Username}' from ip address '{ipAddress}' based in country '{country}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send("Invalid Login Detected", $"An invalid login attempt was made for account '{model?.Username}' from ip address '{ipAddress}' based in country '{country}'.", _url.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
|
|
||||||
var failedAttempts = await _database.IncrementLockoutCount(user.Id);
|
var failedAttempts = await _database.IncrementLockoutCount(user.Id);
|
||||||
@@ -1544,7 +1511,7 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
if (await _settings.GetOrDefault(Notifications.Alerts.AccountLockout, true))
|
if (await _settings.GetOrDefault(Notifications.Alerts.AccountLockout, true))
|
||||||
{
|
{
|
||||||
await _notificationHelper.Send("Account Lockout", $"Account '{model?.Username}' has been locked out for {timeout} minutes due to too many failed login attempts.", _url.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send("Account Lockout", $"Account '{model?.Username}' has been locked out for {timeout} minutes due to too many failed login attempts.", _url.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1558,49 +1525,40 @@ namespace WeddingShare.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string TryGetIpAddress(HttpContext ctx)
|
private async Task<List<PhotoGallery>> GetPendingReviews()
|
||||||
{
|
{
|
||||||
try
|
var galleries = new List<PhotoGallery>();
|
||||||
|
|
||||||
|
var items = await _database.GetPendingGalleryItems();
|
||||||
|
if (items != null)
|
||||||
{
|
{
|
||||||
var ipAddress = TryGetHeaderValue(ctx, ["CF-Connecting-IP", "CF-Connecting-IPv6", "X-Forwarded-For", "HTTP_X_FORWARDED_FOR", "REMOTE_ADDR"]);
|
foreach (var galleryGroup in items.GroupBy(x => x.GalleryId))
|
||||||
if (string.IsNullOrWhiteSpace(ipAddress) || ipAddress.Equals("Unknown", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
{
|
||||||
return ctx.Connection?.RemoteIpAddress?.ToString() ?? "Unknown";
|
var gallery = await _database.GetGallery(galleryGroup.Key);
|
||||||
}
|
if (gallery != null)
|
||||||
|
|
||||||
return ipAddress;
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return "Unknown";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private string TryGetCountry(HttpContext ctx)
|
|
||||||
{
|
|
||||||
return TryGetHeaderValue(ctx, [ "CF-IPCountry" ]);
|
|
||||||
}
|
|
||||||
|
|
||||||
private string TryGetHeaderValue(HttpContext ctx, string[] headers)
|
|
||||||
{
|
|
||||||
foreach (var header in headers)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
string? val = ctx.Request.Headers[header];
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
|
||||||
{
|
{
|
||||||
var vals = val.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
galleries.Add(new PhotoGallery()
|
||||||
if (vals.Length != 0)
|
|
||||||
{
|
{
|
||||||
return vals[0];
|
Gallery = gallery,
|
||||||
}
|
Images = items?.Select(x => new PhotoGalleryImage()
|
||||||
|
{
|
||||||
|
Id = x.Id,
|
||||||
|
GalleryId = x.GalleryId,
|
||||||
|
Name = Path.GetFileName(x.Title),
|
||||||
|
UploadedBy = x.UploadedBy,
|
||||||
|
UploadDate = x.UploadedDate,
|
||||||
|
ImagePath = $"/{Path.Combine(UploadsDirectory, gallery.Identifier).Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/Pending/{x.Title}",
|
||||||
|
ThumbnailPath = $"/{Path.Combine(ThumbnailsDirectory, gallery.Identifier).Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{Path.GetFileNameWithoutExtension(x.Title)}.webp",
|
||||||
|
ThumbnailPathFallback = $"/{ThumbnailsDirectory.Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{Path.GetFileNameWithoutExtension(x.Title)}.webp",
|
||||||
|
MediaType = x.MediaType
|
||||||
|
})?.ToList(),
|
||||||
|
ItemsPerPage = int.MaxValue,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return "Unknown";
|
return galleries;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Authorization;
|
|||||||
using Microsoft.AspNetCore.Localization;
|
using Microsoft.AspNetCore.Localization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Localization;
|
using Microsoft.Extensions.Localization;
|
||||||
|
using Mysqlx.Expr;
|
||||||
using WeddingShare.Attributes;
|
using WeddingShare.Attributes;
|
||||||
using WeddingShare.Constants;
|
using WeddingShare.Constants;
|
||||||
using WeddingShare.Enums;
|
using WeddingShare.Enums;
|
||||||
@@ -13,7 +14,6 @@ using WeddingShare.Helpers.Database;
|
|||||||
using WeddingShare.Helpers.Notifications;
|
using WeddingShare.Helpers.Notifications;
|
||||||
using WeddingShare.Models;
|
using WeddingShare.Models;
|
||||||
using WeddingShare.Models.Database;
|
using WeddingShare.Models.Database;
|
||||||
using static WeddingShare.Constants.Notifications;
|
|
||||||
|
|
||||||
namespace WeddingShare.Controllers
|
namespace WeddingShare.Controllers
|
||||||
{
|
{
|
||||||
@@ -58,25 +58,29 @@ namespace WeddingShare.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IActionResult> Login(string id = "default", string? key = null)
|
public async Task<IActionResult> Login(string? id, string? identifier, string? key = null)
|
||||||
{
|
{
|
||||||
id = id.Trim();
|
int? galleryId = 0;
|
||||||
|
|
||||||
var append = new List<KeyValuePair<string, string>>()
|
if (!string.IsNullOrWhiteSpace(identifier))
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("id", id)
|
galleryId = await _database.GetGalleryId(identifier);
|
||||||
};
|
}
|
||||||
|
else if (!string.IsNullOrWhiteSpace(id))
|
||||||
|
{
|
||||||
|
galleryId = await _database.GetGalleryIdByName(id);
|
||||||
|
}
|
||||||
|
|
||||||
GalleryModel? gallery = await _database.GetGallery(id);
|
GalleryModel? gallery = await _database.GetGallery(galleryId.Value);
|
||||||
if (gallery == null)
|
if (gallery == null)
|
||||||
{
|
{
|
||||||
if (await _settings.GetOrDefault(Settings.Basic.GuestGalleryCreation, false))
|
if (await _settings.GetOrDefault(Settings.Basic.GuestGalleryCreation, false))
|
||||||
{
|
{
|
||||||
if (await _database.GetGalleryCount() < await _settings.GetOrDefault(Settings.Basic.MaxGalleryCount, 1000000))
|
if (await _database.GetGalleryCount() < await _settings.GetOrDefault(Settings.Basic.MaxGalleryCount, 1000000))
|
||||||
{
|
{
|
||||||
await _database.AddGallery(new GalleryModel()
|
gallery = await _database.AddGallery(new GalleryModel()
|
||||||
{
|
{
|
||||||
Name = id.ToLower(),
|
Name = id?.ToLower() ?? GalleryHelper.GenerateGalleryIdentifier(),
|
||||||
SecretKey = key,
|
SecretKey = key,
|
||||||
Owner = 0
|
Owner = 0
|
||||||
});
|
});
|
||||||
@@ -92,6 +96,11 @@ namespace WeddingShare.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var append = new List<KeyValuePair<string, string>>()
|
||||||
|
{
|
||||||
|
new KeyValuePair<string, string>("identifier", gallery.Identifier)
|
||||||
|
};
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(key))
|
if (!string.IsNullOrWhiteSpace(key))
|
||||||
{
|
{
|
||||||
var enc = _encryptionHelper.IsEncryptionEnabled();
|
var enc = _encryptionHelper.IsEncryptionEnabled();
|
||||||
@@ -107,117 +116,127 @@ namespace WeddingShare.Controllers
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
[RequiresSecretKey]
|
[RequiresSecretKey]
|
||||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||||
public async Task<IActionResult> Index(string id = "default", string? key = null, ViewMode? mode = null, GalleryGroup group = GalleryGroup.None, GalleryOrder order = GalleryOrder.Descending, GalleryFilter filter = GalleryFilter.All, string? culture = null, bool partial = false)
|
public async Task<IActionResult> Index(string? id, string? identifier, string? key = null, ViewMode? mode = null, GalleryGroup group = GalleryGroup.None, GalleryOrder order = GalleryOrder.Descending, GalleryFilter filter = GalleryFilter.All, string? culture = null, bool partial = false)
|
||||||
{
|
{
|
||||||
id = (!string.IsNullOrWhiteSpace(id) && !await _settings.GetOrDefault(Settings.Basic.SingleGalleryMode, false)) ? id.Trim().ToLower() : "default";
|
int? galleryId = null;
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(culture))
|
if (!string.IsNullOrWhiteSpace(identifier))
|
||||||
{
|
{
|
||||||
try
|
galleryId = await _database.GetGalleryId(identifier);
|
||||||
{
|
}
|
||||||
HttpContext.Session.SetString(SessionKey.SelectedLanguage, culture);
|
else if (!string.IsNullOrWhiteSpace(id))
|
||||||
Response.Cookies.Append(
|
{
|
||||||
CookieRequestCultureProvider.DefaultCookieName,
|
galleryId = await _database.GetGalleryIdByName(id);
|
||||||
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
|
|
||||||
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
|
|
||||||
);
|
|
||||||
}
|
|
||||||
catch { }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
ViewBag.ViewMode = mode ?? (ViewMode)await _settings.GetOrDefault(Settings.Gallery.DefaultView, (int)ViewMode.Default, id);
|
if (!string.IsNullOrWhiteSpace(culture))
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
ViewBag.ViewMode = ViewMode.Default;
|
|
||||||
}
|
|
||||||
|
|
||||||
var deviceType = HttpContext.Session.GetString(SessionKey.DeviceType);
|
|
||||||
if (string.IsNullOrWhiteSpace(deviceType))
|
|
||||||
{
|
|
||||||
deviceType = (await _deviceDetector.ParseDeviceType(Request.Headers["User-Agent"].ToString())).ToString();
|
|
||||||
HttpContext.Session.SetString(SessionKey.DeviceType, deviceType ?? "Desktop");
|
|
||||||
}
|
|
||||||
|
|
||||||
ViewBag.IsMobile = !string.Equals("Desktop", deviceType, StringComparison.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
var galleryPath = Path.Combine(UploadsDirectory, id);
|
|
||||||
_fileHelper.CreateDirectoryIfNotExists(galleryPath);
|
|
||||||
_fileHelper.CreateDirectoryIfNotExists(Path.Combine(galleryPath, "Pending"));
|
|
||||||
|
|
||||||
GalleryModel? gallery = await _database.GetGallery(id);
|
|
||||||
if (gallery != null)
|
|
||||||
{
|
|
||||||
ViewBag.GalleryId = gallery.Name;
|
|
||||||
|
|
||||||
var secretKey = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, gallery.Name);
|
|
||||||
ViewBag.SecretKey = secretKey;
|
|
||||||
|
|
||||||
var currentPage = 1;
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
currentPage = int.Parse((Request.Query.ContainsKey("page") && !string.IsNullOrWhiteSpace(Request.Query["page"])) ? Request.Query["page"].ToString().ToLower() : "1");
|
|
||||||
}
|
|
||||||
catch { }
|
|
||||||
|
|
||||||
var mediaType = MediaType.All;
|
|
||||||
if (mode == ViewMode.Slideshow)
|
|
||||||
{
|
|
||||||
mediaType = MediaType.Image;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch (filter)
|
|
||||||
{
|
|
||||||
case GalleryFilter.Images:
|
|
||||||
mediaType = MediaType.Image;
|
|
||||||
break;
|
|
||||||
case GalleryFilter.Videos:
|
|
||||||
mediaType = MediaType.Video;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
mediaType = MediaType.All;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var orientation = ImageOrientation.None;
|
|
||||||
switch (filter)
|
|
||||||
{
|
|
||||||
case GalleryFilter.Landscape:
|
|
||||||
orientation = ImageOrientation.Landscape;
|
|
||||||
break;
|
|
||||||
case GalleryFilter.Portrait:
|
|
||||||
orientation = ImageOrientation.Portrait;
|
|
||||||
break;
|
|
||||||
case GalleryFilter.Square:
|
|
||||||
orientation = ImageOrientation.Square;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
orientation = ImageOrientation.None;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var itemsPerPage = await _settings.GetOrDefault(Settings.Gallery.ItemsPerPage, 50, gallery?.Name);
|
|
||||||
var allowedFileTypes = (await _settings.GetOrDefault(Settings.Gallery.AllowedFileTypes, ".jpg,.jpeg,.png,.mp4,.mov", gallery?.Name)).Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
|
||||||
var items = (await _database.GetAllGalleryItems(gallery?.Id, GalleryItemState.Approved, mediaType, orientation, group, order, itemsPerPage, currentPage))?.Where(x => allowedFileTypes.Any(y => string.Equals(Path.GetExtension(x.Title).Trim('.'), y.Trim('.'), StringComparison.OrdinalIgnoreCase)));
|
|
||||||
|
|
||||||
var userPermissions = User?.Identity?.GetUserPermissions() ?? AccessPermissions.None;
|
|
||||||
var isAdmin = User?.Identity != null && User.Identity.IsAuthenticated && userPermissions.HasFlag(AccessPermissions.Gallery_Upload);
|
|
||||||
|
|
||||||
FileUploader? fileUploader = null;
|
|
||||||
if (!string.Equals("All", gallery?.Name, StringComparison.OrdinalIgnoreCase) && (await _settings.GetOrDefault(Settings.Gallery.Upload, true, gallery?.Name) || isAdmin))
|
|
||||||
{
|
|
||||||
var uploadActvated = isAdmin;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!uploadActvated)
|
HttpContext.Session.SetString(SessionKey.SelectedLanguage, culture);
|
||||||
{
|
Response.Cookies.Append(
|
||||||
var periods = (await _settings.GetOrDefault(Settings.Gallery.UploadPeriod, "1970-01-01 00:00", gallery?.Name))?.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
CookieRequestCultureProvider.DefaultCookieName,
|
||||||
|
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
|
||||||
|
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ViewBag.ViewMode = mode ?? (ViewMode)await _settings.GetOrDefault(Settings.Gallery.DefaultView, (int)ViewMode.Default, galleryId);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
ViewBag.ViewMode = ViewMode.Default;
|
||||||
|
}
|
||||||
|
|
||||||
|
var deviceType = HttpContext.Session.GetString(SessionKey.DeviceType);
|
||||||
|
if (string.IsNullOrWhiteSpace(deviceType))
|
||||||
|
{
|
||||||
|
deviceType = (await _deviceDetector.ParseDeviceType(Request.Headers["User-Agent"].ToString())).ToString();
|
||||||
|
HttpContext.Session.SetString(SessionKey.DeviceType, deviceType ?? "Desktop");
|
||||||
|
}
|
||||||
|
|
||||||
|
ViewBag.IsMobile = !string.Equals("Desktop", deviceType, StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
|
GalleryModel? gallery = await _database.GetGallery(galleryId.Value);
|
||||||
|
if (gallery != null)
|
||||||
|
{
|
||||||
|
var galleryPath = Path.Combine(UploadsDirectory, gallery.Identifier);
|
||||||
|
_fileHelper.CreateDirectoryIfNotExists(galleryPath);
|
||||||
|
_fileHelper.CreateDirectoryIfNotExists(Path.Combine(galleryPath, "Pending"));
|
||||||
|
|
||||||
|
ViewBag.GalleryIdentifier = gallery.Identifier;
|
||||||
|
|
||||||
|
var secretKey = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, gallery.Id);
|
||||||
|
ViewBag.SecretKey = secretKey;
|
||||||
|
|
||||||
|
var currentPage = 1;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
currentPage = int.Parse((Request.Query.ContainsKey("page") && !string.IsNullOrWhiteSpace(Request.Query["page"])) ? Request.Query["page"].ToString().ToLower() : "1");
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
|
var mediaType = MediaType.All;
|
||||||
|
if (mode == ViewMode.Slideshow)
|
||||||
|
{
|
||||||
|
mediaType = MediaType.Image;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (filter)
|
||||||
|
{
|
||||||
|
case GalleryFilter.Images:
|
||||||
|
mediaType = MediaType.Image;
|
||||||
|
break;
|
||||||
|
case GalleryFilter.Videos:
|
||||||
|
mediaType = MediaType.Video;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
mediaType = MediaType.All;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var orientation = ImageOrientation.None;
|
||||||
|
switch (filter)
|
||||||
|
{
|
||||||
|
case GalleryFilter.Landscape:
|
||||||
|
orientation = ImageOrientation.Landscape;
|
||||||
|
break;
|
||||||
|
case GalleryFilter.Portrait:
|
||||||
|
orientation = ImageOrientation.Portrait;
|
||||||
|
break;
|
||||||
|
case GalleryFilter.Square:
|
||||||
|
orientation = ImageOrientation.Square;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
orientation = ImageOrientation.None;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var itemsPerPage = await _settings.GetOrDefault(Settings.Gallery.ItemsPerPage, 50, gallery?.Id);
|
||||||
|
var allowedFileTypes = (await _settings.GetOrDefault(Settings.Gallery.AllowedFileTypes, ".jpg,.jpeg,.png,.mp4,.mov", gallery?.Id)).Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
var items = (await _database.GetAllGalleryItems(gallery?.Id, GalleryItemState.Approved, mediaType, orientation, group, order, itemsPerPage, currentPage))?.Where(x => allowedFileTypes.Any(y => string.Equals(Path.GetExtension(x.Title).Trim('.'), y.Trim('.'), StringComparison.OrdinalIgnoreCase)));
|
||||||
|
|
||||||
|
var userPermissions = User?.Identity?.GetUserPermissions() ?? AccessPermissions.None;
|
||||||
|
var isGalleryAdmin = User?.Identity != null && User.Identity.IsAuthenticated && userPermissions.HasFlag(AccessPermissions.Gallery_Upload);
|
||||||
|
|
||||||
|
var uploadActvated = !gallery.Identifier.Equals("All", StringComparison.OrdinalIgnoreCase) && (await _settings.GetOrDefault(Settings.Gallery.Upload, true, gallery?.Id) || isGalleryAdmin);
|
||||||
|
if (uploadActvated)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var periods = (await _settings.GetOrDefault(Settings.Gallery.UploadPeriod, "1970-01-01 00:00", gallery?.Id))?.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||||
if (periods != null)
|
if (periods != null)
|
||||||
{
|
{
|
||||||
|
uploadActvated = false;
|
||||||
|
|
||||||
var now = DateTime.UtcNow;
|
var now = DateTime.UtcNow;
|
||||||
foreach (var period in periods)
|
foreach (var period in periods)
|
||||||
{
|
{
|
||||||
@@ -244,48 +263,43 @@ namespace WeddingShare.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
catch
|
||||||
catch
|
{
|
||||||
{
|
uploadActvated = true;
|
||||||
uploadActvated = true;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uploadActvated)
|
var itemCounts = await _database.GetGalleryItemCount(gallery?.Id, GalleryItemState.All, mediaType, orientation);
|
||||||
{
|
var model = new PhotoGallery()
|
||||||
fileUploader = new FileUploader(gallery?.Name ?? "default", secretKey, "/Gallery/UploadImage", await _settings.GetOrDefault(Settings.IdentityCheck.RequireIdentityForUpload, false));
|
{
|
||||||
}
|
Gallery = gallery,
|
||||||
|
SecretKey = secretKey,
|
||||||
|
Images = items?.Select(x => new PhotoGalleryImage()
|
||||||
|
{
|
||||||
|
Id = x.Id,
|
||||||
|
GalleryId = x.GalleryId,
|
||||||
|
Name = Path.GetFileName(x.Title),
|
||||||
|
UploadedBy = x.UploadedBy,
|
||||||
|
UploadDate = x.UploadedDate,
|
||||||
|
ImagePath = $"/{Path.Combine(UploadsDirectory, gallery.Identifier).Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{x.Title}",
|
||||||
|
ThumbnailPath = $"/{Path.Combine(ThumbnailsDirectory, gallery.Identifier).Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{Path.GetFileNameWithoutExtension(x.Title)}.webp",
|
||||||
|
ThumbnailPathFallback = $"/{ThumbnailsDirectory.Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{Path.GetFileNameWithoutExtension(x.Title)}.webp",
|
||||||
|
MediaType = x.MediaType
|
||||||
|
})?.ToList(),
|
||||||
|
CurrentPage = currentPage,
|
||||||
|
ApprovedCount = (int)itemCounts["Approved"],
|
||||||
|
PendingCount = (int)itemCounts["Pending"],
|
||||||
|
ItemsPerPage = itemsPerPage,
|
||||||
|
UploadActivated = uploadActvated,
|
||||||
|
ViewMode = (ViewMode)ViewBag.ViewMode,
|
||||||
|
GroupBy = group,
|
||||||
|
OrderBy = order,
|
||||||
|
Pagination = order != GalleryOrder.Random,
|
||||||
|
LoadScripts = !partial
|
||||||
|
};
|
||||||
|
|
||||||
|
return partial ? PartialView("~/Views/Gallery/GalleryWrapper.cshtml", model) : View(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
var itemCounts = await _database.GetGalleryItemCount(gallery?.Id, GalleryItemState.All, mediaType, orientation);
|
|
||||||
var model = new PhotoGallery()
|
|
||||||
{
|
|
||||||
GalleryId = gallery?.Id,
|
|
||||||
GalleryName = gallery?.Name,
|
|
||||||
Images = items?.Select(x => new PhotoGalleryImage()
|
|
||||||
{
|
|
||||||
Id = x.Id,
|
|
||||||
GalleryId = x.GalleryId,
|
|
||||||
GalleryName = x.GalleryName,
|
|
||||||
Name = Path.GetFileName(x.Title),
|
|
||||||
UploadedBy = x.UploadedBy,
|
|
||||||
UploadDate = x.UploadedDate,
|
|
||||||
ImagePath = $"/{Path.Combine(UploadsDirectory, x.GalleryName).Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{x.Title}",
|
|
||||||
ThumbnailPath = $"/{ThumbnailsDirectory.Remove(_hostingEnvironment.WebRootPath).Replace('\\', '/').TrimStart('/')}/{Path.GetFileNameWithoutExtension(x.Title)}.webp",
|
|
||||||
MediaType = x.MediaType
|
|
||||||
})?.ToList(),
|
|
||||||
CurrentPage = currentPage,
|
|
||||||
ApprovedCount = (int)itemCounts["Approved"],
|
|
||||||
PendingCount = (int)itemCounts["Pending"],
|
|
||||||
ItemsPerPage = itemsPerPage,
|
|
||||||
FileUploader = fileUploader,
|
|
||||||
ViewMode = (ViewMode)ViewBag.ViewMode,
|
|
||||||
GroupBy = group,
|
|
||||||
OrderBy = order,
|
|
||||||
Pagination = order != GalleryOrder.Random,
|
|
||||||
LoadScripts = !partial
|
|
||||||
};
|
|
||||||
|
|
||||||
return partial ? PartialView("~/Views/Gallery/GalleryWrapper.cshtml", model) : View(model);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new RedirectToActionResult("Index", "Error", new { Reason = ErrorCode.InvalidGalleryId }, false);
|
return new RedirectToActionResult("Index", "Error", new { Reason = ErrorCode.InvalidGalleryId }, false);
|
||||||
@@ -298,8 +312,7 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string galleryId = (Request?.Form?.FirstOrDefault(x => string.Equals("Id", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString()?.ToLower() ?? string.Empty;
|
if (!int.TryParse((Request?.Form?.FirstOrDefault(x => string.Equals("Id", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString()?.ToLower() ?? string.Empty, out var galleryId))
|
||||||
if (string.IsNullOrWhiteSpace(galleryId))
|
|
||||||
{
|
{
|
||||||
return Json(new { success = false, uploaded = 0, errors = new List<string>() { _localizer["Invalid_Gallery_Id"].Value } });
|
return Json(new { success = false, uploaded = 0, errors = new List<string>() { _localizer["Invalid_Gallery_Id"].Value } });
|
||||||
}
|
}
|
||||||
@@ -307,19 +320,19 @@ namespace WeddingShare.Controllers
|
|||||||
var gallery = await _database.GetGallery(galleryId);
|
var gallery = await _database.GetGallery(galleryId);
|
||||||
if (gallery != null)
|
if (gallery != null)
|
||||||
{
|
{
|
||||||
var secretKey = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, galleryId);
|
var secretKey = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, gallery.Id);
|
||||||
string key = (Request?.Form?.FirstOrDefault(x => string.Equals("SecretKey", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString() ?? string.Empty;
|
string key = (Request?.Form?.FirstOrDefault(x => string.Equals("SecretKey", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString() ?? string.Empty;
|
||||||
if (!string.IsNullOrWhiteSpace(secretKey) && !string.Equals(secretKey, key))
|
if (!string.IsNullOrWhiteSpace(secretKey) && !string.Equals(secretKey, key))
|
||||||
{
|
{
|
||||||
return Json(new { success = false, uploaded = 0, errors = new List<string>() { _localizer["Invalid_Secret_Key_Warning"].Value } });
|
return Json(new { success = false, uploaded = 0, errors = new List<string>() { _localizer["Invalid_Secret_Key_Warning"].Value } });
|
||||||
}
|
}
|
||||||
|
|
||||||
string uploadedBy = HttpContext.Session.GetString(SessionKey.ViewerIdentity) ?? "Anonymous";
|
string uploadedBy = HttpContext.Session.GetString(SessionKey.ViewerIdentity)?.Trim() ?? "Anonymous";
|
||||||
|
|
||||||
var files = Request?.Form?.Files;
|
var files = Request?.Form?.Files;
|
||||||
if (files != null && files.Count > 0)
|
if (files != null && files.Count > 0)
|
||||||
{
|
{
|
||||||
var requiresReview = await _settings.GetOrDefault(Settings.Gallery.RequireReview, true, galleryId);
|
var requiresReview = await _settings.GetOrDefault(Settings.Gallery.RequireReview, true, gallery.Id);
|
||||||
|
|
||||||
var uploaded = 0;
|
var uploaded = 0;
|
||||||
var errors = new List<string>();
|
var errors = new List<string>();
|
||||||
@@ -328,11 +341,11 @@ namespace WeddingShare.Controllers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var extension = Path.GetExtension(file.FileName);
|
var extension = Path.GetExtension(file.FileName);
|
||||||
var maxGallerySize = await _settings.GetOrDefault(Settings.Gallery.MaxSizeMB, 1024L, galleryId) * 1000000;
|
var maxGallerySize = await _settings.GetOrDefault(Settings.Gallery.MaxSizeMB, 1024L, gallery.Id) * 1000000;
|
||||||
var maxFilesSize = await _settings.GetOrDefault(Settings.Gallery.MaxFileSizeMB, 10L, galleryId) * 1000000;
|
var maxFilesSize = await _settings.GetOrDefault(Settings.Gallery.MaxFileSizeMB, 50L, gallery.Id) * 1000000;
|
||||||
var galleryPath = Path.Combine(UploadsDirectory, gallery.Name);
|
var galleryPath = Path.Combine(UploadsDirectory, gallery.Identifier);
|
||||||
|
|
||||||
var allowedFileTypes = (await _settings.GetOrDefault(Settings.Gallery.AllowedFileTypes, ".jpg,.jpeg,.png,.mp4,.mov", galleryId)).Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
var allowedFileTypes = (await _settings.GetOrDefault(Settings.Gallery.AllowedFileTypes, ".jpg,.jpeg,.png,.mp4,.mov", gallery.Id)).Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
if (!allowedFileTypes.Any(x => string.Equals(x.Trim('.'), extension.Trim('.'), StringComparison.OrdinalIgnoreCase)))
|
if (!allowedFileTypes.Any(x => string.Equals(x.Trim('.'), extension.Trim('.'), StringComparison.OrdinalIgnoreCase)))
|
||||||
{
|
{
|
||||||
errors.Add($"{_localizer["File_Upload_Failed"].Value}. {_localizer["Invalid_File_Type"].Value}");
|
errors.Add($"{_localizer["File_Upload_Failed"].Value}. {_localizer["Invalid_File_Type"].Value}");
|
||||||
@@ -347,7 +360,7 @@ namespace WeddingShare.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var fileName = $"{Guid.NewGuid()}{Path.GetExtension(file.FileName)}";
|
var fileName = _fileHelper.SanitizeFilename($"{(!string.IsNullOrWhiteSpace(uploadedBy) ? $"{uploadedBy.Replace(" ", "_")}-" : string.Empty)}{Guid.NewGuid()}{Path.GetExtension(file.FileName)}");
|
||||||
galleryPath = requiresReview ? Path.Combine(galleryPath, "Pending") : galleryPath;
|
galleryPath = requiresReview ? Path.Combine(galleryPath, "Pending") : galleryPath;
|
||||||
|
|
||||||
_fileHelper.CreateDirectoryIfNotExists(galleryPath);
|
_fileHelper.CreateDirectoryIfNotExists(galleryPath);
|
||||||
@@ -366,16 +379,19 @@ namespace WeddingShare.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
var checksum = await _fileHelper.GetChecksum(filePath);
|
var checksum = await _fileHelper.GetChecksum(filePath);
|
||||||
if (await _settings.GetOrDefault(Settings.Gallery.PreventDuplicates, true, galleryId) && (string.IsNullOrWhiteSpace(checksum) || await _database.GetGalleryItemByChecksum(gallery.Id, checksum) != null))
|
if (await _settings.GetOrDefault(Settings.Gallery.PreventDuplicates, true, gallery.Id) && (string.IsNullOrWhiteSpace(checksum) || await _database.GetGalleryItemByChecksum(gallery.Id, checksum) != null))
|
||||||
{
|
{
|
||||||
errors.Add($"{_localizer["File_Upload_Failed"].Value}. {_localizer["Duplicate_Item_Detected"].Value}");
|
errors.Add($"{_localizer["File_Upload_Failed"].Value}. {_localizer["Duplicate_Item_Detected"].Value}");
|
||||||
_fileHelper.DeleteFileIfExists(filePath);
|
_fileHelper.DeleteFileIfExists(filePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var savePath = Path.Combine(ThumbnailsDirectory, $"{Path.GetFileNameWithoutExtension(filePath)}.webp");
|
var gallerySavePath = Path.Combine(ThumbnailsDirectory, gallery.Identifier);
|
||||||
|
|
||||||
_fileHelper.CreateDirectoryIfNotExists(ThumbnailsDirectory);
|
_fileHelper.CreateDirectoryIfNotExists(ThumbnailsDirectory);
|
||||||
|
_fileHelper.CreateDirectoryIfNotExists(gallerySavePath);
|
||||||
|
|
||||||
|
var savePath = Path.Combine(gallerySavePath, $"{Path.GetFileNameWithoutExtension(filePath)}.webp");
|
||||||
await _imageHelper.GenerateThumbnail(filePath, savePath, await _settings.GetOrDefault(Settings.Basic.ThumbnailSize, 720));
|
await _imageHelper.GenerateThumbnail(filePath, savePath, await _settings.GetOrDefault(Settings.Basic.ThumbnailSize, 720));
|
||||||
|
|
||||||
var item = await _database.AddGalleryItem(new GalleryItemModel()
|
var item = await _database.AddGalleryItem(new GalleryItemModel()
|
||||||
@@ -434,8 +450,7 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string galleryId = (Request?.Form?.FirstOrDefault(x => string.Equals("Id", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString()?.ToLower() ?? string.Empty;
|
if (!int.TryParse((Request?.Form?.FirstOrDefault(x => string.Equals("Id", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString()?.ToLower() ?? string.Empty, out var galleryId))
|
||||||
if (string.IsNullOrWhiteSpace(galleryId))
|
|
||||||
{
|
{
|
||||||
return Json(new { success = false, uploaded = 0, errors = new List<string>() { _localizer["Invalid_Gallery_Id"].Value } });
|
return Json(new { success = false, uploaded = 0, errors = new List<string>() { _localizer["Invalid_Gallery_Id"].Value } });
|
||||||
}
|
}
|
||||||
@@ -456,7 +471,7 @@ namespace WeddingShare.Controllers
|
|||||||
int uploaded = int.Parse((Request?.Form?.FirstOrDefault(x => string.Equals("Count", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString() ?? "0");
|
int uploaded = int.Parse((Request?.Form?.FirstOrDefault(x => string.Equals("Count", x.Key, StringComparison.OrdinalIgnoreCase)).Value)?.ToString() ?? "0");
|
||||||
if (uploaded > 0 && requiresReview && await _settings.GetOrDefault(Notifications.Alerts.PendingReview, true))
|
if (uploaded > 0 && requiresReview && await _settings.GetOrDefault(Notifications.Alerts.PendingReview, true))
|
||||||
{
|
{
|
||||||
await _notificationHelper.Send(_localizer["New_Items_Pending_Review"].Value, $"{uploaded} new item(s) have been uploaded to gallery '{gallery.Name}' by '{(!string.IsNullOrWhiteSpace(uploadedBy) ? uploadedBy : "Anonymous")}' and are awaiting your review.", _urlHelper.GenerateBaseUrl(HttpContext?.Request, "/Admin"));
|
await _notificationHelper.Send(_localizer["New_Items_Pending_Review"].Value, $"{uploaded} new item(s) have been uploaded to gallery '{gallery.Name}' by '{(!string.IsNullOrWhiteSpace(uploadedBy) ? uploadedBy : "Anonymous")}' and are awaiting your review.", _urlHelper.GenerateBaseUrl(HttpContext?.Request, "/Account"));
|
||||||
}
|
}
|
||||||
|
|
||||||
Response.StatusCode = (int)HttpStatusCode.OK;
|
Response.StatusCode = (int)HttpStatusCode.OK;
|
||||||
@@ -486,15 +501,15 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
secretKey = secretKey ?? string.Empty;
|
secretKey = secretKey ?? string.Empty;
|
||||||
|
|
||||||
var gallerySecret = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, gallery.Name);
|
var gallerySecret = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, gallery.Id);
|
||||||
if (!secretKey.Equals(gallerySecret))
|
if (!secretKey.Equals(gallerySecret))
|
||||||
{
|
{
|
||||||
return Json(new { success = false, message = _localizer["Failed_Download_Gallery_Invalid_Key"].Value });
|
return Json(new { success = false, message = _localizer["Failed_Download_Gallery_Invalid_Key"].Value });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await _settings.GetOrDefault(Settings.Gallery.Download, true, gallery?.Name) || (User?.Identity != null && User.Identity.IsAuthenticated))
|
if (await _settings.GetOrDefault(Settings.Gallery.Download, true, gallery?.Id) || (User?.Identity != null && User.Identity.IsAuthenticated))
|
||||||
{
|
{
|
||||||
var galleryDir = id > 0 ? Path.Combine(UploadsDirectory, gallery.Name) : UploadsDirectory;
|
var galleryDir = id > 0 ? Path.Combine(UploadsDirectory, gallery.Identifier) : UploadsDirectory;
|
||||||
if (_fileHelper.DirectoryExists(galleryDir))
|
if (_fileHelper.DirectoryExists(galleryDir))
|
||||||
{
|
{
|
||||||
var keepFiles = new List<string>();
|
var keepFiles = new List<string>();
|
||||||
@@ -554,7 +569,7 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
_fileHelper.CreateDirectoryIfNotExists(TempDirectory);
|
_fileHelper.CreateDirectoryIfNotExists(TempDirectory);
|
||||||
|
|
||||||
var tempZipFile = Path.Combine(TempDirectory, $"{gallery.Name}-{DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss")}.zip");
|
var tempZipFile = Path.Combine(TempDirectory, $"{gallery.Identifier}-{DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss")}.zip");
|
||||||
ZipFile.CreateFromDirectory(galleryDir, tempZipFile, CompressionLevel.Optimal, false);
|
ZipFile.CreateFromDirectory(galleryDir, tempZipFile, CompressionLevel.Optimal, false);
|
||||||
|
|
||||||
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
if (User?.Identity == null || !User.Identity.IsAuthenticated)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Authorization;
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Localization;
|
using Microsoft.Extensions.Localization;
|
||||||
using WeddingShare.Constants;
|
using WeddingShare.Constants;
|
||||||
|
using WeddingShare.Extensions;
|
||||||
using WeddingShare.Helpers;
|
using WeddingShare.Helpers;
|
||||||
using WeddingShare.Helpers.Database;
|
using WeddingShare.Helpers.Database;
|
||||||
using WeddingShare.Models;
|
using WeddingShare.Models;
|
||||||
@@ -15,14 +16,16 @@ namespace WeddingShare.Controllers
|
|||||||
private readonly ISettingsHelper _settings;
|
private readonly ISettingsHelper _settings;
|
||||||
private readonly IDatabaseHelper _database;
|
private readonly IDatabaseHelper _database;
|
||||||
private readonly IDeviceDetector _deviceDetector;
|
private readonly IDeviceDetector _deviceDetector;
|
||||||
|
private readonly IAuditHelper _audit;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IStringLocalizer<Lang.Translations> _localizer;
|
private readonly IStringLocalizer<Lang.Translations> _localizer;
|
||||||
|
|
||||||
public HomeController(ISettingsHelper settings, IDatabaseHelper database, IDeviceDetector deviceDetector, ILogger<HomeController> logger, IStringLocalizer<Lang.Translations> localizer)
|
public HomeController(ISettingsHelper settings, IDatabaseHelper database, IDeviceDetector deviceDetector, IAuditHelper audit, ILogger<HomeController> logger, IStringLocalizer<Lang.Translations> localizer)
|
||||||
{
|
{
|
||||||
_settings = settings;
|
_settings = settings;
|
||||||
_database = database;
|
_database = database;
|
||||||
_deviceDetector = deviceDetector;
|
_deviceDetector = deviceDetector;
|
||||||
|
_audit = audit;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_localizer = localizer;
|
_localizer = localizer;
|
||||||
}
|
}
|
||||||
@@ -44,14 +47,14 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
if (await _settings.GetOrDefault(Settings.Basic.SingleGalleryMode, false))
|
if (await _settings.GetOrDefault(Settings.Basic.SingleGalleryMode, false))
|
||||||
{
|
{
|
||||||
var key = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, "default");
|
var key = await _settings.GetOrDefault(Settings.Gallery.SecretKey, string.Empty, 1);
|
||||||
if (string.IsNullOrWhiteSpace(key))
|
if (string.IsNullOrWhiteSpace(key))
|
||||||
{
|
{
|
||||||
return RedirectToAction("Index", "Gallery");
|
return RedirectToAction("Index", "Gallery", new { identifier = "default" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
model.GalleryNames = await _settings.GetOrDefault(Settings.GallerySelector.Dropdown, false) ? await _database.GetGalleryNames() : new List<string>() { "default" };
|
model.GalleryNames = await _settings.GetOrDefault(Settings.GallerySelector.Dropdown, false) ? (await _database.GetGalleryNames()).Where(x => !x.Equals("all", StringComparison.OrdinalIgnoreCase)) : new List<string>();
|
||||||
if (await _settings.GetOrDefault(Settings.GallerySelector.HideDefaultOption, false))
|
if (await _settings.GetOrDefault(Settings.GallerySelector.HideDefaultOption, false))
|
||||||
{
|
{
|
||||||
model.GalleryNames = model.GalleryNames.Where(x => !x.Equals("default", StringComparison.OrdinalIgnoreCase));
|
model.GalleryNames = model.GalleryNames.Where(x => !x.Equals("default", StringComparison.OrdinalIgnoreCase));
|
||||||
@@ -65,12 +68,28 @@ namespace WeddingShare.Controllers
|
|||||||
return View(model);
|
return View(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
[Route("CookiePolicy")]
|
||||||
|
[Route("Home/CookiePolicy")]
|
||||||
|
public async Task<IActionResult> CookiePolicy()
|
||||||
|
{
|
||||||
|
ViewBag.CompanyName = await _settings.GetOrDefault(Settings.Basic.Title, "WeddingShare");
|
||||||
|
ViewBag.SiteHostname = await _settings.GetOrDefault(Settings.Basic.BaseUrl, "www.wedding-share.org");
|
||||||
|
ViewBag.CustomPolicy = await _settings.GetOrDefault(Settings.Policies.CookiePolicy, string.Empty);
|
||||||
|
|
||||||
|
return View("~/Views/Home/CookiePolicy.cshtml");
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public IActionResult SetIdentity(string name)
|
public IActionResult SetIdentity(string name)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (Regex.IsMatch(name, @"^[a-zA-Z-\s\-\']+$", RegexOptions.Compiled))
|
if (HtmlSanitizer.MayContainXss(name))
|
||||||
|
{
|
||||||
|
return Json(new { success = false, reason = 1 });
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
HttpContext.Session.SetString(SessionKey.ViewerIdentity, name);
|
HttpContext.Session.SetString(SessionKey.ViewerIdentity, name);
|
||||||
|
|
||||||
@@ -84,5 +103,22 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
return Json(new { success = false });
|
return Json(new { success = false });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IActionResult> LogCookieApproval()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var ipAddress = Request.HttpContext.TryGetIpAddress();
|
||||||
|
|
||||||
|
return Json(new { success = await _audit.LogAction("Visitor", $"{_localizer["Audit_CookieConsentApproved"].Value}: {ipAddress}") });
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, $"{_localizer["Cookie_Audit_Error"].Value}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return Json(new { success = false });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,11 +12,13 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
private readonly ISettingsHelper _settings;
|
private readonly ISettingsHelper _settings;
|
||||||
private readonly ILanguageHelper _languageHelper;
|
private readonly ILanguageHelper _languageHelper;
|
||||||
|
private readonly ILogger<LanguageController> _logger;
|
||||||
|
|
||||||
public LanguageController(ISettingsHelper settings, ILanguageHelper languageHelper)
|
public LanguageController(ISettingsHelper settings, ILanguageHelper languageHelper, ILogger<LanguageController> logger)
|
||||||
{
|
{
|
||||||
_settings = settings;
|
_settings = settings;
|
||||||
_languageHelper = languageHelper;
|
_languageHelper = languageHelper;
|
||||||
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
@@ -29,11 +31,10 @@ namespace WeddingShare.Controllers
|
|||||||
var defaultLang = HttpContext.Session.GetString(SessionKey.SelectedLanguage);
|
var defaultLang = HttpContext.Session.GetString(SessionKey.SelectedLanguage);
|
||||||
if (string.IsNullOrWhiteSpace(defaultLang))
|
if (string.IsNullOrWhiteSpace(defaultLang))
|
||||||
{
|
{
|
||||||
defaultLang = await _settings.GetOrDefault(Settings.Languages.Default, "en-GB");
|
defaultLang = await _languageHelper.GetOrFallbackCulture(string.Empty, await _settings.GetOrDefault(Settings.Languages.Default, "en-GB"));
|
||||||
}
|
}
|
||||||
|
|
||||||
options = (await _languageHelper.DetectSupportedCulturesAsync())
|
options = (await _languageHelper.DetectSupportedCulturesAsync())
|
||||||
.Where(x => x.Name.Contains("-"))
|
|
||||||
.Select(x => new SupportedLanguage() { Key = x.Name, Value = $"{(x.EnglishName.Contains("(") ? x.EnglishName.Substring(0, x.EnglishName.IndexOf("(")) : x.EnglishName).Trim()} ({x.Name})", Selected = string.Equals(defaultLang, x.Name, StringComparison.OrdinalIgnoreCase) })
|
.Select(x => new SupportedLanguage() { Key = x.Name, Value = $"{(x.EnglishName.Contains("(") ? x.EnglishName.Substring(0, x.EnglishName.IndexOf("(")) : x.EnglishName).Trim()} ({x.Name})", Selected = string.Equals(defaultLang, x.Name, StringComparison.OrdinalIgnoreCase) })
|
||||||
.OrderBy(x => x.Value.ToLower())
|
.OrderBy(x => x.Value.ToLower())
|
||||||
.ToList();
|
.ToList();
|
||||||
@@ -48,6 +49,8 @@ namespace WeddingShare.Controllers
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
culture = await _languageHelper.GetOrFallbackCulture(culture, await _settings.GetOrDefault(Settings.Languages.Default, "en-GB"));
|
||||||
|
|
||||||
HttpContext.Session.SetString(SessionKey.SelectedLanguage, culture);
|
HttpContext.Session.SetString(SessionKey.SelectedLanguage, culture);
|
||||||
Response.Cookies.Append(
|
Response.Cookies.Append(
|
||||||
CookieRequestCultureProvider.DefaultCookieName,
|
CookieRequestCultureProvider.DefaultCookieName,
|
||||||
@@ -57,7 +60,19 @@ namespace WeddingShare.Controllers
|
|||||||
|
|
||||||
return Json(new { success = true });
|
return Json(new { success = true });
|
||||||
}
|
}
|
||||||
catch { }
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogWarning(ex, $"Failed to set display language to '{culture}' - {ex?.Message}");
|
||||||
|
|
||||||
|
culture = "en-GB";
|
||||||
|
|
||||||
|
HttpContext.Session.SetString(SessionKey.SelectedLanguage, culture);
|
||||||
|
Response.Cookies.Append(
|
||||||
|
CookieRequestCultureProvider.DefaultCookieName,
|
||||||
|
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
|
||||||
|
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return Json(new { success = false });
|
return Json(new { success = false });
|
||||||
}
|
}
|
||||||
|
|||||||
13
WeddingShare/Enums/AccountTabs.cs
Normal file
13
WeddingShare/Enums/AccountTabs.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
namespace WeddingShare.Enums
|
||||||
|
{
|
||||||
|
public enum AccountTabs
|
||||||
|
{
|
||||||
|
Reviews,
|
||||||
|
Galleries,
|
||||||
|
Users,
|
||||||
|
Resources,
|
||||||
|
Settings,
|
||||||
|
Audit,
|
||||||
|
Data
|
||||||
|
}
|
||||||
|
}
|
||||||
50
WeddingShare/Extensions/HttpContextExtensions.cs
Normal file
50
WeddingShare/Extensions/HttpContextExtensions.cs
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
namespace WeddingShare.Extensions
|
||||||
|
{
|
||||||
|
public static class HttpContextExtensions
|
||||||
|
{
|
||||||
|
public static string TryGetIpAddress(this HttpContext ctx)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var ipAddress = TryGetHeaderValue(ctx, ["CF-Connecting-IP", "CF-Connecting-IPv6", "X-Forwarded-For", "HTTP_X_FORWARDED_FOR", "REMOTE_ADDR"]);
|
||||||
|
if (string.IsNullOrWhiteSpace(ipAddress) || ipAddress.Equals("Unknown", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
return ctx.Connection?.RemoteIpAddress?.ToString() ?? "Unknown";
|
||||||
|
}
|
||||||
|
|
||||||
|
return ipAddress;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string TryGetCountry(this HttpContext ctx)
|
||||||
|
{
|
||||||
|
return ctx.TryGetHeaderValue(["CF-IPCountry"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string TryGetHeaderValue(this HttpContext ctx, string[] headers)
|
||||||
|
{
|
||||||
|
foreach (var header in headers)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string? val = ctx.Request.Headers[header];
|
||||||
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
|
{
|
||||||
|
var vals = val.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||||
|
if (vals.Length != 0)
|
||||||
|
{
|
||||||
|
return vals[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,10 +8,10 @@ namespace WeddingShare.Helpers.Database
|
|||||||
Task<int> GetGalleryCount();
|
Task<int> GetGalleryCount();
|
||||||
Task<IEnumerable<string>> GetGalleryNames();
|
Task<IEnumerable<string>> GetGalleryNames();
|
||||||
Task<List<GalleryModel>> GetAllGalleries();
|
Task<List<GalleryModel>> GetAllGalleries();
|
||||||
Task<int?> GetGalleryId(string name);
|
Task<int?> GetGalleryId(string identifier);
|
||||||
|
Task<int?> GetGalleryIdByName(string name);
|
||||||
Task<string?> GetGalleryName(int id);
|
Task<string?> GetGalleryName(int id);
|
||||||
Task<GalleryModel?> GetGallery(int id);
|
Task<GalleryModel?> GetGallery(int id);
|
||||||
Task<GalleryModel?> GetGallery(string name);
|
|
||||||
Task<GalleryModel?> AddGallery(GalleryModel model);
|
Task<GalleryModel?> AddGallery(GalleryModel model);
|
||||||
Task<GalleryModel?> EditGallery(GalleryModel model);
|
Task<GalleryModel?> EditGallery(GalleryModel model);
|
||||||
Task<bool> WipeGallery(GalleryModel model);
|
Task<bool> WipeGallery(GalleryModel model);
|
||||||
@@ -27,7 +27,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
Task<GalleryItemModel?> AddGalleryItem(GalleryItemModel model);
|
Task<GalleryItemModel?> AddGalleryItem(GalleryItemModel model);
|
||||||
Task<GalleryItemModel?> EditGalleryItem(GalleryItemModel model);
|
Task<GalleryItemModel?> EditGalleryItem(GalleryItemModel model);
|
||||||
Task<bool> DeleteGalleryItem(GalleryItemModel model);
|
Task<bool> DeleteGalleryItem(GalleryItemModel model);
|
||||||
Task<bool> InitAdminAccount(UserModel model);
|
Task<bool> InitOwnerAccount(UserModel model);
|
||||||
Task<bool> ValidateCredentials(string username, string password);
|
Task<bool> ValidateCredentials(string username, string password);
|
||||||
Task<List<UserModel>?> GetAllUsers();
|
Task<List<UserModel>?> GetAllUsers();
|
||||||
Task<UserModel?> GetUser(int id);
|
Task<UserModel?> GetUser(int id);
|
||||||
@@ -43,14 +43,15 @@ namespace WeddingShare.Helpers.Database
|
|||||||
Task<bool> ResetMultiFactorToDefault();
|
Task<bool> ResetMultiFactorToDefault();
|
||||||
Task<bool> Import(string path);
|
Task<bool> Import(string path);
|
||||||
Task<bool> Export(string path);
|
Task<bool> Export(string path);
|
||||||
Task<IEnumerable<SettingModel>?> GetAllSettings(string? gallery = "");
|
Task<IEnumerable<SettingModel>?> GetAllSettings(int? galleryId = null);
|
||||||
Task<SettingModel?> GetSetting(string id, string? gallery = "");
|
Task<SettingModel?> GetSetting(string id);
|
||||||
Task<SettingModel?> GetGallerySpecificSetting(string id, string gallery);
|
Task<SettingModel?> GetSetting(string id, int gallery);
|
||||||
Task<SettingModel?> AddSetting(SettingModel model, string? gallery = "");
|
Task<SettingModel?> GetGallerySpecificSetting(string id, int galleryId);
|
||||||
Task<SettingModel?> EditSetting(SettingModel model, string? gallery = "");
|
Task<SettingModel?> AddSetting(SettingModel model, int? galleryId = null);
|
||||||
Task<SettingModel?> SetSetting(SettingModel model, string? gallery = "");
|
Task<SettingModel?> EditSetting(SettingModel model, int? galleryId = null);
|
||||||
Task<bool> DeleteSetting(SettingModel model, string? gallery = "");
|
Task<SettingModel?> SetSetting(SettingModel model, int? galleryId = null);
|
||||||
Task<bool> DeleteAllSettings(string? gallery = "");
|
Task<bool> DeleteSetting(SettingModel model, int? galleryId = null);
|
||||||
|
Task<bool> DeleteAllSettings(int? galleryId = null);
|
||||||
Task<CustomResourceModel?> GetCustomResource(int id);
|
Task<CustomResourceModel?> GetCustomResource(int id);
|
||||||
Task<List<CustomResourceModel>> GetAllCustomResources();
|
Task<List<CustomResourceModel>> GetAllCustomResources();
|
||||||
Task<CustomResourceModel?> AddCustomResource(CustomResourceModel model);
|
Task<CustomResourceModel?> AddCustomResource(CustomResourceModel model);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.Common;
|
using System.Data.Common;
|
||||||
using Microsoft.Data.Sqlite;
|
|
||||||
using MySql.Data.MySqlClient;
|
using MySql.Data.MySqlClient;
|
||||||
using WeddingShare.Constants;
|
using WeddingShare.Constants;
|
||||||
using WeddingShare.Enums;
|
using WeddingShare.Enums;
|
||||||
@@ -19,6 +18,8 @@ namespace WeddingShare.Helpers.Database
|
|||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
|
||||||
_logger.LogInformation($"Using MySQL connection string: '{_connString}'");
|
_logger.LogInformation($"Using MySQL connection string: '{_connString}'");
|
||||||
|
|
||||||
|
this.TestConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Setup
|
#region Setup
|
||||||
@@ -34,6 +35,28 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return conn;
|
return conn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TestConnection()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var conn = GetConnection().Result)
|
||||||
|
{
|
||||||
|
var cmd = CreateCommand($"SELECT 1", conn);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
|
||||||
|
conn.Open();
|
||||||
|
cmd.ExecuteScalarAsync();
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
var message = $"Failed to connect to the database instance. Please check your database is up and running and the connection string used is correct";
|
||||||
|
_logger.LogCritical(ex, message);
|
||||||
|
Environment.FailFast(message, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private MySqlCommand CreateCommand(string cmd, MySqlConnection conn)
|
private MySqlCommand CreateCommand(string cmd, MySqlConnection conn)
|
||||||
{
|
{
|
||||||
return new MySqlCommand(cmd, conn);
|
return new MySqlCommand(cmd, conn);
|
||||||
@@ -143,14 +166,46 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<int?> GetGalleryId(string? name)
|
public async Task<int?> GetGalleryIdByName(string? name)
|
||||||
{
|
{
|
||||||
|
int? result = null;
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(name))
|
if (!string.IsNullOrWhiteSpace(name))
|
||||||
{
|
{
|
||||||
return (await this.GetGallery(name))?.Id;
|
using (var conn = await GetConnection())
|
||||||
|
{
|
||||||
|
var cmd = CreateCommand($"SELECT g.`id` FROM `galleries` AS g WHERE UPPER(g.`name`)=UPPER(@Name);", conn);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
cmd.Parameters.AddWithValue("Name", name);
|
||||||
|
|
||||||
|
await conn.OpenAsync();
|
||||||
|
result = (int?)(long?)await cmd.ExecuteScalarAsync();
|
||||||
|
await conn.CloseAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<int?> GetGalleryId(string identifier)
|
||||||
|
{
|
||||||
|
int? result = null;
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(identifier))
|
||||||
|
{
|
||||||
|
using (var conn = await GetConnection())
|
||||||
|
{
|
||||||
|
var cmd = CreateCommand($"SELECT g.`id` FROM `galleries` AS g WHERE UPPER(g.`identifier`)=UPPER(@Identifier);", conn);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
cmd.Parameters.AddWithValue("Identifier", identifier);
|
||||||
|
|
||||||
|
await conn.OpenAsync();
|
||||||
|
result = (int?)(long?)await cmd.ExecuteScalarAsync();
|
||||||
|
await conn.CloseAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string?> GetGalleryName(int id)
|
public async Task<string?> GetGalleryName(int id)
|
||||||
@@ -186,12 +241,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
result = new GalleryModel()
|
result = new GalleryModel()
|
||||||
{
|
{
|
||||||
Id = 0,
|
Id = 0,
|
||||||
|
Identifier = "all",
|
||||||
Name = "all",
|
Name = "all",
|
||||||
SecretKey = null,
|
SecretKey = null,
|
||||||
TotalItems = galleries?.Sum(x => x.TotalItems) ?? 0,
|
TotalItems = galleries?.Sum(x => x.TotalItems) ?? 0,
|
||||||
ApprovedItems = galleries?.Sum(x => x.ApprovedItems) ?? 0,
|
ApprovedItems = galleries?.Sum(x => x.ApprovedItems) ?? 0,
|
||||||
PendingItems = galleries?.Sum(x => x.PendingItems) ?? 0,
|
PendingItems = galleries?.Sum(x => x.PendingItems) ?? 0,
|
||||||
TotalGallerySize = galleries?.Sum(x => x.TotalGallerySize) ?? 0
|
TotalGallerySize = galleries?.Sum(x => x.TotalGallerySize) ?? 0,
|
||||||
|
Owner = 1
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -201,45 +258,15 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<GalleryModel?> GetGallery(string name)
|
|
||||||
{
|
|
||||||
GalleryModel? result = null;
|
|
||||||
|
|
||||||
if (string.Equals("All", name, StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
result = await GetGallery(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
long? galleryId = 0;
|
|
||||||
using (var conn = await GetConnection())
|
|
||||||
{
|
|
||||||
var cmd = CreateCommand($"SELECT `id` FROM `galleries` WHERE `name`=@Name;", conn);
|
|
||||||
cmd.CommandType = CommandType.Text;
|
|
||||||
cmd.Parameters.AddWithValue("Name", name?.ToLower());
|
|
||||||
|
|
||||||
await conn.OpenAsync();
|
|
||||||
galleryId = (long?)await cmd.ExecuteScalarAsync();
|
|
||||||
await conn.CloseAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (galleryId != null && galleryId > 0)
|
|
||||||
{
|
|
||||||
result = await GetGallery((int)galleryId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<GalleryModel?> AddGallery(GalleryModel model)
|
public async Task<GalleryModel?> AddGallery(GalleryModel model)
|
||||||
{
|
{
|
||||||
GalleryModel? result = null;
|
GalleryModel? result = null;
|
||||||
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
var cmd = CreateCommand($"INSERT INTO `galleries` (`name`, `secret_key`, `owner`) VALUES (@Name, @SecretKey, @Owner); SELECT g.*, COUNT(gi.`id`) AS `total`, SUM(CASE WHEN gi.`state`=@ApprovedState THEN 1 ELSE 0 END) AS `approved`, SUM(CASE WHEN gi.`state`=@PendingState THEN 1 ELSE 0 END) AS `pending`, SUM(gi.file_size) AS `total_gallery_size` FROM `galleries` AS g LEFT JOIN `gallery_items` AS gi ON g.`id` = gi.`gallery_id` WHERE g.`id`=LAST_INSERT_ID();", conn);
|
var cmd = CreateCommand($"INSERT INTO `galleries` (`identifier`, `name`, `secret_key`, `owner`) VALUES (@Identifier, @Name, @SecretKey, @Owner); SELECT g.*, COUNT(gi.`id`) AS `total`, SUM(CASE WHEN gi.`state`=@ApprovedState THEN 1 ELSE 0 END) AS `approved`, SUM(CASE WHEN gi.`state`=@PendingState THEN 1 ELSE 0 END) AS `pending`, SUM(gi.file_size) AS `total_gallery_size` FROM `galleries` AS g LEFT JOIN `gallery_items` AS gi ON g.`id` = gi.`gallery_id` WHERE g.`id`=LAST_INSERT_ID();", conn);
|
||||||
cmd.CommandType = CommandType.Text;
|
cmd.CommandType = CommandType.Text;
|
||||||
|
cmd.Parameters.AddWithValue("Identifier", model.Identifier);
|
||||||
cmd.Parameters.AddWithValue("Name", model.Name.ToLower());
|
cmd.Parameters.AddWithValue("Name", model.Name.ToLower());
|
||||||
cmd.Parameters.AddWithValue("SecretKey", !string.IsNullOrWhiteSpace(model.SecretKey) ? model.SecretKey : DBNull.Value);
|
cmd.Parameters.AddWithValue("SecretKey", !string.IsNullOrWhiteSpace(model.SecretKey) ? model.SecretKey : DBNull.Value);
|
||||||
cmd.Parameters.AddWithValue("ApprovedState", (int)GalleryItemState.Approved);
|
cmd.Parameters.AddWithValue("ApprovedState", (int)GalleryItemState.Approved);
|
||||||
@@ -272,7 +299,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = Settings.Gallery.SecretKey,
|
Id = Settings.Gallery.SecretKey,
|
||||||
Value = model.SecretKey
|
Value = model.SecretKey
|
||||||
}, result.Name);
|
}, result.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -735,7 +762,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Users
|
#region Users
|
||||||
public async Task<bool> InitAdminAccount(UserModel model)
|
public async Task<bool> InitOwnerAccount(UserModel model)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
@@ -918,7 +945,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
if (model.Id > 1 && !string.Equals("Admin", model.Username, StringComparison.OrdinalIgnoreCase))
|
if (model.Id > 1)
|
||||||
{
|
{
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
@@ -1267,7 +1294,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Settings
|
#region Settings
|
||||||
public async Task<IEnumerable<SettingModel>?> GetAllSettings(string? gallery = "")
|
public async Task<IEnumerable<SettingModel>?> GetAllSettings(int? galleryId = null)
|
||||||
{
|
{
|
||||||
List<SettingModel> result = new List<SettingModel>();
|
List<SettingModel> result = new List<SettingModel>();
|
||||||
|
|
||||||
@@ -1284,24 +1311,20 @@ namespace WeddingShare.Helpers.Database
|
|||||||
result = await ReadSettings(reader);
|
result = await ReadSettings(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result != null && !string.IsNullOrWhiteSpace(gallery))
|
if (result != null && galleryId != null)
|
||||||
{
|
{
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
// Get Gallery Overrides
|
||||||
if (galleryId != null)
|
cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
||||||
{
|
cmd.Parameters.AddWithValue("GalleryId", (int)galleryId);
|
||||||
// Get Gallery Overrides
|
cmd.CommandType = CommandType.Text;
|
||||||
cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
|
||||||
cmd.Parameters.AddWithValue("GalleryId", (int)galleryId);
|
|
||||||
cmd.CommandType = CommandType.Text;
|
|
||||||
|
|
||||||
using (var reader = await cmd.ExecuteReaderAsync())
|
using (var reader = await cmd.ExecuteReaderAsync())
|
||||||
|
{
|
||||||
|
var overrides = (await ReadSettings(reader))?.Where(x => !string.IsNullOrWhiteSpace(x.Value));
|
||||||
|
if (overrides != null && overrides.Any())
|
||||||
{
|
{
|
||||||
var overrides = (await ReadSettings(reader))?.Where(x => !string.IsNullOrWhiteSpace(x.Value));
|
result = result.Where(x => !overrides.Any(o => o.Id.Equals(x.Id, StringComparison.OrdinalIgnoreCase))).ToList();
|
||||||
if (overrides != null && overrides.Any())
|
result.AddRange(overrides);
|
||||||
{
|
|
||||||
result = result.Where(x => !overrides.Any(o => o.Id.Equals(x.Id, StringComparison.OrdinalIgnoreCase))).ToList();
|
|
||||||
result.AddRange(overrides);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1312,17 +1335,26 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> GetSetting(string id, string? gallery = "")
|
public async Task<SettingModel?> GetSetting(string id)
|
||||||
|
{
|
||||||
|
return await GetSetting(id, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<SettingModel?> GetSetting(string id, string gallery)
|
||||||
|
{
|
||||||
|
return await GetSetting(id, await this.GetGalleryIdByName(gallery) ?? 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<SettingModel?> GetSetting(string id, int galleryId)
|
||||||
{
|
{
|
||||||
SettingModel? result;
|
SettingModel? result;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
var cmd = CreateCommand($"SELECT `id`, `value` FROM (SELECT `id`, `value`, '2' AS `priority` FROM `settings` WHERE `id`=@Id UNION SELECT `id`, `value`, '1' AS `priority` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId) ORDER BY `priority` ASC LIMIT 1;", conn);
|
var cmd = CreateCommand($"SELECT `id`, `value` FROM (SELECT `id`, `value`, '2' AS `priority` FROM `settings` WHERE `id`=@Id UNION SELECT `id`, `value`, '1' AS `priority` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId) AS sq1 ORDER BY `priority` ASC LIMIT 1;", conn);
|
||||||
|
|
||||||
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId ?? 0);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
cmd.CommandType = CommandType.Text;
|
cmd.CommandType = CommandType.Text;
|
||||||
|
|
||||||
await conn.OpenAsync();
|
await conn.OpenAsync();
|
||||||
@@ -1336,42 +1368,37 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> GetGallerySpecificSetting(string id, string gallery)
|
public async Task<SettingModel?> GetGallerySpecificSetting(string id, int galleryId)
|
||||||
{
|
{
|
||||||
SettingModel? result = null;
|
SettingModel? result = null;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
using (var conn = await GetConnection())
|
||||||
if (galleryId != null)
|
|
||||||
{
|
{
|
||||||
using (var conn = await GetConnection())
|
var cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
||||||
|
|
||||||
|
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
||||||
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
|
||||||
|
await conn.OpenAsync();
|
||||||
|
using (var reader = await cmd.ExecuteReaderAsync())
|
||||||
{
|
{
|
||||||
var cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
result = (await ReadSettings(reader))?.FirstOrDefault();
|
||||||
|
|
||||||
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
|
||||||
cmd.CommandType = CommandType.Text;
|
|
||||||
|
|
||||||
await conn.OpenAsync();
|
|
||||||
using (var reader = await cmd.ExecuteReaderAsync())
|
|
||||||
{
|
|
||||||
result = (await ReadSettings(reader))?.FirstOrDefault();
|
|
||||||
}
|
|
||||||
await conn.CloseAsync();
|
|
||||||
}
|
}
|
||||||
|
await conn.CloseAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> AddSetting(SettingModel model, string? gallery = "")
|
public async Task<SettingModel?> AddSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
SettingModel? result = null;
|
SettingModel? result = null;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
MySqlCommand cmd;
|
MySqlCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"INSERT INTO `gallery_settings` (`id`, `gallery_id`, `value`) VALUES (@Id, @GalleryId, @Value); SELECT * FROM `gallery_settings` WHERE `id`=LAST_INSERT_ID() AND `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"INSERT INTO `gallery_settings` (`id`, `gallery_id`, `value`) VALUES (@Id, @GalleryId, @Value); SELECT * FROM `gallery_settings` WHERE `id`=LAST_INSERT_ID() AND `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1408,15 +1435,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> EditSetting(SettingModel model, string? gallery = "")
|
public async Task<SettingModel?> EditSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
SettingModel? result = null;
|
SettingModel? result = null;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
MySqlCommand cmd;
|
MySqlCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"UPDATE `gallery_settings` SET `value`=@Value WHERE `id`=@Id AND `gallery_id`=@GalleryId; SELECT * FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"UPDATE `gallery_settings` SET `value`=@Value WHERE `id`=@Id AND `gallery_id`=@GalleryId; SELECT * FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1453,23 +1479,23 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> SetSetting(SettingModel model, string? gallery = "")
|
public async Task<SettingModel?> SetSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(model.Id))
|
if (!string.IsNullOrWhiteSpace(model.Id))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
// Gallery Override
|
// Gallery Override
|
||||||
var result = await GetGallerySpecificSetting(model.Id, gallery);
|
var result = await GetGallerySpecificSetting(model.Id, galleryId.Value);
|
||||||
if (result == null && !string.IsNullOrEmpty(model.Value))
|
if (result == null && !string.IsNullOrEmpty(model.Value))
|
||||||
{
|
{
|
||||||
return await AddSetting(new SettingModel()
|
return await AddSetting(new SettingModel()
|
||||||
{
|
{
|
||||||
Id = model.Id.ToUpper(),
|
Id = model.Id.ToUpper(),
|
||||||
Value = model.Value
|
Value = model.Value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
else if (result != null && !string.IsNullOrEmpty(model.Value))
|
else if (result != null && !string.IsNullOrEmpty(model.Value))
|
||||||
{
|
{
|
||||||
@@ -1477,7 +1503,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = model.Id.ToUpper(),
|
Id = model.Id.ToUpper(),
|
||||||
Value = model.Value
|
Value = model.Value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
else if (result != null && string.IsNullOrEmpty(model.Value))
|
else if (result != null && string.IsNullOrEmpty(model.Value))
|
||||||
{
|
{
|
||||||
@@ -1485,7 +1511,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = model.Id.ToUpper(),
|
Id = model.Id.ToUpper(),
|
||||||
Value = model.Value
|
Value = model.Value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1528,15 +1554,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> DeleteSetting(SettingModel model, string? gallery = "")
|
public async Task<bool> DeleteSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
MySqlCommand cmd;
|
MySqlCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1569,15 +1594,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> DeleteAllSettings(string? gallery = "")
|
public async Task<bool> DeleteAllSettings(int? galleryId = null)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
MySqlCommand cmd;
|
MySqlCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1693,21 +1717,18 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var id = !await reader.IsDBNullAsync("id") ? reader.GetInt32("id") : 0;
|
items.Add(new GalleryModel()
|
||||||
if (id > 0)
|
|
||||||
{
|
{
|
||||||
items.Add(new GalleryModel()
|
Id = !await reader.IsDBNullAsync("id") ? reader.GetInt32("id") : 0,
|
||||||
{
|
Identifier = !await reader.IsDBNullAsync("identifier") ? reader.GetString("identifier") : GalleryHelper.GenerateGalleryIdentifier(),
|
||||||
Id = id,
|
Name = !await reader.IsDBNullAsync("name") ? reader.GetString("name") : "Unknown",
|
||||||
Name = !await reader.IsDBNullAsync("name") ? reader.GetString("name") : "Unknown",
|
SecretKey = !await reader.IsDBNullAsync("secret_key") ? reader.GetString("secret_key") : null,
|
||||||
SecretKey = !await reader.IsDBNullAsync("secret_key") ? reader.GetString("secret_key") : null,
|
TotalItems = !await reader.IsDBNullAsync("total") ? reader.GetInt32("total") : 0,
|
||||||
TotalItems = !await reader.IsDBNullAsync("total") ? reader.GetInt32("total") : 0,
|
ApprovedItems = !await reader.IsDBNullAsync("approved") ? reader.GetInt32("approved") : 0,
|
||||||
ApprovedItems = !await reader.IsDBNullAsync("approved") ? reader.GetInt32("approved") : 0,
|
PendingItems = !await reader.IsDBNullAsync("pending") ? reader.GetInt32("pending") : 0,
|
||||||
PendingItems = !await reader.IsDBNullAsync("pending") ? reader.GetInt32("pending") : 0,
|
TotalGallerySize = !await reader.IsDBNullAsync("total_gallery_size") ? reader.GetInt64("total_gallery_size") : 0,
|
||||||
TotalGallerySize = !await reader.IsDBNullAsync("total_gallery_size") ? reader.GetInt64("total_gallery_size") : 0,
|
Owner = !await reader.IsDBNullAsync("owner") ? reader.GetInt32("owner") : 0
|
||||||
Owner = !await reader.IsDBNullAsync("owner") ? reader.GetInt32("owner") : 0
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -1736,7 +1757,6 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
||||||
GalleryName = !await reader.IsDBNullAsync("gallery_name") ? reader.GetString("gallery_name") : string.Empty,
|
|
||||||
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
||||||
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
||||||
UploadedDate = !await reader.IsDBNullAsync("uploaded_date") ? reader.GetDateTime("uploaded_date") : null,
|
UploadedDate = !await reader.IsDBNullAsync("uploaded_date") ? reader.GetDateTime("uploaded_date") : null,
|
||||||
@@ -1776,7 +1796,6 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
||||||
GalleryName = !await reader.IsDBNullAsync("gallery_name") ? reader.GetString("gallery_name") : "default",
|
|
||||||
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
||||||
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
||||||
Checksum = !await reader.IsDBNullAsync("checksum") ? reader.GetString("checksum") : null,
|
Checksum = !await reader.IsDBNullAsync("checksum") ? reader.GetString("checksum") : null,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
using System;
|
using System.Data;
|
||||||
using System.Data;
|
|
||||||
using System.Data.Common;
|
using System.Data.Common;
|
||||||
using Microsoft.Data.Sqlite;
|
using Microsoft.Data.Sqlite;
|
||||||
using WeddingShare.Constants;
|
using WeddingShare.Constants;
|
||||||
using WeddingShare.Enums;
|
using WeddingShare.Enums;
|
||||||
using WeddingShare.Models.Database;
|
using WeddingShare.Models.Database;
|
||||||
using static WeddingShare.Constants.Settings;
|
|
||||||
|
|
||||||
namespace WeddingShare.Helpers.Database
|
namespace WeddingShare.Helpers.Database
|
||||||
{
|
{
|
||||||
@@ -126,14 +124,46 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<int?> GetGalleryId(string? name)
|
public async Task<int?> GetGalleryIdByName(string? name)
|
||||||
{
|
{
|
||||||
|
int? result = null;
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(name))
|
if (!string.IsNullOrWhiteSpace(name))
|
||||||
{
|
{
|
||||||
return (await this.GetGallery(name))?.Id;
|
using (var conn = await GetConnection())
|
||||||
|
{
|
||||||
|
var cmd = CreateCommand($"SELECT g.`id` FROM `galleries` AS g WHERE UPPER(g.`name`)=UPPER(@Name);", conn);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
cmd.Parameters.AddWithValue("Name", name);
|
||||||
|
|
||||||
|
await conn.OpenAsync();
|
||||||
|
result = (int?)(long?)await cmd.ExecuteScalarAsync();
|
||||||
|
await conn.CloseAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<int?> GetGalleryId(string identifier)
|
||||||
|
{
|
||||||
|
int? result = null;
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(identifier))
|
||||||
|
{
|
||||||
|
using (var conn = await GetConnection())
|
||||||
|
{
|
||||||
|
var cmd = CreateCommand($"SELECT g.`id` FROM `galleries` AS g WHERE UPPER(g.`identifier`)=UPPER(@Identifier);", conn);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
cmd.Parameters.AddWithValue("Identifier", identifier);
|
||||||
|
|
||||||
|
await conn.OpenAsync();
|
||||||
|
result = (int?)(long?)await cmd.ExecuteScalarAsync();
|
||||||
|
await conn.CloseAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string?> GetGalleryName(int id)
|
public async Task<string?> GetGalleryName(int id)
|
||||||
@@ -169,12 +199,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
result = new GalleryModel()
|
result = new GalleryModel()
|
||||||
{
|
{
|
||||||
Id = 0,
|
Id = 0,
|
||||||
|
Identifier = "all",
|
||||||
Name = "all",
|
Name = "all",
|
||||||
SecretKey = null,
|
SecretKey = null,
|
||||||
TotalItems = galleries?.Sum(x => x.TotalItems) ?? 0,
|
TotalItems = galleries?.Sum(x => x.TotalItems) ?? 0,
|
||||||
ApprovedItems = galleries?.Sum(x => x.ApprovedItems) ?? 0,
|
ApprovedItems = galleries?.Sum(x => x.ApprovedItems) ?? 0,
|
||||||
PendingItems = galleries?.Sum(x => x.PendingItems) ?? 0,
|
PendingItems = galleries?.Sum(x => x.PendingItems) ?? 0,
|
||||||
TotalGallerySize = galleries?.Sum(x => x.TotalGallerySize) ?? 0
|
TotalGallerySize = galleries?.Sum(x => x.TotalGallerySize) ?? 0,
|
||||||
|
Owner = 1
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -184,37 +216,6 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<GalleryModel?> GetGallery(string name)
|
|
||||||
{
|
|
||||||
GalleryModel? result = null;
|
|
||||||
|
|
||||||
if (string.Equals("All", name, StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
result = await GetGallery(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
long? galleryId = 0;
|
|
||||||
using (var conn = await GetConnection())
|
|
||||||
{
|
|
||||||
var cmd = CreateCommand($"SELECT `id` FROM `galleries` WHERE `name`=@Name;", conn);
|
|
||||||
cmd.CommandType = CommandType.Text;
|
|
||||||
cmd.Parameters.AddWithValue("Name", name?.ToLower());
|
|
||||||
|
|
||||||
await conn.OpenAsync();
|
|
||||||
galleryId = (long?)await cmd.ExecuteScalarAsync();
|
|
||||||
await conn.CloseAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (galleryId != null && galleryId > 0)
|
|
||||||
{
|
|
||||||
result = await GetGallery((int)galleryId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<GalleryModel?> AddGallery(GalleryModel model)
|
public async Task<GalleryModel?> AddGallery(GalleryModel model)
|
||||||
{
|
{
|
||||||
GalleryModel? result = null;
|
GalleryModel? result = null;
|
||||||
@@ -227,8 +228,9 @@ namespace WeddingShare.Helpers.Database
|
|||||||
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
var cmd = CreateCommand($"INSERT INTO `galleries` (`name`, `secret_key`, `owner`) VALUES (@Name, @SecretKey, @Owner); SELECT g.*, COUNT(gi.`id`) AS `total`, SUM(CASE WHEN gi.`state`=@ApprovedState THEN 1 ELSE 0 END) AS `approved`, SUM(CASE WHEN gi.`state`=@PendingState THEN 1 ELSE 0 END) AS `pending`, SUM(gi.file_size) AS `total_gallery_size` FROM `galleries` AS g LEFT JOIN `gallery_items` AS gi ON g.`id` = gi.`gallery_id` WHERE g.`id`=last_insert_rowid();", conn);
|
var cmd = CreateCommand($"INSERT INTO `galleries` (`identifier`, `name`, `secret_key`, `owner`) VALUES (@Identifier, @Name, @SecretKey, @Owner); SELECT g.*, COUNT(gi.`id`) AS `total`, SUM(CASE WHEN gi.`state`=@ApprovedState THEN 1 ELSE 0 END) AS `approved`, SUM(CASE WHEN gi.`state`=@PendingState THEN 1 ELSE 0 END) AS `pending`, SUM(gi.file_size) AS `total_gallery_size` FROM `galleries` AS g LEFT JOIN `gallery_items` AS gi ON g.`id` = gi.`gallery_id` WHERE g.`id`=last_insert_rowid();", conn);
|
||||||
cmd.CommandType = CommandType.Text;
|
cmd.CommandType = CommandType.Text;
|
||||||
|
cmd.Parameters.AddWithValue("Identifier", model.Identifier);
|
||||||
cmd.Parameters.AddWithValue("Name", model.Name.ToLower());
|
cmd.Parameters.AddWithValue("Name", model.Name.ToLower());
|
||||||
cmd.Parameters.AddWithValue("SecretKey", !string.IsNullOrWhiteSpace(model.SecretKey) ? model.SecretKey : DBNull.Value);
|
cmd.Parameters.AddWithValue("SecretKey", !string.IsNullOrWhiteSpace(model.SecretKey) ? model.SecretKey : DBNull.Value);
|
||||||
cmd.Parameters.AddWithValue("ApprovedState", (int)GalleryItemState.Approved);
|
cmd.Parameters.AddWithValue("ApprovedState", (int)GalleryItemState.Approved);
|
||||||
@@ -261,7 +263,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = Settings.Gallery.SecretKey,
|
Id = Settings.Gallery.SecretKey,
|
||||||
Value = model.SecretKey
|
Value = model.SecretKey
|
||||||
}, result.Name);
|
}, result.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -724,7 +726,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Users
|
#region Users
|
||||||
public async Task<bool> InitAdminAccount(UserModel model)
|
public async Task<bool> InitOwnerAccount(UserModel model)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
@@ -907,7 +909,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
if (model.Id > 1 && !string.Equals("Admin", model.Username, StringComparison.OrdinalIgnoreCase))
|
if (model.Id > 1)
|
||||||
{
|
{
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
@@ -1256,7 +1258,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Settings
|
#region Settings
|
||||||
public async Task<IEnumerable<SettingModel>?> GetAllSettings(string? gallery = "")
|
public async Task<IEnumerable<SettingModel>?> GetAllSettings(int? galleryId = null)
|
||||||
{
|
{
|
||||||
List<SettingModel> result = new List<SettingModel>();
|
List<SettingModel> result = new List<SettingModel>();
|
||||||
|
|
||||||
@@ -1273,24 +1275,20 @@ namespace WeddingShare.Helpers.Database
|
|||||||
result = await ReadSettings(reader);
|
result = await ReadSettings(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result != null && !string.IsNullOrWhiteSpace(gallery))
|
if (result != null && galleryId != null)
|
||||||
{
|
{
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
// Get Gallery Overrides
|
||||||
if (galleryId != null)
|
cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
||||||
{
|
cmd.Parameters.AddWithValue("GalleryId", (int)galleryId);
|
||||||
// Get Gallery Overrides
|
cmd.CommandType = CommandType.Text;
|
||||||
cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
|
||||||
cmd.Parameters.AddWithValue("GalleryId", (int)galleryId);
|
|
||||||
cmd.CommandType = CommandType.Text;
|
|
||||||
|
|
||||||
using (var reader = await cmd.ExecuteReaderAsync())
|
using (var reader = await cmd.ExecuteReaderAsync())
|
||||||
|
{
|
||||||
|
var overrides = (await ReadSettings(reader))?.Where(x => !string.IsNullOrWhiteSpace(x.Value));
|
||||||
|
if (overrides != null && overrides.Any())
|
||||||
{
|
{
|
||||||
var overrides = (await ReadSettings(reader))?.Where(x => !string.IsNullOrWhiteSpace(x.Value));
|
result = result.Where(x => !overrides.Any(o => o.Id.Equals(x.Id, StringComparison.OrdinalIgnoreCase))).ToList();
|
||||||
if (overrides != null && overrides.Any())
|
result.AddRange(overrides);
|
||||||
{
|
|
||||||
result = result.Where(x => !overrides.Any(o => o.Id.Equals(x.Id, StringComparison.OrdinalIgnoreCase))).ToList();
|
|
||||||
result.AddRange(overrides);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1301,17 +1299,21 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> GetSetting(string id, string? gallery = "")
|
public async Task<SettingModel?> GetSetting(string id)
|
||||||
|
{
|
||||||
|
return await GetSetting(id, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<SettingModel?> GetSetting(string id, int galleryId)
|
||||||
{
|
{
|
||||||
SettingModel? result;
|
SettingModel? result;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
var cmd = CreateCommand($"SELECT `id`, `value` FROM (SELECT `id`, `value`, '2' AS `priority` FROM `settings` WHERE `id`=@Id UNION SELECT `id`, `value`, '1' AS `priority` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId) ORDER BY `priority` ASC LIMIT 1;", conn);
|
var cmd = CreateCommand($"SELECT `id`, `value` FROM (SELECT `id`, `value`, '2' AS `priority` FROM `settings` WHERE `id`=@Id UNION SELECT `id`, `value`, '1' AS `priority` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId) ORDER BY `priority` ASC LIMIT 1;", conn);
|
||||||
|
|
||||||
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId ?? 0);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
cmd.CommandType = CommandType.Text;
|
cmd.CommandType = CommandType.Text;
|
||||||
|
|
||||||
await conn.OpenAsync();
|
await conn.OpenAsync();
|
||||||
@@ -1325,42 +1327,37 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> GetGallerySpecificSetting(string id, string gallery)
|
public async Task<SettingModel?> GetGallerySpecificSetting(string id, int galleryId)
|
||||||
{
|
{
|
||||||
SettingModel? result = null;
|
SettingModel? result = null;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
using (var conn = await GetConnection())
|
||||||
if (galleryId != null)
|
{
|
||||||
{
|
var cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
||||||
using (var conn = await GetConnection())
|
|
||||||
|
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
||||||
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
|
cmd.CommandType = CommandType.Text;
|
||||||
|
|
||||||
|
await conn.OpenAsync();
|
||||||
|
using (var reader = await cmd.ExecuteReaderAsync())
|
||||||
{
|
{
|
||||||
var cmd = CreateCommand($"SELECT `id`, `value` FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
result = (await ReadSettings(reader))?.FirstOrDefault();
|
||||||
|
|
||||||
cmd.Parameters.AddWithValue("Id", id.ToUpper());
|
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
|
||||||
cmd.CommandType = CommandType.Text;
|
|
||||||
|
|
||||||
await conn.OpenAsync();
|
|
||||||
using (var reader = await cmd.ExecuteReaderAsync())
|
|
||||||
{
|
|
||||||
result = (await ReadSettings(reader))?.FirstOrDefault();
|
|
||||||
}
|
|
||||||
await conn.CloseAsync();
|
|
||||||
}
|
}
|
||||||
|
await conn.CloseAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> AddSetting(SettingModel model, string? gallery = "")
|
public async Task<SettingModel?> AddSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
SettingModel? result = null;
|
SettingModel? result = null;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
SqliteCommand cmd;
|
SqliteCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"INSERT INTO `gallery_settings` (`id`, `gallery_id`, `value`) VALUES (@Id, @GalleryId, @Value); SELECT * FROM `gallery_settings` WHERE `id`=last_insert_rowid() AND `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"INSERT INTO `gallery_settings` (`id`, `gallery_id`, `value`) VALUES (@Id, @GalleryId, @Value); SELECT * FROM `gallery_settings` WHERE `id`=last_insert_rowid() AND `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1396,21 +1393,20 @@ namespace WeddingShare.Helpers.Database
|
|||||||
|
|
||||||
if (result == null)
|
if (result == null)
|
||||||
{
|
{
|
||||||
result = await this.GetSetting(model.Id, gallery);
|
result = galleryId != null ? await this.GetSetting(model.Id, galleryId.Value) : await this.GetSetting(model.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> EditSetting(SettingModel model, string? gallery = "")
|
public async Task<SettingModel?> EditSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
SettingModel? result = null;
|
SettingModel? result = null;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
SqliteCommand cmd;
|
SqliteCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"UPDATE `gallery_settings` SET `value`=@Value WHERE `id`=@Id AND `gallery_id`=@GalleryId; SELECT * FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"UPDATE `gallery_settings` SET `value`=@Value WHERE `id`=@Id AND `gallery_id`=@GalleryId; SELECT * FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1447,23 +1443,23 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> SetSetting(SettingModel model, string? gallery = "")
|
public async Task<SettingModel?> SetSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(model.Id))
|
if (!string.IsNullOrWhiteSpace(model.Id))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
// Gallery Override
|
// Gallery Override
|
||||||
var result = await GetGallerySpecificSetting(model.Id, gallery);
|
var result = await GetGallerySpecificSetting(model.Id, galleryId.Value);
|
||||||
if (result == null && !string.IsNullOrEmpty(model.Value))
|
if (result == null && !string.IsNullOrEmpty(model.Value))
|
||||||
{
|
{
|
||||||
return await AddSetting(new SettingModel()
|
return await AddSetting(new SettingModel()
|
||||||
{
|
{
|
||||||
Id = model.Id.ToUpper(),
|
Id = model.Id.ToUpper(),
|
||||||
Value = model.Value
|
Value = model.Value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
else if (result != null && !string.IsNullOrEmpty(model.Value))
|
else if (result != null && !string.IsNullOrEmpty(model.Value))
|
||||||
{
|
{
|
||||||
@@ -1471,7 +1467,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = model.Id.ToUpper(),
|
Id = model.Id.ToUpper(),
|
||||||
Value = model.Value
|
Value = model.Value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
else if (result != null && string.IsNullOrEmpty(model.Value))
|
else if (result != null && string.IsNullOrEmpty(model.Value))
|
||||||
{
|
{
|
||||||
@@ -1479,7 +1475,7 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = model.Id.ToUpper(),
|
Id = model.Id.ToUpper(),
|
||||||
Value = model.Value
|
Value = model.Value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1522,15 +1518,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> DeleteSetting(SettingModel model, string? gallery = "")
|
public async Task<bool> DeleteSetting(SettingModel model, int? galleryId = null)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
SqliteCommand cmd;
|
SqliteCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `id`=@Id AND `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1563,15 +1558,14 @@ namespace WeddingShare.Helpers.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> DeleteAllSettings(string? gallery = "")
|
public async Task<bool> DeleteAllSettings(int? galleryId = null)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
var galleryId = await this.GetGalleryId(gallery);
|
|
||||||
using (var conn = await GetConnection())
|
using (var conn = await GetConnection())
|
||||||
{
|
{
|
||||||
SqliteCommand cmd;
|
SqliteCommand cmd;
|
||||||
if (!string.IsNullOrWhiteSpace(gallery))
|
if (galleryId != null)
|
||||||
{
|
{
|
||||||
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
cmd = CreateCommand($"DELETE FROM `gallery_settings` WHERE `gallery_id`=@GalleryId;", conn);
|
||||||
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
cmd.Parameters.AddWithValue("GalleryId", galleryId);
|
||||||
@@ -1730,21 +1724,18 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var id = !await reader.IsDBNullAsync("id") ? reader.GetInt32("id") : 0;
|
items.Add(new GalleryModel()
|
||||||
if (id > 0)
|
{
|
||||||
{
|
Id = !await reader.IsDBNullAsync("id") ? reader.GetInt32("id") : 0,
|
||||||
items.Add(new GalleryModel()
|
Identifier = !await reader.IsDBNullAsync("identifier") ? reader.GetString("identifier") : GalleryHelper.GenerateGalleryIdentifier(),
|
||||||
{
|
Name = !await reader.IsDBNullAsync("name") ? reader.GetString("name") : "Unknown",
|
||||||
Id = id,
|
SecretKey = !await reader.IsDBNullAsync("secret_key") ? reader.GetString("secret_key") : null,
|
||||||
Name = !await reader.IsDBNullAsync("name") ? reader.GetString("name") : "Unknown",
|
TotalItems = !await reader.IsDBNullAsync("total") ? reader.GetInt32("total") : 0,
|
||||||
SecretKey = !await reader.IsDBNullAsync("secret_key") ? reader.GetString("secret_key") : null,
|
ApprovedItems = !await reader.IsDBNullAsync("approved") ? reader.GetInt32("approved") : 0,
|
||||||
TotalItems = !await reader.IsDBNullAsync("total") ? reader.GetInt32("total") : 0,
|
PendingItems = !await reader.IsDBNullAsync("pending") ? reader.GetInt32("pending") : 0,
|
||||||
ApprovedItems = !await reader.IsDBNullAsync("approved") ? reader.GetInt32("approved") : 0,
|
TotalGallerySize = !await reader.IsDBNullAsync("total_gallery_size") ? reader.GetInt64("total_gallery_size") : 0,
|
||||||
PendingItems = !await reader.IsDBNullAsync("pending") ? reader.GetInt32("pending") : 0,
|
Owner = !await reader.IsDBNullAsync("owner") ? reader.GetInt32("owner") : 0
|
||||||
TotalGallerySize = !await reader.IsDBNullAsync("total_gallery_size") ? reader.GetInt64("total_gallery_size") : 0,
|
});
|
||||||
Owner = !await reader.IsDBNullAsync("owner") ? reader.GetInt32("owner") : 0
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -1773,7 +1764,6 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
||||||
GalleryName = !await reader.IsDBNullAsync("gallery_name") ? reader.GetString("gallery_name") : string.Empty,
|
|
||||||
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
||||||
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
||||||
UploadedDate = !await reader.IsDBNullAsync("uploaded_date") ? DateTime.UnixEpoch.AddSeconds(reader.GetInt32("uploaded_date")) : null,
|
UploadedDate = !await reader.IsDBNullAsync("uploaded_date") ? DateTime.UnixEpoch.AddSeconds(reader.GetInt32("uploaded_date")) : null,
|
||||||
@@ -1813,7 +1803,6 @@ namespace WeddingShare.Helpers.Database
|
|||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
GalleryId = !await reader.IsDBNullAsync("gallery_id") ? reader.GetInt32("gallery_id") : 0,
|
||||||
GalleryName = !await reader.IsDBNullAsync("gallery_name") ? reader.GetString("gallery_name") : "default",
|
|
||||||
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
Title = !await reader.IsDBNullAsync("title") ? reader.GetString("title") : string.Empty,
|
||||||
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
UploadedBy = !await reader.IsDBNullAsync("uploaded_by") ? reader.GetString("uploaded_by") : null,
|
||||||
Checksum = !await reader.IsDBNullAsync("checksum") ? reader.GetString("checksum") : null,
|
Checksum = !await reader.IsDBNullAsync("checksum") ? reader.GetString("checksum") : null,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using DbUp;
|
using DbUp;
|
||||||
using DbUp.Engine;
|
using DbUp.Engine;
|
||||||
using WeddingShare.Constants;
|
using WeddingShare.Constants;
|
||||||
@@ -30,7 +31,8 @@ namespace WeddingShare.Helpers.Dbup
|
|||||||
dbupResult = new DbupSqliteHelper().Migrate(connString);
|
dbupResult = new DbupSqliteHelper().Migrate(connString);
|
||||||
break;
|
break;
|
||||||
case "mysql":
|
case "mysql":
|
||||||
dbupResult = new DbupMySqlHelper().Migrate(connString);
|
var databaseName = config.GetOrDefault(Settings.Database.DatabaseName, "weddingshare");
|
||||||
|
dbupResult = new DbupMySqlHelper().Migrate(connString, databaseName);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
var error = $"Database type '{dbType}' is not yet supported by this application";
|
var error = $"Database type '{dbType}' is not yet supported by this application";
|
||||||
@@ -50,19 +52,19 @@ namespace WeddingShare.Helpers.Dbup
|
|||||||
}
|
}
|
||||||
|
|
||||||
var isDemoMode = config.GetOrDefault(Settings.IsDemoMode, false);
|
var isDemoMode = config.GetOrDefault(Settings.IsDemoMode, false);
|
||||||
var username = !isDemoMode ? config.GetOrDefault(Settings.Account.Admin.Username, "admin").ToLower() : "demo";
|
var username = !isDemoMode ? config.GetOrDefault(Settings.Account.Admin.Username, config.GetOrDefault(Settings.Account.Owner.Username, "admin")).ToLower() : "demo";
|
||||||
var adminAccount = new UserModel()
|
var ownerAccount = new UserModel()
|
||||||
{
|
{
|
||||||
Username = username,
|
Username = username,
|
||||||
Password = encryption.Encrypt(!isDemoMode ? config.GetOrDefault(Settings.Account.Admin.Password, "admin") : "demo", username)
|
Password = encryption.Encrypt(!isDemoMode ? config.GetOrDefault(Settings.Account.Admin.Password, config.GetOrDefault(Settings.Account.Owner.Password, "admin")) : "demo", username)
|
||||||
};
|
};
|
||||||
await database.InitAdminAccount(adminAccount);
|
await database.InitOwnerAccount(ownerAccount);
|
||||||
|
|
||||||
await new DbupImporter(config, database, loggerFactory.CreateLogger<DbupImporter>()).ImportSettings();
|
await new DbupImporter(config, database, loggerFactory.CreateLogger<DbupImporter>()).ImportSettings();
|
||||||
|
|
||||||
if (config.GetOrDefault(Settings.Account.Admin.LogPassword, false))
|
if (config.GetOrDefault(Settings.Account.Owner.LogPassword, false))
|
||||||
{
|
{
|
||||||
logger.LogInformation($"Password: {adminAccount.Password}");
|
logger.LogInformation($"Password: {ownerAccount.Password}");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.GetOrDefault(Security.MultiFactor.ResetToDefault, false))
|
if (config.GetOrDefault(Security.MultiFactor.ResetToDefault, false))
|
||||||
@@ -103,17 +105,19 @@ namespace WeddingShare.Helpers.Dbup
|
|||||||
|
|
||||||
public class DbupMySqlHelper
|
public class DbupMySqlHelper
|
||||||
{
|
{
|
||||||
public DatabaseUpgradeResult Migrate(string connectionString)
|
public DatabaseUpgradeResult Migrate(string connectionString, string database)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
database = !string.IsNullOrWhiteSpace(database) ? database : Regex.Match(connectionString, "Database\\=(.+?)(;|$)", RegexOptions.IgnoreCase | RegexOptions.Multiline).Groups[1].Value;
|
||||||
|
|
||||||
var dbupBuilder = DeployChanges.To
|
var dbupBuilder = DeployChanges.To
|
||||||
.MySqlDatabase(connectionString)
|
.MySqlDatabase(connectionString)
|
||||||
.WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly())
|
.WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly())
|
||||||
.WithScriptNameComparer(new DbupScriptComparer())
|
.WithScriptNameComparer(new DbupScriptComparer())
|
||||||
.WithFilter(new DbupScriptFilter(DatabaseType.MySQL))
|
.WithFilter(new DbupScriptFilter(DatabaseType.MySQL))
|
||||||
.LogToConsole();
|
.LogToConsole();
|
||||||
dbupBuilder.Configure(c => c.Journal = new DbupMySqlTableJournal(() => c.ConnectionManager, () => c.Log, "weddingshare", "schemaversions"));
|
dbupBuilder.Configure(c => c.Journal = new DbupMySqlTableJournal(() => c.ConnectionManager, () => c.Log, database, "schemaversions"));
|
||||||
|
|
||||||
return dbupBuilder.Build().PerformUpgrade();
|
return dbupBuilder.Build().PerformUpgrade();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace WeddingShare.Helpers.Dbup
|
|||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
var galleries = await database.GetAllGalleries();
|
var galleries = (await database.GetAllGalleries())?.Where(x => !x.Identifier.Equals("All", StringComparison.OrdinalIgnoreCase));
|
||||||
if (galleries != null && galleries.Any())
|
if (galleries != null && galleries.Any())
|
||||||
{
|
{
|
||||||
var galleryKeys = GetKeys<Constants.Settings.Gallery>();
|
var galleryKeys = GetKeys<Constants.Settings.Gallery>();
|
||||||
@@ -51,7 +51,7 @@ namespace WeddingShare.Helpers.Dbup
|
|||||||
{
|
{
|
||||||
Id = key,
|
Id = key,
|
||||||
Value = galleryOverride
|
Value = galleryOverride
|
||||||
}, gallery.Name);
|
}, gallery.Id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace WeddingShare.Helpers
|
namespace WeddingShare.Helpers
|
||||||
{
|
{
|
||||||
@@ -22,6 +23,7 @@ namespace WeddingShare.Helpers
|
|||||||
Task<string> GetChecksum(string path);
|
Task<string> GetChecksum(string path);
|
||||||
Task<DateTime?> GetCreationDatetime(string path);
|
Task<DateTime?> GetCreationDatetime(string path);
|
||||||
string BytesToHumanReadable(long bytes, int decimalPlaces = 0);
|
string BytesToHumanReadable(long bytes, int decimalPlaces = 0);
|
||||||
|
string SanitizeFilename(string filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class FileHelper : IFileHelper
|
public class FileHelper : IFileHelper
|
||||||
@@ -211,5 +213,13 @@ namespace WeddingShare.Helpers
|
|||||||
|
|
||||||
return total.ToString($"{decimalFormat.TrimEnd('.')} {sizes[place]}");
|
return total.ToString($"{decimalFormat.TrimEnd('.')} {sizes[place]}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string SanitizeFilename(string filename)
|
||||||
|
{
|
||||||
|
var invalidChars = Regex.Escape(new string(Path.GetInvalidFileNameChars()));
|
||||||
|
var regex = string.Format(@"([{0}]*\.+$)|([{0}]+)", invalidChars);
|
||||||
|
|
||||||
|
return Regex.Replace(filename, regex, string.Empty, RegexOptions.Compiled);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
10
WeddingShare/Helpers/GalleryHelper.cs
Normal file
10
WeddingShare/Helpers/GalleryHelper.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace WeddingShare.Helpers
|
||||||
|
{
|
||||||
|
public class GalleryHelper
|
||||||
|
{
|
||||||
|
public static string GenerateGalleryIdentifier()
|
||||||
|
{
|
||||||
|
return Guid.NewGuid().ToString().Replace("-", string.Empty).ToLower();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
66
WeddingShare/Helpers/HtmlSanitizer.cs
Normal file
66
WeddingShare/Helpers/HtmlSanitizer.cs
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Web;
|
||||||
|
|
||||||
|
namespace WeddingShare.Helpers
|
||||||
|
{
|
||||||
|
public class HtmlSanitizer
|
||||||
|
{
|
||||||
|
public static string Sanitize(string input)
|
||||||
|
{
|
||||||
|
var output = input;
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(output))
|
||||||
|
{
|
||||||
|
output = SanitizeHtmlTags(input, new[] { ".*" });
|
||||||
|
output = SanitizeHtmlAttributes(output, new[] { ".*" });
|
||||||
|
|
||||||
|
output = SanitizeLinks(output);
|
||||||
|
|
||||||
|
output = HttpUtility.HtmlEncode(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SanitizeHtmlTags(string input, string[] tags)
|
||||||
|
{
|
||||||
|
var output = input;
|
||||||
|
|
||||||
|
foreach (var tag in tags)
|
||||||
|
{
|
||||||
|
output = new Regex($"<\\/?\\s*{tag}\\s*[^>]*>", RegexOptions.IgnoreCase).Replace(output, string.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SanitizeHtmlAttributes(string input, string[] attrs)
|
||||||
|
{
|
||||||
|
var output = input;
|
||||||
|
|
||||||
|
foreach (var attr in attrs)
|
||||||
|
{
|
||||||
|
output = new Regex($"{attr}\\s*=\\s*['\"].*?['\"]", RegexOptions.IgnoreCase).Replace(output, string.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SanitizeLinks(string input)
|
||||||
|
{
|
||||||
|
var output = input;
|
||||||
|
|
||||||
|
output = new Regex(@"href\s*=\s*['""]javascript:[^'""]*['""]", RegexOptions.IgnoreCase).Replace(output, string.Empty);
|
||||||
|
output = new Regex(@"(http|https):\/\/[^\s<>]+", RegexOptions.IgnoreCase).Replace(output, string.Empty);
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool MayContainXss(string input)
|
||||||
|
{
|
||||||
|
var sanitized = Sanitize(input);
|
||||||
|
|
||||||
|
return !string.Equals(input, sanitized);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,8 @@ namespace WeddingShare.Helpers
|
|||||||
{
|
{
|
||||||
public List<CultureInfo> DetectSupportedCultures();
|
public List<CultureInfo> DetectSupportedCultures();
|
||||||
public Task<List<CultureInfo>> DetectSupportedCulturesAsync();
|
public Task<List<CultureInfo>> DetectSupportedCulturesAsync();
|
||||||
|
public Task<bool> IsCultureSupported(string culture);
|
||||||
|
public Task<string> GetOrFallbackCulture(string culture, string fallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LanguageHelper : ILanguageHelper
|
public class LanguageHelper : ILanguageHelper
|
||||||
@@ -19,7 +21,7 @@ namespace WeddingShare.Helpers
|
|||||||
var resourceFiles = Directory.GetFiles(Path.Combine("Resources", "Lang"), "*.resx");
|
var resourceFiles = Directory.GetFiles(Path.Combine("Resources", "Lang"), "*.resx");
|
||||||
var detectedCultures = resourceFiles
|
var detectedCultures = resourceFiles
|
||||||
.Select(x => Path.GetFileNameWithoutExtension(x))
|
.Select(x => Path.GetFileNameWithoutExtension(x))
|
||||||
.Where(x => x.Contains("."))
|
.Where(x => x.Contains(".") && x.Contains("-"))
|
||||||
.Select(x => x.Split('.').LastOrDefault());
|
.Select(x => x.Split('.').LastOrDefault());
|
||||||
|
|
||||||
foreach (var detectedCulture in detectedCultures)
|
foreach (var detectedCulture in detectedCultures)
|
||||||
@@ -46,5 +48,56 @@ namespace WeddingShare.Helpers
|
|||||||
{
|
{
|
||||||
return Task.Run(DetectSupportedCultures);
|
return Task.Run(DetectSupportedCultures);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<bool> IsCultureSupported(string culture)
|
||||||
|
{
|
||||||
|
return this.IsCultureSupported(culture, await DetectSupportedCulturesAsync());
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsCultureSupported(string culture, List<CultureInfo> supported)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrWhiteSpace(culture) && supported.Any(x => string.Equals(x.Name, culture, StringComparison.OrdinalIgnoreCase)))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> GetOrFallbackCulture(string culture, string fallback)
|
||||||
|
{
|
||||||
|
return this.GetOrFallbackCulture(culture, fallback, await DetectSupportedCulturesAsync());
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetOrFallbackCulture(string culture, string fallback, List<CultureInfo> supported)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrWhiteSpace(culture))
|
||||||
|
{
|
||||||
|
var match = supported.FirstOrDefault(x => string.Equals(x.Name, culture, StringComparison.OrdinalIgnoreCase));
|
||||||
|
if (match != null)
|
||||||
|
{
|
||||||
|
return match.Name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(fallback))
|
||||||
|
{
|
||||||
|
var match = supported.FirstOrDefault(x => string.Equals(x.Name, fallback, StringComparison.OrdinalIgnoreCase));
|
||||||
|
if (match != null)
|
||||||
|
{
|
||||||
|
return match.Name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
|
return "en-GB";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,8 +25,7 @@ namespace WeddingShare.Helpers.Notifications
|
|||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(await _settings.GetOrDefault(Constants.Notifications.Ntfy.Token, string.Empty)))
|
if (string.IsNullOrWhiteSpace(await _settings.GetOrDefault(Constants.Notifications.Ntfy.Token, string.Empty)))
|
||||||
{
|
{
|
||||||
_logger.LogWarning($"Invalid Ntfy token specified");
|
_logger.LogWarning($"No Ntfy token specified. It is recommended that you secure your topic with a token");
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await _settings.GetOrDefault(Constants.Notifications.Ntfy.Enabled, false))
|
if (await _settings.GetOrDefault(Constants.Notifications.Ntfy.Enabled, false))
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ namespace WeddingShare.Helpers
|
|||||||
{
|
{
|
||||||
public interface ISettingsHelper
|
public interface ISettingsHelper
|
||||||
{
|
{
|
||||||
Task<SettingModel?> Get(string key, string? gallery = "");
|
Task<SettingModel?> Get(string key, int? galleryId = null);
|
||||||
Task<string> GetOrDefault(string key, string defaultValue, string? gallery = "");
|
Task<string> GetOrDefault(string key, string defaultValue, int? galleryId = null);
|
||||||
Task<int> GetOrDefault(string key, int defaultValue, string? gallery = "");
|
Task<int> GetOrDefault(string key, int defaultValue, int? galleryId = null);
|
||||||
Task<long> GetOrDefault(string key, long defaultValue, string? gallery = "");
|
Task<long> GetOrDefault(string key, long defaultValue, int? galleryId = null);
|
||||||
Task<decimal> GetOrDefault(string key, decimal defaultValue, string? gallery = "");
|
Task<decimal> GetOrDefault(string key, decimal defaultValue, int? galleryId = null);
|
||||||
Task<double> GetOrDefault(string key, double defaultValue, string? gallery = "");
|
Task<double> GetOrDefault(string key, double defaultValue, int? galleryId = null);
|
||||||
Task<bool> GetOrDefault(string key, bool defaultValue, string? gallery = "");
|
Task<bool> GetOrDefault(string key, bool defaultValue, int? galleryId = null);
|
||||||
Task<DateTime?> GetOrDefault(string key, DateTime? defaultValue, string? gallery = "");
|
Task<DateTime?> GetOrDefault(string key, DateTime? defaultValue, int? galleryId = null);
|
||||||
Task<SettingModel?> SetSetting(string key, string value, string? gallery = "");
|
Task<SettingModel?> SetSetting(string key, string value, int? galleryId = null);
|
||||||
Task<bool> DeleteSetting(string key, string? gallery = "");
|
Task<bool> DeleteSetting(string key, int? galleryId = null);
|
||||||
Task<string> GetReleaseVersion(int places = 3);
|
Task<string> GetReleaseVersion(int places = 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,13 +33,13 @@ namespace WeddingShare.Helpers
|
|||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> Get(string key, string? gallery = "")
|
public async Task<SettingModel?> Get(string key, int? galleryId = null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(key))
|
if (!string.IsNullOrWhiteSpace(key))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var dbValue = await _databaseHelper.GetSetting(key, gallery);
|
var dbValue = galleryId != null ? await _databaseHelper.GetSetting(key, galleryId.Value) : await _databaseHelper.GetSetting(key);
|
||||||
if (dbValue != null)
|
if (dbValue != null)
|
||||||
{
|
{
|
||||||
return dbValue;
|
return dbValue;
|
||||||
@@ -64,11 +64,11 @@ namespace WeddingShare.Helpers
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> GetOrDefault(string key, string defaultValue, string? gallery = "")
|
public async Task<string> GetOrDefault(string key, string defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = (await this.Get(key, gallery))?.Value;
|
var value = (await this.Get(key, galleryId))?.Value;
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return value;
|
return value;
|
||||||
@@ -79,11 +79,11 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<int> GetOrDefault(string key, int defaultValue, string? gallery = "")
|
public async Task<int> GetOrDefault(string key, int defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = await this.GetOrDefault(key, string.Empty, gallery);
|
var value = await this.GetOrDefault(key, string.Empty, galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return Convert.ToInt32(value);
|
return Convert.ToInt32(value);
|
||||||
@@ -94,11 +94,11 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<long> GetOrDefault(string key, long defaultValue, string? gallery = "")
|
public async Task<long> GetOrDefault(string key, long defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = await this.GetOrDefault(key, string.Empty, gallery);
|
var value = await this.GetOrDefault(key, string.Empty, galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return Convert.ToInt64(value);
|
return Convert.ToInt64(value);
|
||||||
@@ -109,11 +109,11 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<decimal> GetOrDefault(string key, decimal defaultValue, string? gallery = "")
|
public async Task<decimal> GetOrDefault(string key, decimal defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = await this.GetOrDefault(key, string.Empty, gallery);
|
var value = await this.GetOrDefault(key, string.Empty, galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return Convert.ToDecimal(value);
|
return Convert.ToDecimal(value);
|
||||||
@@ -124,11 +124,11 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<double> GetOrDefault(string key, double defaultValue, string? gallery = "")
|
public async Task<double> GetOrDefault(string key, double defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = await this.GetOrDefault(key, string.Empty, gallery);
|
var value = await this.GetOrDefault(key, string.Empty, galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return Convert.ToDouble(value);
|
return Convert.ToDouble(value);
|
||||||
@@ -139,11 +139,11 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> GetOrDefault(string key, bool defaultValue, string? gallery = "")
|
public async Task<bool> GetOrDefault(string key, bool defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = await this.GetOrDefault(key, string.Empty, gallery);
|
var value = await this.GetOrDefault(key, string.Empty, galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return Convert.ToBoolean(value);
|
return Convert.ToBoolean(value);
|
||||||
@@ -154,11 +154,11 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DateTime?> GetOrDefault(string key, DateTime? defaultValue, string? gallery = "")
|
public async Task<DateTime?> GetOrDefault(string key, DateTime? defaultValue, int? galleryId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var value = await this.GetOrDefault(key, string.Empty, gallery);
|
var value = await this.GetOrDefault(key, string.Empty, galleryId);
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
return Convert.ToDateTime(value);
|
return Convert.ToDateTime(value);
|
||||||
@@ -169,7 +169,7 @@ namespace WeddingShare.Helpers
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SettingModel?> SetSetting(string key, string value, string? gallery = "")
|
public async Task<SettingModel?> SetSetting(string key, string value, int? galleryId = null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(key))
|
if (!string.IsNullOrWhiteSpace(key))
|
||||||
{
|
{
|
||||||
@@ -177,28 +177,28 @@ namespace WeddingShare.Helpers
|
|||||||
{
|
{
|
||||||
Id = key,
|
Id = key,
|
||||||
Value = value
|
Value = value
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> DeleteSetting(string key, string? gallery = "")
|
public async Task<bool> DeleteSetting(string key, int? galleryId = null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(key))
|
if (!string.IsNullOrWhiteSpace(key))
|
||||||
{
|
{
|
||||||
return await _databaseHelper.DeleteSetting(new SettingModel()
|
return await _databaseHelper.DeleteSetting(new SettingModel()
|
||||||
{
|
{
|
||||||
Id = key.ToUpper()
|
Id = key.ToUpper()
|
||||||
}, gallery);
|
}, galleryId);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> DeleteAllSettings(string? gallery = "")
|
public async Task<bool> DeleteAllSettings(int? galleryId = null)
|
||||||
{
|
{
|
||||||
return await _databaseHelper.DeleteAllSettings(gallery);
|
return await _databaseHelper.DeleteAllSettings(galleryId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> GetReleaseVersion(int places = 3)
|
public async Task<string> GetReleaseVersion(int places = 3)
|
||||||
|
|||||||
@@ -5,15 +5,14 @@ namespace WeddingShare.Models.Database
|
|||||||
public class GalleryItemModel
|
public class GalleryItemModel
|
||||||
{
|
{
|
||||||
public GalleryItemModel()
|
public GalleryItemModel()
|
||||||
: this(0, 0, string.Empty, string.Empty, null, null, null, MediaType.Unknown, ImageOrientation.None, GalleryItemState.Pending, 0)
|
: this(0, 0, string.Empty, null, null, null, MediaType.Unknown, ImageOrientation.None, GalleryItemState.Pending, 0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public GalleryItemModel(int id, int galleryId, string galleryName, string title, string? uploadedBy, DateTime? uploadedDate, string? checksum, MediaType mediaType, ImageOrientation orientation, GalleryItemState state, long file_size)
|
public GalleryItemModel(int id, int galleryId, string title, string? uploadedBy, DateTime? uploadedDate, string? checksum, MediaType mediaType, ImageOrientation orientation, GalleryItemState state, long file_size)
|
||||||
{
|
{
|
||||||
Id = id;
|
Id = id;
|
||||||
GalleryId = galleryId;
|
GalleryId = galleryId;
|
||||||
GalleryName = galleryName;
|
|
||||||
Title = title;
|
Title = title;
|
||||||
UploadedBy = uploadedBy;
|
UploadedBy = uploadedBy;
|
||||||
UploadedDate = uploadedDate;
|
UploadedDate = uploadedDate;
|
||||||
@@ -26,7 +25,6 @@ namespace WeddingShare.Models.Database
|
|||||||
|
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public int GalleryId { get; set; }
|
public int GalleryId { get; set; }
|
||||||
public string GalleryName { get; set; }
|
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
public string? UploadedBy { get; set; }
|
public string? UploadedBy { get; set; }
|
||||||
public DateTime? UploadedDate { get; set; }
|
public DateTime? UploadedDate { get; set; }
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
namespace WeddingShare.Models.Database
|
using WeddingShare.Helpers;
|
||||||
|
|
||||||
|
namespace WeddingShare.Models.Database
|
||||||
{
|
{
|
||||||
public class GalleryModel
|
public class GalleryModel
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Identifier { get; set; } = GalleryHelper.GenerateGalleryIdentifier();
|
||||||
|
public string Name { get; set; } = "Unknown";
|
||||||
public string? SecretKey { get; set; }
|
public string? SecretKey { get; set; }
|
||||||
public int TotalItems { get; set; }
|
public int TotalItems { get; set; }
|
||||||
public int ApprovedItems { get; set; }
|
public int ApprovedItems { get; set; }
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
public bool Database { get; set; } = true;
|
public bool Database { get; set; } = true;
|
||||||
public bool Uploads { get; set; } = true;
|
public bool Uploads { get; set; } = true;
|
||||||
public bool Thumbnails { get; set; } = true;
|
public bool Thumbnails { get; set; } = true;
|
||||||
public bool Logos { get; set; } = true;
|
|
||||||
public bool Banners { get; set; } = true;
|
|
||||||
public bool CustomResources { get; set; } = true;
|
public bool CustomResources { get; set; } = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
namespace WeddingShare.Models
|
|
||||||
{
|
|
||||||
public class FileUploader
|
|
||||||
{
|
|
||||||
public FileUploader(string id, string? key, string url, bool identityRequired = false)
|
|
||||||
{
|
|
||||||
this.GalleryId = id;
|
|
||||||
this.SecretKey = key;
|
|
||||||
this.UploadUrl = url;
|
|
||||||
this.IdentityRequired = identityRequired;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string? GalleryId { get; set; }
|
|
||||||
public string? SecretKey { get; set; }
|
|
||||||
public string? UploadUrl { get; set; }
|
|
||||||
public bool IdentityRequired { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using WeddingShare.Enums;
|
using WeddingShare.Enums;
|
||||||
|
using WeddingShare.Models.Database;
|
||||||
|
|
||||||
namespace WeddingShare.Models
|
namespace WeddingShare.Models
|
||||||
{
|
{
|
||||||
@@ -10,24 +11,24 @@ namespace WeddingShare.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PhotoGallery(ViewMode viewMode, GalleryGroup groupBy, GalleryOrder orderBy)
|
public PhotoGallery(ViewMode viewMode, GalleryGroup groupBy, GalleryOrder orderBy)
|
||||||
: this(1, "default", string.Empty, viewMode, groupBy, orderBy, new List<PhotoGalleryImage>(), false)
|
: this(null, string.Empty, viewMode, groupBy, orderBy, new List<PhotoGalleryImage>(), false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public PhotoGallery(int id, string name, string secretKey, ViewMode viewMode, GalleryGroup groupBy, GalleryOrder orderBy, List<PhotoGalleryImage> images, bool requireIdentity)
|
public PhotoGallery(GalleryModel? gallery, string secretKey, ViewMode viewMode, GalleryGroup groupBy, GalleryOrder orderBy, List<PhotoGalleryImage> images, bool uploadActivated)
|
||||||
{
|
{
|
||||||
this.GalleryId = id;
|
this.Gallery = gallery;
|
||||||
this.GalleryName = name;
|
this.SecretKey = secretKey;
|
||||||
this.ViewMode = viewMode;
|
this.ViewMode = viewMode;
|
||||||
this.GroupBy = groupBy;
|
this.GroupBy = groupBy;
|
||||||
this.OrderBy = orderBy;
|
this.OrderBy = orderBy;
|
||||||
this.PendingCount = 0;
|
this.PendingCount = 0;
|
||||||
this.Images = images;
|
this.Images = images;
|
||||||
this.FileUploader = new FileUploader(name, secretKey, "/Gallery/UploadImage", requireIdentity);
|
this.UploadActivated = uploadActivated;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int? GalleryId { get; set; }
|
public GalleryModel? Gallery { get; set; }
|
||||||
public string? GalleryName { get; set; }
|
public string? SecretKey { get; set; }
|
||||||
public ViewMode ViewMode { get; set; }
|
public ViewMode ViewMode { get; set; }
|
||||||
public GalleryGroup GroupBy { get; set; }
|
public GalleryGroup GroupBy { get; set; }
|
||||||
public GalleryOrder OrderBy { get; set; }
|
public GalleryOrder OrderBy { get; set; }
|
||||||
@@ -45,7 +46,7 @@ namespace WeddingShare.Models
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
public List<PhotoGalleryImage>? Images { get; set; }
|
public List<PhotoGalleryImage>? Images { get; set; }
|
||||||
public FileUploader? FileUploader { get; set; }
|
public bool UploadActivated { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PhotoGalleryImage
|
public class PhotoGalleryImage
|
||||||
@@ -62,6 +63,7 @@ namespace WeddingShare.Models
|
|||||||
public DateTime? UploadDate { get; set; }
|
public DateTime? UploadDate { get; set; }
|
||||||
public string? ImagePath { get; set; }
|
public string? ImagePath { get; set; }
|
||||||
public string? ThumbnailPath { get; set; }
|
public string? ThumbnailPath { get; set; }
|
||||||
|
public string? ThumbnailPathFallback { get; set; }
|
||||||
public MediaType MediaType { get; set; }
|
public MediaType MediaType { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>جالري</value>
|
<value>جالري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>قبول</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>الإجراء</value>
|
<value>الإجراء</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
<value>رفض الشعب جميع الاستعراضات المعلقة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>قام زائر بالموافقة على استخدام الكعك</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>معرض مبتكر</value>
|
<value>معرض مبتكر</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
<value>يرجى الاتصال بمدير الموقع لتوفير إمكانية الوصول</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>فشل في تسجيل رسالة مراجعة حسابات لموافقة الكعك</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>من خلال استخدام هذا الموقع، توافق على استخدامنا للكوكيز الأساسي وفقا لشروط استخدام الكعك. لمعرفة المزيد من الرجاء مشاهدة</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>الإبداع</value>
|
<value>الإبداع</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
<value>هل أنت متأكد أنك تريد حذف هذا المعرض؟?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>هذه نسخة تجريبية وتُمسح جميع التشكيلات بصورة دورية لضمان وضع قائمة نظيفة للمختبرين في المستقبل.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>الإجراءات المدمرة</value>
|
<value>الإجراءات المدمرة</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>من فضلك أدخل المفتاح السري.</value>
|
<value>من فضلك أدخل المفتاح السري.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>يوم الزفاف</value>
|
<value>مفتاح سري هنا</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
<value>تم الوصول إلى الحد الأقصى المسموح به من المغالي</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>من فضلك أدخل اسم المستخدم.</value>
|
<value>من فضلك أدخل اسم المستخدم.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>المستعمل</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>العنوان</value>
|
<value>العنوان</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>محتوى عرضه على صفحة معلومات شرطة كوكي</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>سياسة كوكي العرفية</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>السياسات العرفية</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>فشل في الحصول على الظروف</value>
|
<value>فشل في الحصول على الظروف</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>المفتاح السري</value>
|
<value>المفتاح السري</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب أن يكون المستعمل قادراً على التصفية و وسائل الإعلام؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>مصورون</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>هل يسمح للضيوف بتحميل المواد</value>
|
<value>هل يسمح للضيوف بتحميل المواد</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>الموضوع</value>
|
<value>الموضوع</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>هل يجب على المستعمل أن يرى نمط الناتج المحلي الإجمالي؟?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>زيارة</value>
|
<value>زيارة</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>تحذير</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Proqram</value>
|
<value>Proqram</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bütün gözəl baxışlar</value>
|
<value>Bütün gözəl baxışlar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Bir ziyaretçi cookies istifadə etdi</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Yaradılıb</value>
|
<value>Yaradılıb</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>E-poçt ünvanı</value>
|
<value>E-poçt ünvanı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Cookie təsdiq üçün bir audit mesajının qeydiyyatı</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Bu saytdan istifadə etmək üçün əsas cookies istifadə etməyinizə razılaşırsınız. Daha çox tapmaq</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Yapon</value>
|
<value>Yapon</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Bu gallery silmək istəyirsiniz?</value>
|
<value>Bu gallery silmək istəyirsiniz?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Bu demo versiyasıdır. Bütün konfiqurasiya müxtəlif mühasibatçıları üçün təmiz bir slate təmin edir.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Daxil olmaq</value>
|
<value>Daxil olmaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Daxil əsas daxil edin.</value>
|
<value>Daxil əsas daxil edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>qoca</value>
|
<value>Burada gizli əsas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Qeydiyyatdan istifadə edin.</value>
|
<value>Qeydiyyatdan istifadə edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Qeydiyyat</value>
|
<value>Ad Soyad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Daxil ol</value>
|
<value>Daxil ol</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Ümumi</value>
|
<value>Ümumi</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>CookiePolicy info səhifənin göstərilməsi üçün məlumat</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Xüsusi Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Xüsusi Siyasətlər</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Sığorta almaq</value>
|
<value>Sığorta almaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Gizli Keyf</value>
|
<value>Gizli Keyf</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi filtr və qrup media edə bilər?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filologiya</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Qeydiyyatdan keçmək lazımdır</value>
|
<value>Qeydiyyatdan keçmək lazımdır</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tarix</value>
|
<value>Tarix</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi GDPR stil popups görmək lazımdır?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value> Slide</value>
|
<value> Slide</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Proqram</value>
|
<value>Proqram</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bütün gözəl baxışlar</value>
|
<value>Bütün gözəl baxışlar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Bir ziyaretçi cookies istifadə etdi</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Yaradılıb</value>
|
<value>Yaradılıb</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>E-poçt ünvanı</value>
|
<value>E-poçt ünvanı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Cookie təsdiq üçün bir audit mesajının qeydiyyatı</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Bu saytdan istifadə etmək üçün əsas cookies istifadə etməyinizə razılaşırsınız. Daha çox tapmaq</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Yapon</value>
|
<value>Yapon</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Bu gallery silmək istəyirsiniz?</value>
|
<value>Bu gallery silmək istəyirsiniz?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Bu demo versiyasıdır. Bütün konfiqurasiya müxtəlif mühasibatçıları üçün təmiz bir slate təmin edir.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Daxil olmaq</value>
|
<value>Daxil olmaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Daxil əsas daxil edin.</value>
|
<value>Daxil əsas daxil edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>qoca</value>
|
<value>Burada gizli əsas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Qeydiyyatdan istifadə edin.</value>
|
<value>Qeydiyyatdan istifadə edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Qeydiyyat</value>
|
<value>Ad Soyad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Daxil ol</value>
|
<value>Daxil ol</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Ümumi</value>
|
<value>Ümumi</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>CookiePolicy info səhifənin göstərilməsi üçün məlumat</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Xüsusi Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Xüsusi Siyasətlər</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Sığorta almaq</value>
|
<value>Sığorta almaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Gizli Keyf</value>
|
<value>Gizli Keyf</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi filtr və qrup media edə bilər?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filologiya</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Qeydiyyatdan keçmək lazımdır</value>
|
<value>Qeydiyyatdan keçmək lazımdır</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tarix</value>
|
<value>Tarix</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi GDPR stil popups görmək lazımdır?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value> Slide</value>
|
<value> Slide</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Proqram</value>
|
<value>Proqram</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bütün gözəl baxışlar</value>
|
<value>Bütün gözəl baxışlar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Bir ziyaretçi cookies istifadə etdi</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Yaradılıb</value>
|
<value>Yaradılıb</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>E-poçt ünvanı</value>
|
<value>E-poçt ünvanı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Cookie təsdiq üçün bir audit mesajının qeydiyyatı</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Bu saytdan istifadə etmək üçün əsas cookies istifadə etməyinizə razılaşırsınız. Daha çox tapmaq</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Yapon</value>
|
<value>Yapon</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Bu gallery silmək istəyirsiniz?</value>
|
<value>Bu gallery silmək istəyirsiniz?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Bu demo versiyasıdır. Bütün konfiqurasiya müxtəlif mühasibatçıları üçün təmiz bir slate təmin edir.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Daxil olmaq</value>
|
<value>Daxil olmaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Daxil əsas daxil edin.</value>
|
<value>Daxil əsas daxil edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>qoca</value>
|
<value>Burada gizli əsas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Qeydiyyatdan istifadə edin.</value>
|
<value>Qeydiyyatdan istifadə edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Qeydiyyat</value>
|
<value>Ad Soyad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Daxil ol</value>
|
<value>Daxil ol</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Ümumi</value>
|
<value>Ümumi</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>CookiePolicy info səhifənin göstərilməsi üçün məlumat</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Xüsusi Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Xüsusi Siyasətlər</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Sığorta almaq</value>
|
<value>Sığorta almaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Gizli Keyf</value>
|
<value>Gizli Keyf</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi filtr və qrup media edə bilər?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filologiya</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Qeydiyyatdan keçmək lazımdır</value>
|
<value>Qeydiyyatdan keçmək lazımdır</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tarix</value>
|
<value>Tarix</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi GDPR stil popups görmək lazımdır?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value> Slide</value>
|
<value> Slide</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Proqram</value>
|
<value>Proqram</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bütün gözəl baxışlar</value>
|
<value>Bütün gözəl baxışlar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Bir ziyaretçi cookies istifadə etdi</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Yaradılıb</value>
|
<value>Yaradılıb</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>E-poçt ünvanı</value>
|
<value>E-poçt ünvanı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Cookie təsdiq üçün bir audit mesajının qeydiyyatı</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Bu saytdan istifadə etmək üçün əsas cookies istifadə etməyinizə razılaşırsınız. Daha çox tapmaq</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Yapon</value>
|
<value>Yapon</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Bu gallery silmək istəyirsiniz?</value>
|
<value>Bu gallery silmək istəyirsiniz?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Bu demo versiyasıdır. Bütün konfiqurasiya müxtəlif mühasibatçıları üçün təmiz bir slate təmin edir.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Daxil olmaq</value>
|
<value>Daxil olmaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Daxil əsas daxil edin.</value>
|
<value>Daxil əsas daxil edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>qoca</value>
|
<value>Burada gizli əsas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Qeydiyyatdan istifadə edin.</value>
|
<value>Qeydiyyatdan istifadə edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Qeydiyyat</value>
|
<value>Ad Soyad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Daxil ol</value>
|
<value>Daxil ol</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Ümumi</value>
|
<value>Ümumi</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>CookiePolicy info səhifənin göstərilməsi üçün məlumat</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Xüsusi Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Xüsusi Siyasətlər</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Sığorta almaq</value>
|
<value>Sığorta almaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Gizli Keyf</value>
|
<value>Gizli Keyf</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi filtr və qrup media edə bilər?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filologiya</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Qeydiyyatdan keçmək lazımdır</value>
|
<value>Qeydiyyatdan keçmək lazımdır</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tarix</value>
|
<value>Tarix</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi GDPR stil popups görmək lazımdır?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value> Slide</value>
|
<value> Slide</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Proqram</value>
|
<value>Proqram</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bütün gözəl baxışlar</value>
|
<value>Bütün gözəl baxışlar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Bir ziyaretçi cookies istifadə etdi</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Yaradılıb</value>
|
<value>Yaradılıb</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>E-poçt ünvanı</value>
|
<value>E-poçt ünvanı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Cookie təsdiq üçün bir audit mesajının qeydiyyatı</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Bu saytdan istifadə etmək üçün əsas cookies istifadə etməyinizə razılaşırsınız. Daha çox tapmaq</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Yapon</value>
|
<value>Yapon</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Bu gallery silmək istəyirsiniz?</value>
|
<value>Bu gallery silmək istəyirsiniz?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Bu demo versiyasıdır. Bütün konfiqurasiya müxtəlif mühasibatçıları üçün təmiz bir slate təmin edir.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Daxil olmaq</value>
|
<value>Daxil olmaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Daxil əsas daxil edin.</value>
|
<value>Daxil əsas daxil edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>qoca</value>
|
<value>Burada gizli əsas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
<value>Sərgilərin maksimum xidmət nömrələrinə çatdı</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Qeydiyyatdan istifadə edin.</value>
|
<value>Qeydiyyatdan istifadə edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Qeydiyyat</value>
|
<value>Ad Soyad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Daxil ol</value>
|
<value>Daxil ol</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Ümumi</value>
|
<value>Ümumi</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>CookiePolicy info səhifənin göstərilməsi üçün məlumat</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Xüsusi Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Xüsusi Siyasətlər</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Sığorta almaq</value>
|
<value>Sığorta almaq</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Gizli Keyf</value>
|
<value>Gizli Keyf</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi filtr və qrup media edə bilər?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filologiya</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Qeydiyyatdan keçmək lazımdır</value>
|
<value>Qeydiyyatdan keçmək lazımdır</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tarix</value>
|
<value>Tarix</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Istifadəçi GDPR stil popups görmək lazımdır?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value> Slide</value>
|
<value> Slide</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Qeydiyyat</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Bakı</value>
|
<value>Bakı</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Невалидна галерия</value>
|
<value>Невалидна галерия</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Приемане</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Действие</value>
|
<value>Действие</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk отхвърли всички висящи прегледи</value>
|
<value>Bulk отхвърли всички висящи прегледи</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Посетител е одобрил използването на бисквитки</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Създадена галерия</value>
|
<value>Създадена галерия</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Моля, свържете се с администратор на сайта, за да предоставите достъп</value>
|
<value>Моля, свържете се с администратор на сайта, за да предоставите достъп</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Грешка при запис на одитно съобщение за одобрение на бисквитки</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Политика за бисквитки</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>С използването на този уебсайт Вие се съгласявате с използването на основните бисквитки в съответствие с нашите условия за използване на бисквитки. За да разберете повече, моля вижте нашия</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Създаване</value>
|
<value>Създаване</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Сигурен ли си, че искаш да изтриеш галерията?</value>
|
<value>Сигурен ли си, че искаш да изтриеш галерията?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Това е демо версия. Цялата конфигурация периодично се изтрива, за да се осигури ново начало за бъдещите тестери.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Извършване на разрушително действие</value>
|
<value>Извършване на разрушително действие</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Моля, въведете тайния ключ.</value>
|
<value>Моля, въведете тайния ключ.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>сватбен ден</value>
|
<value>Въведете таен ключ тук</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Достигнат е максималния позволен брой галерии</value>
|
<value>Достигнат е максималния позволен брой галерии</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Моля, въведете потребителско име на акаунта.</value>
|
<value>Моля, въведете потребителско име на акаунта.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Администратор</value>
|
<value>Потребител</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Изход</value>
|
<value>Изход</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Заглавие</value>
|
<value>Заглавие</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Съдържанието на страницата с информация за CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Потребителска политика за бисквитки</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Потребителски политики</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Грешка при получаване на настройките</value>
|
<value>Грешка при получаване на настройките</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Тайен ключ</value>
|
<value>Тайен ключ</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Трябва ли потребителят да може да филтрира и групира медия?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Показване на филтрите</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Ако гостите имат право да качват предмети</value>
|
<value>Ако гостите имат право да качват предмети</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Тема</value>
|
<value>Тема</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Трябва ли потребителят да види изскачащи GDPR стилове?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Включване</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Слайдшоу</value>
|
<value>Слайдшоу</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Посещение</value>
|
<value>Посещение</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Предупреждение</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Изтриване</value>
|
<value>Изтриване</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Невалидна галерия</value>
|
<value>Невалидна галерия</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Приемане</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Действие</value>
|
<value>Действие</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk отхвърли всички висящи прегледи</value>
|
<value>Bulk отхвърли всички висящи прегледи</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Посетител е одобрил използването на бисквитки</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Създадена галерия</value>
|
<value>Създадена галерия</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Моля, свържете се с администратор на сайта, за да предоставите достъп</value>
|
<value>Моля, свържете се с администратор на сайта, за да предоставите достъп</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Грешка при запис на одитно съобщение за одобрение на бисквитки</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Политика за бисквитки</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>С използването на този уебсайт Вие се съгласявате с използването на основните бисквитки в съответствие с нашите условия за използване на бисквитки. За да разберете повече, моля вижте нашия</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Създаване</value>
|
<value>Създаване</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Сигурен ли си, че искаш да изтриеш галерията?</value>
|
<value>Сигурен ли си, че искаш да изтриеш галерията?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Това е демо версия. Цялата конфигурация периодично се изтрива, за да се осигури ново начало за бъдещите тестери.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Извършване на разрушително действие</value>
|
<value>Извършване на разрушително действие</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Моля, въведете тайния ключ.</value>
|
<value>Моля, въведете тайния ключ.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>сватбен ден</value>
|
<value>Въведете таен ключ тук</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Достигнат е максималния позволен брой галерии</value>
|
<value>Достигнат е максималния позволен брой галерии</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Моля, въведете потребителско име на акаунта.</value>
|
<value>Моля, въведете потребителско име на акаунта.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Администратор</value>
|
<value>Потребител</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Изход</value>
|
<value>Изход</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Заглавие</value>
|
<value>Заглавие</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Съдържанието на страницата с информация за CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Потребителска политика за бисквитки</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Потребителски политики</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Грешка при получаване на настройките</value>
|
<value>Грешка при получаване на настройките</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Тайен ключ</value>
|
<value>Тайен ключ</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Трябва ли потребителят да може да филтрира и групира медия?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Показване на филтрите</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Ако гостите имат право да качват предмети</value>
|
<value>Ако гостите имат право да качват предмети</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Тема</value>
|
<value>Тема</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Трябва ли потребителят да види изскачащи GDPR стилове?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Включване</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Слайдшоу</value>
|
<value>Слайдшоу</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Посещение</value>
|
<value>Посещение</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Предупреждение</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Изтриване</value>
|
<value>Изтриване</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>গ্যালারি বৈধ নয়</value>
|
<value>গ্যালারি বৈধ নয়</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>গ্রহণ করুন</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>কাজ</value>
|
<value>কাজ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Ked সকল অপেক্ষমান পর্যালোচনা প্রত্যাখ্যান করেছে</value>
|
<value>Ked সকল অপেক্ষমান পর্যালোচনা প্রত্যাখ্যান করেছে</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>একজন অতিথি কুকির ব্যবহার অনুমোদন করেছেন</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>সংকলন নির্মাণ ব্যবস্থা</value>
|
<value>সংকলন নির্মাণ ব্যবস্থা</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>অনুগ্রহ করে সহায়তার জন্য একটি সাইট নির্বাচন করুন</value>
|
<value>অনুগ্রহ করে সহায়তার জন্য একটি সাইট নির্বাচন করুন</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>কুকি অনুমোদনের জন্য অডিট করতে ব্যর্থ</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>কুকি সংক্রান্ত নিয়ম</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>এই ওয়েবসাইট ব্যবহার করে আপনি কুকি ব্যবহারের শর্ত অনুযায়ী আমাদের মূল কুকি ব্যবহার করতে রাজি আছেন। আরো জানার জন্য দয়া করে আমাদের দৃশ্য দেখুন</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>তৈরি করুন (_r)</value>
|
<value>তৈরি করুন (_r)</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>আপনি কি নিশ্চিতরূপে এই গ্যালারিটি মুছে ফেলতে ইচ্ছুক?</value>
|
<value>আপনি কি নিশ্চিতরূপে এই গ্যালারিটি মুছে ফেলতে ইচ্ছুক?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>এটি একটি ডেমো সংস্করণ। সকল কনফিগারেশন ভবিষ্যৎ পরীক্ষার জন্য পরিষ্কারকরণ নিশ্চিত করার জন্য সংরক্ষণ করা হয়েছে।.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>তালিকাবদ্ধ কাজ</value>
|
<value>তালিকাবদ্ধ কাজ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>অনুগ্রহ করে গোপনীয় কি সন্নিবেশ করুন.</value>
|
<value>অনুগ্রহ করে গোপনীয় কি সন্নিবেশ করুন.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>বিয়ের দিন</value>
|
<value>সিকিউর শেল কি লিখুন</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>সর্বোচ্চ সংখ্যক কলামের সংখ্যা পৌঁছেছে</value>
|
<value>সর্বোচ্চ সংখ্যক কলামের সংখ্যা পৌঁছেছে</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন।.</value>
|
<value>অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন।.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>অ্যাডমিন</value>
|
<value>ব্যবহারকারীর নাম</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>লগ-আউট করুন</value>
|
<value>লগ-আউট করুন</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>শিরোনাম</value>
|
<value>শিরোনাম</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>কুকি সংক্রান্ত তথ্য প্রদর্শন করার জন্য চিহ্নিত বিষয়বস্তু</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>স্বনির্বাচিত কুকি পলিসি</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>স্বনির্ধারিত নীতি</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>বৈশিষ্ট্য প্রাপ্ত করতে ব্যর্থ</value>
|
<value>বৈশিষ্ট্য প্রাপ্ত করতে ব্যর্থ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>গোপনীয় কি</value>
|
<value>গোপনীয় কি</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>ব্যবহারকারী কি ফিল্টার ও দলগুলোকে মিডিয়া করতে ইচ্ছুক?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>ফিল্টার দেখাও</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>আপলোড করার জন্য অতিথিকে অনুমতি প্রদান করা হবে</value>
|
<value>আপলোড করার জন্য অতিথিকে অনুমতি প্রদান করা হবে</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>বিষয়</value>
|
<value>বিষয়</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>ব্যবহারকারীদের কি দেশাত্ম্যতার পপ-আপ প্রদর্শন করা হবে?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>সক্রিয়</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>স্লাইড-শো</value>
|
<value>স্লাইড-শো</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>পরিদর্শন করুন</value>
|
<value>পরিদর্শন করুন</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>সতর্কবার্তা</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>ওয়াইপে</value>
|
<value>ওয়াইপে</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>গ্যালারি বৈধ নয়</value>
|
<value>গ্যালারি বৈধ নয়</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>গ্রহণ করুন</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>কাজ</value>
|
<value>কাজ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Ked সকল অপেক্ষমান পর্যালোচনা প্রত্যাখ্যান করেছে</value>
|
<value>Ked সকল অপেক্ষমান পর্যালোচনা প্রত্যাখ্যান করেছে</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>একজন অতিথি কুকির ব্যবহার অনুমোদন করেছেন</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>সংকলন নির্মাণ ব্যবস্থা</value>
|
<value>সংকলন নির্মাণ ব্যবস্থা</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>অনুগ্রহ করে সহায়তার জন্য একটি সাইট নির্বাচন করুন</value>
|
<value>অনুগ্রহ করে সহায়তার জন্য একটি সাইট নির্বাচন করুন</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>কুকি অনুমোদনের জন্য অডিট করতে ব্যর্থ</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>কুকি সংক্রান্ত নিয়ম</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>এই ওয়েবসাইট ব্যবহার করে আপনি কুকি ব্যবহারের শর্ত অনুযায়ী আমাদের মূল কুকি ব্যবহার করতে রাজি আছেন। আরো জানার জন্য দয়া করে আমাদের দৃশ্য দেখুন</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>তৈরি করুন (_r)</value>
|
<value>তৈরি করুন (_r)</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>আপনি কি নিশ্চিতরূপে এই গ্যালারিটি মুছে ফেলতে ইচ্ছুক?</value>
|
<value>আপনি কি নিশ্চিতরূপে এই গ্যালারিটি মুছে ফেলতে ইচ্ছুক?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>এটি একটি ডেমো সংস্করণ। সকল কনফিগারেশন ভবিষ্যৎ পরীক্ষার জন্য পরিষ্কারকরণ নিশ্চিত করার জন্য সংরক্ষণ করা হয়েছে।.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>তালিকাবদ্ধ কাজ</value>
|
<value>তালিকাবদ্ধ কাজ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>অনুগ্রহ করে গোপনীয় কি সন্নিবেশ করুন.</value>
|
<value>অনুগ্রহ করে গোপনীয় কি সন্নিবেশ করুন.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>বিয়ের দিন</value>
|
<value>সিকিউর শেল কি লিখুন</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>সর্বোচ্চ সংখ্যক কলামের সংখ্যা পৌঁছেছে</value>
|
<value>সর্বোচ্চ সংখ্যক কলামের সংখ্যা পৌঁছেছে</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন।.</value>
|
<value>অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন।.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>অ্যাডমিন</value>
|
<value>ব্যবহারকারীর নাম</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>লগ-আউট করুন</value>
|
<value>লগ-আউট করুন</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>শিরোনাম</value>
|
<value>শিরোনাম</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>কুকি সংক্রান্ত তথ্য প্রদর্শন করার জন্য চিহ্নিত বিষয়বস্তু</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>স্বনির্বাচিত কুকি পলিসি</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>স্বনির্ধারিত নীতি</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>বৈশিষ্ট্য প্রাপ্ত করতে ব্যর্থ</value>
|
<value>বৈশিষ্ট্য প্রাপ্ত করতে ব্যর্থ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>গোপনীয় কি</value>
|
<value>গোপনীয় কি</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>ব্যবহারকারী কি ফিল্টার ও দলগুলোকে মিডিয়া করতে ইচ্ছুক?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>ফিল্টার দেখাও</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>আপলোড করার জন্য অতিথিকে অনুমতি প্রদান করা হবে</value>
|
<value>আপলোড করার জন্য অতিথিকে অনুমতি প্রদান করা হবে</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>বিষয়</value>
|
<value>বিষয়</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>ব্যবহারকারীদের কি দেশাত্ম্যতার পপ-আপ প্রদর্শন করা হবে?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>সক্রিয়</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>স্লাইড-শো</value>
|
<value>স্লাইড-শো</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>পরিদর্শন করুন</value>
|
<value>পরিদর্শন করুন</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>সতর্কবার্তা</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>ওয়াইপে</value>
|
<value>ওয়াইপে</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>গ্যালারি বৈধ নয়</value>
|
<value>গ্যালারি বৈধ নয়</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>গ্রহণ করুন</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>কাজ</value>
|
<value>কাজ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Ked সকল অপেক্ষমান পর্যালোচনা প্রত্যাখ্যান করেছে</value>
|
<value>Ked সকল অপেক্ষমান পর্যালোচনা প্রত্যাখ্যান করেছে</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>একজন অতিথি কুকির ব্যবহার অনুমোদন করেছেন</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>সংকলন নির্মাণ ব্যবস্থা</value>
|
<value>সংকলন নির্মাণ ব্যবস্থা</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>অনুগ্রহ করে সহায়তার জন্য একটি সাইট নির্বাচন করুন</value>
|
<value>অনুগ্রহ করে সহায়তার জন্য একটি সাইট নির্বাচন করুন</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>কুকি অনুমোদনের জন্য অডিট করতে ব্যর্থ</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>কুকি সংক্রান্ত নিয়ম</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>এই ওয়েবসাইট ব্যবহার করে আপনি কুকি ব্যবহারের শর্ত অনুযায়ী আমাদের মূল কুকি ব্যবহার করতে রাজি আছেন। আরো জানার জন্য দয়া করে আমাদের দৃশ্য দেখুন</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>তৈরি করুন (_r)</value>
|
<value>তৈরি করুন (_r)</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>আপনি কি নিশ্চিতরূপে এই গ্যালারিটি মুছে ফেলতে ইচ্ছুক?</value>
|
<value>আপনি কি নিশ্চিতরূপে এই গ্যালারিটি মুছে ফেলতে ইচ্ছুক?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>এটি একটি ডেমো সংস্করণ। সকল কনফিগারেশন ভবিষ্যৎ পরীক্ষার জন্য পরিষ্কারকরণ নিশ্চিত করার জন্য সংরক্ষণ করা হয়েছে।.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>তালিকাবদ্ধ কাজ</value>
|
<value>তালিকাবদ্ধ কাজ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>অনুগ্রহ করে গোপনীয় কি সন্নিবেশ করুন.</value>
|
<value>অনুগ্রহ করে গোপনীয় কি সন্নিবেশ করুন.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>বিয়ের দিন</value>
|
<value>সিকিউর শেল কি লিখুন</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>সর্বোচ্চ সংখ্যক কলামের সংখ্যা পৌঁছেছে</value>
|
<value>সর্বোচ্চ সংখ্যক কলামের সংখ্যা পৌঁছেছে</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন।.</value>
|
<value>অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন।.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>অ্যাডমিন</value>
|
<value>ব্যবহারকারীর নাম</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>লগ-আউট করুন</value>
|
<value>লগ-আউট করুন</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>শিরোনাম</value>
|
<value>শিরোনাম</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>কুকি সংক্রান্ত তথ্য প্রদর্শন করার জন্য চিহ্নিত বিষয়বস্তু</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>স্বনির্বাচিত কুকি পলিসি</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>স্বনির্ধারিত নীতি</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>বৈশিষ্ট্য প্রাপ্ত করতে ব্যর্থ</value>
|
<value>বৈশিষ্ট্য প্রাপ্ত করতে ব্যর্থ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>গোপনীয় কি</value>
|
<value>গোপনীয় কি</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>ব্যবহারকারী কি ফিল্টার ও দলগুলোকে মিডিয়া করতে ইচ্ছুক?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>ফিল্টার দেখাও</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>আপলোড করার জন্য অতিথিকে অনুমতি প্রদান করা হবে</value>
|
<value>আপলোড করার জন্য অতিথিকে অনুমতি প্রদান করা হবে</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>বিষয়</value>
|
<value>বিষয়</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>ব্যবহারকারীদের কি দেশাত্ম্যতার পপ-আপ প্রদর্শন করা হবে?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>সক্রিয়</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>স্লাইড-শো</value>
|
<value>স্লাইড-শো</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>পরিদর্শন করুন</value>
|
<value>পরিদর্শন করুন</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>সতর্কবার্তা</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>ওয়াইপে</value>
|
<value>ওয়াইপে</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galeria no vàlida</value>
|
<value>Galeria no vàlida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepta</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Acció</value>
|
<value>Acció</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Massa rebutjat totes les revisions pendents</value>
|
<value>Massa rebutjat totes les revisions pendents</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitant ha aprovat l'ús de les galetesName</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>S' ha creat la galeria</value>
|
<value>S' ha creat la galeria</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Ha fallat en registrar un missatge d'auditori per aprovar galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Utilitzant aquest lloc web estàs d'acord amb el nostre ús de galetes bàsiques d'acord amb els nostres termes d'ús de galeta. Per descobrir-ne més si us plau, mireu la nostra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crea</value>
|
<value>Crea</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Aquesta és una versió demo. Tota la configuració està periòdicament esborrada per assegurar una pissarra neta per als futurs exàmens.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Acció obsoleta realitzada</value>
|
<value>Acció obsoleta realitzada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Si us plau, introduïu la clau secreta.</value>
|
<value>Si us plau, introduïu la clau secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>dia del casament@ info: whatsthis</value>
|
<value>Introduïu aquí la clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Introduïu el nom d' usuari del compte.</value>
|
<value>Introduïu el nom d' usuari del compte.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Administrador</value>
|
<value>Nom d' usuari</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Surt</value>
|
<value>Surt</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Títol</value>
|
<value>Títol</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contingut que s'ha de mostrar a la pàgina d'informació de galeta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de galetes personalitzada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Polítiques personalitzades</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Ha fallat en obtenir l' arranjament</value>
|
<value>Ha fallat en obtenir l' arranjament</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Clau secreta</value>
|
<value>Clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de filtrar i agrupar els suports?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostra els filtres</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Cal que els convidats pugin elements</value>
|
<value>Cal que els convidats pugin elements</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de veure els emergents d' estil R del PIB?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Habilitat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Passi de diapositives</value>
|
<value>Passi de diapositives</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visiteu</value>
|
<value>Visiteu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Avís</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Esborrat</value>
|
<value>Esborrat</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galeria no vàlida</value>
|
<value>Galeria no vàlida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepta</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Acció</value>
|
<value>Acció</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Massa rebutjat totes les revisions pendents</value>
|
<value>Massa rebutjat totes les revisions pendents</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitant ha aprovat l'ús de les galetesName</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>S' ha creat la galeria</value>
|
<value>S' ha creat la galeria</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Ha fallat en registrar un missatge d'auditori per aprovar galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Utilitzant aquest lloc web estàs d'acord amb el nostre ús de galetes bàsiques d'acord amb els nostres termes d'ús de galeta. Per descobrir-ne més si us plau, mireu la nostra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crea</value>
|
<value>Crea</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Aquesta és una versió demo. Tota la configuració està periòdicament esborrada per assegurar una pissarra neta per als futurs exàmens.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Acció obsoleta realitzada</value>
|
<value>Acció obsoleta realitzada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Si us plau, introduïu la clau secreta.</value>
|
<value>Si us plau, introduïu la clau secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>dia del casament@ info: whatsthis</value>
|
<value>Introduïu aquí la clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Introduïu el nom d' usuari del compte.</value>
|
<value>Introduïu el nom d' usuari del compte.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Administrador</value>
|
<value>Nom d' usuari</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Surt</value>
|
<value>Surt</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Títol</value>
|
<value>Títol</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contingut que s'ha de mostrar a la pàgina d'informació de galeta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de galetes personalitzada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Polítiques personalitzades</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Ha fallat en obtenir l' arranjament</value>
|
<value>Ha fallat en obtenir l' arranjament</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Clau secreta</value>
|
<value>Clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de filtrar i agrupar els suports?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostra els filtres</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Cal que els convidats pugin elements</value>
|
<value>Cal que els convidats pugin elements</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de veure els emergents d' estil R del PIB?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Habilitat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Passi de diapositives</value>
|
<value>Passi de diapositives</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visiteu</value>
|
<value>Visiteu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Avís</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Esborrat</value>
|
<value>Esborrat</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galeria no vàlida</value>
|
<value>Galeria no vàlida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepta</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Acció</value>
|
<value>Acció</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Massa rebutjat totes les revisions pendents</value>
|
<value>Massa rebutjat totes les revisions pendents</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitant ha aprovat l'ús de les galetesName</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>S' ha creat la galeria</value>
|
<value>S' ha creat la galeria</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Ha fallat en registrar un missatge d'auditori per aprovar galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Utilitzant aquest lloc web estàs d'acord amb el nostre ús de galetes bàsiques d'acord amb els nostres termes d'ús de galeta. Per descobrir-ne més si us plau, mireu la nostra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crea</value>
|
<value>Crea</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Aquesta és una versió demo. Tota la configuració està periòdicament esborrada per assegurar una pissarra neta per als futurs exàmens.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Acció obsoleta realitzada</value>
|
<value>Acció obsoleta realitzada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Si us plau, introduïu la clau secreta.</value>
|
<value>Si us plau, introduïu la clau secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>dia del casament@ info: whatsthis</value>
|
<value>Introduïu aquí la clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Introduïu el nom d' usuari del compte.</value>
|
<value>Introduïu el nom d' usuari del compte.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Administrador</value>
|
<value>Nom d' usuari</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Surt</value>
|
<value>Surt</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Títol</value>
|
<value>Títol</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contingut que s'ha de mostrar a la pàgina d'informació de galeta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de galetes personalitzada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Polítiques personalitzades</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Ha fallat en obtenir l' arranjament</value>
|
<value>Ha fallat en obtenir l' arranjament</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Clau secreta</value>
|
<value>Clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de filtrar i agrupar els suports?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostra els filtres</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Cal que els convidats pugin elements</value>
|
<value>Cal que els convidats pugin elements</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de veure els emergents d' estil R del PIB?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Habilitat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Passi de diapositives</value>
|
<value>Passi de diapositives</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visiteu</value>
|
<value>Visiteu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Avís</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Esborrat</value>
|
<value>Esborrat</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galeria no vàlida</value>
|
<value>Galeria no vàlida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepta</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Acció</value>
|
<value>Acció</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Massa rebutjat totes les revisions pendents</value>
|
<value>Massa rebutjat totes les revisions pendents</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitant ha aprovat l'ús de les galetesName</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>S' ha creat la galeria</value>
|
<value>S' ha creat la galeria</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Ha fallat en registrar un missatge d'auditori per aprovar galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Utilitzant aquest lloc web estàs d'acord amb el nostre ús de galetes bàsiques d'acord amb els nostres termes d'ús de galeta. Per descobrir-ne més si us plau, mireu la nostra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crea</value>
|
<value>Crea</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Aquesta és una versió demo. Tota la configuració està periòdicament esborrada per assegurar una pissarra neta per als futurs exàmens.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Acció obsoleta realitzada</value>
|
<value>Acció obsoleta realitzada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Si us plau, introduïu la clau secreta.</value>
|
<value>Si us plau, introduïu la clau secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>dia del casament@ info: whatsthis</value>
|
<value>Introduïu aquí la clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Introduïu el nom d' usuari del compte.</value>
|
<value>Introduïu el nom d' usuari del compte.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Administrador</value>
|
<value>Nom d' usuari</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Surt</value>
|
<value>Surt</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Títol</value>
|
<value>Títol</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contingut que s'ha de mostrar a la pàgina d'informació de galeta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de galetes personalitzada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Polítiques personalitzades</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Ha fallat en obtenir l' arranjament</value>
|
<value>Ha fallat en obtenir l' arranjament</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Clau secreta</value>
|
<value>Clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de filtrar i agrupar els suports?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostra els filtres</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Cal que els convidats pugin elements</value>
|
<value>Cal que els convidats pugin elements</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de veure els emergents d' estil R del PIB?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Habilitat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Passi de diapositives</value>
|
<value>Passi de diapositives</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visiteu</value>
|
<value>Visiteu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Avís</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Esborrat</value>
|
<value>Esborrat</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galeria no vàlida</value>
|
<value>Galeria no vàlida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepta</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Acció</value>
|
<value>Acció</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Massa rebutjat totes les revisions pendents</value>
|
<value>Massa rebutjat totes les revisions pendents</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitant ha aprovat l'ús de les galetesName</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>S' ha creat la galeria</value>
|
<value>S' ha creat la galeria</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
<value>Si us plau, contacteu amb un administrador del lloc web per proporcionar accés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Ha fallat en registrar un missatge d'auditori per aprovar galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de galetes</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Utilitzant aquest lloc web estàs d'acord amb el nostre ús de galetes bàsiques d'acord amb els nostres termes d'ús de galeta. Per descobrir-ne més si us plau, mireu la nostra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crea</value>
|
<value>Crea</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
<value>Esteu segur que voleu esborrar aquesta galeria?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Aquesta és una versió demo. Tota la configuració està periòdicament esborrada per assegurar una pissarra neta per als futurs exàmens.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Acció obsoleta realitzada</value>
|
<value>Acció obsoleta realitzada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Si us plau, introduïu la clau secreta.</value>
|
<value>Si us plau, introduïu la clau secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>dia del casament@ info: whatsthis</value>
|
<value>Introduïu aquí la clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
<value>S' ha arribat al màxim nombre permès de galeries</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Introduïu el nom d' usuari del compte.</value>
|
<value>Introduïu el nom d' usuari del compte.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Administrador</value>
|
<value>Nom d' usuari</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Surt</value>
|
<value>Surt</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Títol</value>
|
<value>Títol</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contingut que s'ha de mostrar a la pàgina d'informació de galeta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de galetes personalitzada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Polítiques personalitzades</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Ha fallat en obtenir l' arranjament</value>
|
<value>Ha fallat en obtenir l' arranjament</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Clau secreta</value>
|
<value>Clau secreta</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de filtrar i agrupar els suports?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostra els filtres</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Cal que els convidats pugin elements</value>
|
<value>Cal que els convidats pugin elements</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>L' usuari hauria de veure els emergents d' estil R del PIB?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Habilitat</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Passi de diapositives</value>
|
<value>Passi de diapositives</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visiteu</value>
|
<value>Visiteu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Avís</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Esborrat</value>
|
<value>Esborrat</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Neplatná galerie</value>
|
<value>Neplatná galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Přijmout</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Akce</value>
|
<value>Akce</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk odmítl všechny probíhající recenze</value>
|
<value>Bulk odmítl všechny probíhající recenze</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Návštěvník schválil používání cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Vytvořeno galerie</value>
|
<value>Vytvořeno galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Kontaktujte prosím správce stránek, aby poskytl přístup</value>
|
<value>Kontaktujte prosím správce stránek, aby poskytl přístup</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Selhalo zaznamenávání auditní zprávy pro schválení cookie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie politika</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Použitím této webové stránky souhlasíte s použitím základních cookies v souladu s našimi podmínkami používání cookies. Chcete-li zjistit více, podívejte se na naše</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Vytvořit</value>
|
<value>Vytvořit</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Jste si jistý, že chcete tuto galerii smazat?</value>
|
<value>Jste si jistý, že chcete tuto galerii smazat?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Tohle je demo verze. Veškerá konfigurace je pravidelně vymazána, aby byla zajištěna čistá břidlice pro budoucí testovače.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Provedená destruktivní akce</value>
|
<value>Provedená destruktivní akce</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Prosím, zadejte tajný klíč.</value>
|
<value>Prosím, zadejte tajný klíč.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>svatební den</value>
|
<value>Zde zadejte tajný klíč</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Maximální povolený počet galerií byl dosažen</value>
|
<value>Maximální povolený počet galerií byl dosažen</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Zadejte prosím uživatelské jméno účtu.</value>
|
<value>Zadejte prosím uživatelské jméno účtu.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Uživatelské jméno</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Odhlášení</value>
|
<value>Odhlášení</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Název</value>
|
<value>Název</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Obsah zobrazený na stránce Informace o CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Vlastní Cookie politika</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Celní politika</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nepodařilo se získat nastavení</value>
|
<value>Nepodařilo se získat nastavení</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Tajný klíč</value>
|
<value>Tajný klíč</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Měl by být uživatel schopen filtrovat a seskupovat média?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Zobrazit filtry</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Mělo by být hostům dovoleno nahrávat položky</value>
|
<value>Mělo by být hostům dovoleno nahrávat položky</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Téma</value>
|
<value>Téma</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Měl by uživatel vidět popupy ve stylu GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Povoleno</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Návštěva</value>
|
<value>Návštěva</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Varování</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Utřít</value>
|
<value>Utřít</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Neplatná galerie</value>
|
<value>Neplatná galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Přijmout</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Akce</value>
|
<value>Akce</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk odmítl všechny probíhající recenze</value>
|
<value>Bulk odmítl všechny probíhající recenze</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Návštěvník schválil používání cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Vytvořeno galerie</value>
|
<value>Vytvořeno galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Kontaktujte prosím správce stránek, aby poskytl přístup</value>
|
<value>Kontaktujte prosím správce stránek, aby poskytl přístup</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Selhalo zaznamenávání auditní zprávy pro schválení cookie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie politika</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Použitím této webové stránky souhlasíte s použitím základních cookies v souladu s našimi podmínkami používání cookies. Chcete-li zjistit více, podívejte se na naše</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Vytvořit</value>
|
<value>Vytvořit</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Jste si jistý, že chcete tuto galerii smazat?</value>
|
<value>Jste si jistý, že chcete tuto galerii smazat?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Tohle je demo verze. Veškerá konfigurace je pravidelně vymazána, aby byla zajištěna čistá břidlice pro budoucí testovače.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Provedená destruktivní akce</value>
|
<value>Provedená destruktivní akce</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Prosím, zadejte tajný klíč.</value>
|
<value>Prosím, zadejte tajný klíč.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>svatební den</value>
|
<value>Zde zadejte tajný klíč</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Maximální povolený počet galerií byl dosažen</value>
|
<value>Maximální povolený počet galerií byl dosažen</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Zadejte prosím uživatelské jméno účtu.</value>
|
<value>Zadejte prosím uživatelské jméno účtu.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Uživatelské jméno</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Odhlášení</value>
|
<value>Odhlášení</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Název</value>
|
<value>Název</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Obsah zobrazený na stránce Informace o CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Vlastní Cookie politika</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Celní politika</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nepodařilo se získat nastavení</value>
|
<value>Nepodařilo se získat nastavení</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Tajný klíč</value>
|
<value>Tajný klíč</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Měl by být uživatel schopen filtrovat a seskupovat média?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Zobrazit filtry</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Mělo by být hostům dovoleno nahrávat položky</value>
|
<value>Mělo by být hostům dovoleno nahrávat položky</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Téma</value>
|
<value>Téma</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Měl by uživatel vidět popupy ve stylu GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Povoleno</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Návštěva</value>
|
<value>Návštěva</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Varování</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Utřít</value>
|
<value>Utřít</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Ugyldigt galleri</value>
|
<value>Ugyldigt galleri</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepter</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Handling</value>
|
<value>Handling</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk afviste alle verserende anmeldelser</value>
|
<value>Bulk afviste alle verserende anmeldelser</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>En besøgende har godkendt brugen af cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Oprettet galleri</value>
|
<value>Oprettet galleri</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Kontakt venligst en site administrator for at give adgang</value>
|
<value>Kontakt venligst en site administrator for at give adgang</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Kunne ikke logge en revisionsmeddelelse for cookie-godkendelse</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-politik</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Ved at bruge denne hjemmeside accepterer du vores brug af grundlæggende cookies i overensstemmelse med vores vilkår for cookie brug. For at finde ud af mere se venligst vores</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Opret</value>
|
<value>Opret</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Er du sikker på, du vil slette dette galleri?</value>
|
<value>Er du sikker på, du vil slette dette galleri?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Det er en demo-version. Alle konfigurationer aftørres regelmæssigt for at sikre en ren skifer til fremtidige testere.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktiv handling udført</value>
|
<value>Destruktiv handling udført</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Indtast venligst den hemmelige nøgle.</value>
|
<value>Indtast venligst den hemmelige nøgle.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>ægteskab- dag</value>
|
<value>Indtast hemmelig nøgle her</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Det maksimalt tilladte antal gallerier er nået</value>
|
<value>Det maksimalt tilladte antal gallerier er nået</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Indtast venligst kontobrugernavn.</value>
|
<value>Indtast venligst kontobrugernavn.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Brugernavn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Indholdet at vise på CookiePolicy info side</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Brugerdefineret cookie-politik</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Brugerdefineret politik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Kunne ikke få indstillinger</value>
|
<value>Kunne ikke få indstillinger</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Hemmelig nøgle</value>
|
<value>Hemmelig nøgle</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Skal brugeren kunne filtrere og gruppere medier?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Vis filtre</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Skal gæsterne have lov til at uploade elementer</value>
|
<value>Skal gæsterne have lov til at uploade elementer</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Emne</value>
|
<value>Emne</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Skal brugeren se GDPR stil popups?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Aktiveret</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besøg</value>
|
<value>Besøg</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Advarsel</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Tør</value>
|
<value>Tør</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Ugyldigt galleri</value>
|
<value>Ugyldigt galleri</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepter</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Handling</value>
|
<value>Handling</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk afviste alle verserende anmeldelser</value>
|
<value>Bulk afviste alle verserende anmeldelser</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>En besøgende har godkendt brugen af cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Oprettet galleri</value>
|
<value>Oprettet galleri</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Kontakt venligst en site administrator for at give adgang</value>
|
<value>Kontakt venligst en site administrator for at give adgang</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Kunne ikke logge en revisionsmeddelelse for cookie-godkendelse</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-politik</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Ved at bruge denne hjemmeside accepterer du vores brug af grundlæggende cookies i overensstemmelse med vores vilkår for cookie brug. For at finde ud af mere se venligst vores</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Opret</value>
|
<value>Opret</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Er du sikker på, du vil slette dette galleri?</value>
|
<value>Er du sikker på, du vil slette dette galleri?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Det er en demo-version. Alle konfigurationer aftørres regelmæssigt for at sikre en ren skifer til fremtidige testere.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktiv handling udført</value>
|
<value>Destruktiv handling udført</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Indtast venligst den hemmelige nøgle.</value>
|
<value>Indtast venligst den hemmelige nøgle.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>ægteskab- dag</value>
|
<value>Indtast hemmelig nøgle her</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Det maksimalt tilladte antal gallerier er nået</value>
|
<value>Det maksimalt tilladte antal gallerier er nået</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Indtast venligst kontobrugernavn.</value>
|
<value>Indtast venligst kontobrugernavn.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Brugernavn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Indholdet at vise på CookiePolicy info side</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Brugerdefineret cookie-politik</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Brugerdefineret politik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Kunne ikke få indstillinger</value>
|
<value>Kunne ikke få indstillinger</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Hemmelig nøgle</value>
|
<value>Hemmelig nøgle</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Skal brugeren kunne filtrere og gruppere medier?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Vis filtre</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Skal gæsterne have lov til at uploade elementer</value>
|
<value>Skal gæsterne have lov til at uploade elementer</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Emne</value>
|
<value>Emne</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Skal brugeren se GDPR stil popups?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Aktiveret</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besøg</value>
|
<value>Besøg</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Advarsel</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Tør</value>
|
<value>Tør</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Ugyldigt galleri</value>
|
<value>Ugyldigt galleri</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accepter</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Handling</value>
|
<value>Handling</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk afviste alle verserende anmeldelser</value>
|
<value>Bulk afviste alle verserende anmeldelser</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>En besøgende har godkendt brugen af cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Oprettet galleri</value>
|
<value>Oprettet galleri</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Kontakt venligst en site administrator for at give adgang</value>
|
<value>Kontakt venligst en site administrator for at give adgang</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Kunne ikke logge en revisionsmeddelelse for cookie-godkendelse</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-politik</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Ved at bruge denne hjemmeside accepterer du vores brug af grundlæggende cookies i overensstemmelse med vores vilkår for cookie brug. For at finde ud af mere se venligst vores</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Opret</value>
|
<value>Opret</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Er du sikker på, du vil slette dette galleri?</value>
|
<value>Er du sikker på, du vil slette dette galleri?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Det er en demo-version. Alle konfigurationer aftørres regelmæssigt for at sikre en ren skifer til fremtidige testere.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktiv handling udført</value>
|
<value>Destruktiv handling udført</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Indtast venligst den hemmelige nøgle.</value>
|
<value>Indtast venligst den hemmelige nøgle.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>ægteskab- dag</value>
|
<value>Indtast hemmelig nøgle her</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Det maksimalt tilladte antal gallerier er nået</value>
|
<value>Det maksimalt tilladte antal gallerier er nået</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Indtast venligst kontobrugernavn.</value>
|
<value>Indtast venligst kontobrugernavn.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Brugernavn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Indholdet at vise på CookiePolicy info side</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Brugerdefineret cookie-politik</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Brugerdefineret politik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Kunne ikke få indstillinger</value>
|
<value>Kunne ikke få indstillinger</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Hemmelig nøgle</value>
|
<value>Hemmelig nøgle</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Skal brugeren kunne filtrere og gruppere medier?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Vis filtre</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Skal gæsterne have lov til at uploade elementer</value>
|
<value>Skal gæsterne have lov til at uploade elementer</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Emne</value>
|
<value>Emne</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Skal brugeren se GDPR stil popups?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Aktiveret</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besøg</value>
|
<value>Besøg</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Advarsel</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Tør</value>
|
<value>Tør</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellen</value>
|
<value>Erstellen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Bist du dir sicher, dass du diese Galerie löschen möchtest?</value>
|
<value>Bist du dir sicher, dass du diese Galerie löschen möchtest?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte gib den geheimen Schlüssel ein.</value>
|
<value>Bitte gib den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte gib den Benutzernamen ein.</value>
|
<value>Bitte gib den Benutzernamen ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Abmeldung</value>
|
<value>Abmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuche uns</value>
|
<value>Besuche uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Löschen</value>
|
<value>Löschen</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalide Galerie</value>
|
<value>Invalide Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Annahme</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Aktion</value>
|
<value>Aktion</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
<value>Bulk hat alle anhängigen Bewertungen abgelehnt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ein Besucher hat die Verwendung von Cookies genehmigt</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Erstellte Galerie</value>
|
<value>Erstellte Galerie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
<value>Bitte kontaktieren Sie einen Website-Administrator, um Zugang zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Nicht eingeloggt, um eine Audit-Nachricht für die Cookie-Zulassung zu protokollieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Durch die Nutzung dieser Website erklären Sie sich mit unserer Nutzung grundlegender Cookies gemäß unseren Nutzungsbedingungen einverstanden. Weitere Informationen finden Sie hier</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Erstellung</value>
|
<value>Erstellung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
<value>Sind Sie sicher, dass Sie diese Galerie löschen möchten?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Das ist eine Demoversion. Alle Konfigurationen werden periodisch gelöscht, um einen sauberen Schiefer für zukünftige Tester zu gewährleisten.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktive Aktion durchgeführt</value>
|
<value>Destruktive Aktion durchgeführt</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
<value>Bitte geben Sie den geheimen Schlüssel ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>hochzeitstag</value>
|
<value>Geheimschlüssel hier eingeben</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
<value>Die maximal zulässige Anzahl von Galerien wurde erreicht</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
<value>Bitte geben Sie den Benutzernamen des Kontos ein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Benutzername</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Anmeldung</value>
|
<value>Anmeldung</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titel</value>
|
<value>Titel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Die Inhalte auf der CookiePolicy-Infoseite</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kundenspezifische Cookie-Richtlinie</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Zollpolitik</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
<value>Nicht verfügbar, um Einstellungen zu erhalten</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Geheimer Schlüssel</value>
|
<value>Geheimer Schlüssel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Benutzer in der Lage sein, Medien zu filtern und zu gruppen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Filter anzeigen</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
<value>Sollten die Gäste Gegenstände hochladen dürfen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Thema</value>
|
<value>Thema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Sollte der Nutzer die DSGVO-Stil Popups sehen?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ermöglicht</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Diashow</value>
|
<value>Diashow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Besuchen Sie uns</value>
|
<value>Besuchen Sie uns</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warnung</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>WEITER</value>
|
<value>WEITER</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Μη έγκυρη συλλογή</value>
|
<value>Μη έγκυρη συλλογή</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Αποδοχή</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Δράση</value>
|
<value>Δράση</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Η Bulk απέρριψε όλες τις εκκρεμείς κριτικές</value>
|
<value>Η Bulk απέρριψε όλες τις εκκρεμείς κριτικές</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ένας επισκέπτης έχει εγκρίνει τη χρήση cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Δημιουργία συλλογής</value>
|
<value>Δημιουργία συλλογής</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Παρακαλούμε επικοινωνήστε με έναν διαχειριστή του site για να παρέχουν πρόσβαση</value>
|
<value>Παρακαλούμε επικοινωνήστε με έναν διαχειριστή του site για να παρέχουν πρόσβαση</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Αποτυχία καταγραφής ενός μηνύματος ελέγχου για την έγκριση cookie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Πολιτική για τα cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Με τη χρήση αυτής της ιστοσελίδας συμφωνείτε με τη χρήση βασικών cookies σύμφωνα με τους όρους χρήσης των cookies. Για να μάθετε περισσότερα παρακαλώ δείτε μας</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Δημιουργία</value>
|
<value>Δημιουργία</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Σίγουρα θέλετε να διαγράψετε αυτή την γκαλερί?</value>
|
<value>Σίγουρα θέλετε να διαγράψετε αυτή την γκαλερί?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Αυτή είναι μια έκδοση επίδειξης. Όλες οι ρυθμίσεις σβήνονται περιοδικά για να εξασφαλιστεί μια καθαρή πλάκα για τους μελλοντικούς δοκιμαστές.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Εκτελείται Καταστροφική Δράση</value>
|
<value>Εκτελείται Καταστροφική Δράση</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Παρακαλώ εισάγετε το μυστικό κλειδί.</value>
|
<value>Παρακαλώ εισάγετε το μυστικό κλειδί.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>ημέρα γάμου</value>
|
<value>Εισάγετε εδώ το μυστικό κλειδί</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Έχει επιτευχθεί ο μέγιστος επιτρεπόμενος αριθμός γκαλερί</value>
|
<value>Έχει επιτευχθεί ο μέγιστος επιτρεπόμενος αριθμός γκαλερί</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Παρακαλώ εισάγετε το όνομα χρήστη του λογαριασμού.</value>
|
<value>Παρακαλώ εισάγετε το όνομα χρήστη του λογαριασμού.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Διαχειριστής</value>
|
<value>Όνομα χρήστη</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Αποσύνδεση</value>
|
<value>Αποσύνδεση</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Τίτλος</value>
|
<value>Τίτλος</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Το περιεχόμενο που θα εμφανιστεί στη σελίδα πληροφοριών της CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Προσαρμοσμένη πολιτική cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Προσαρμοσμένες πολιτικές</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Αποτυχία λήψης ρυθμίσεων</value>
|
<value>Αποτυχία λήψης ρυθμίσεων</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Μυστικό κλειδί</value>
|
<value>Μυστικό κλειδί</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Θα πρέπει ο χρήστης να μπορεί να φιλτράρει και να ομαδοποιήσει τα μέσα?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Εμφάνιση φίλτρων</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Σε περίπτωση που επιτρέπεται στους επισκέπτες να ανεβάζουν αντικείμενα</value>
|
<value>Σε περίπτωση που επιτρέπεται στους επισκέπτες να ανεβάζουν αντικείμενα</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Θέμα</value>
|
<value>Θέμα</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Πρέπει ο χρήστης να δει τα αναδυόμενα στυλ GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ενεργοποίηση</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Προβολή σλάιντ</value>
|
<value>Προβολή σλάιντ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Επίσκεψη</value>
|
<value>Επίσκεψη</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Προειδοποίηση</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Σκουπίστε</value>
|
<value>Σκουπίστε</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Μη έγκυρη συλλογή</value>
|
<value>Μη έγκυρη συλλογή</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Αποδοχή</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Δράση</value>
|
<value>Δράση</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Η Bulk απέρριψε όλες τις εκκρεμείς κριτικές</value>
|
<value>Η Bulk απέρριψε όλες τις εκκρεμείς κριτικές</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ένας επισκέπτης έχει εγκρίνει τη χρήση cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Δημιουργία συλλογής</value>
|
<value>Δημιουργία συλλογής</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Παρακαλούμε επικοινωνήστε με έναν διαχειριστή του site για να παρέχουν πρόσβαση</value>
|
<value>Παρακαλούμε επικοινωνήστε με έναν διαχειριστή του site για να παρέχουν πρόσβαση</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Αποτυχία καταγραφής ενός μηνύματος ελέγχου για την έγκριση cookie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Πολιτική για τα cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Με τη χρήση αυτής της ιστοσελίδας συμφωνείτε με τη χρήση βασικών cookies σύμφωνα με τους όρους χρήσης των cookies. Για να μάθετε περισσότερα παρακαλώ δείτε μας</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Δημιουργία</value>
|
<value>Δημιουργία</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Σίγουρα θέλετε να διαγράψετε αυτή την γκαλερί?</value>
|
<value>Σίγουρα θέλετε να διαγράψετε αυτή την γκαλερί?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Αυτή είναι μια έκδοση επίδειξης. Όλες οι ρυθμίσεις σβήνονται περιοδικά για να εξασφαλιστεί μια καθαρή πλάκα για τους μελλοντικούς δοκιμαστές.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Εκτελείται Καταστροφική Δράση</value>
|
<value>Εκτελείται Καταστροφική Δράση</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Παρακαλώ εισάγετε το μυστικό κλειδί.</value>
|
<value>Παρακαλώ εισάγετε το μυστικό κλειδί.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>ημέρα γάμου</value>
|
<value>Εισάγετε εδώ το μυστικό κλειδί</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Έχει επιτευχθεί ο μέγιστος επιτρεπόμενος αριθμός γκαλερί</value>
|
<value>Έχει επιτευχθεί ο μέγιστος επιτρεπόμενος αριθμός γκαλερί</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Παρακαλώ εισάγετε το όνομα χρήστη του λογαριασμού.</value>
|
<value>Παρακαλώ εισάγετε το όνομα χρήστη του λογαριασμού.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Διαχειριστής</value>
|
<value>Όνομα χρήστη</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Αποσύνδεση</value>
|
<value>Αποσύνδεση</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Τίτλος</value>
|
<value>Τίτλος</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Το περιεχόμενο που θα εμφανιστεί στη σελίδα πληροφοριών της CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Προσαρμοσμένη πολιτική cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Προσαρμοσμένες πολιτικές</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Αποτυχία λήψης ρυθμίσεων</value>
|
<value>Αποτυχία λήψης ρυθμίσεων</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Μυστικό κλειδί</value>
|
<value>Μυστικό κλειδί</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Θα πρέπει ο χρήστης να μπορεί να φιλτράρει και να ομαδοποιήσει τα μέσα?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Εμφάνιση φίλτρων</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Σε περίπτωση που επιτρέπεται στους επισκέπτες να ανεβάζουν αντικείμενα</value>
|
<value>Σε περίπτωση που επιτρέπεται στους επισκέπτες να ανεβάζουν αντικείμενα</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Θέμα</value>
|
<value>Θέμα</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Πρέπει ο χρήστης να δει τα αναδυόμενα στυλ GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ενεργοποίηση</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Προβολή σλάιντ</value>
|
<value>Προβολή σλάιντ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Επίσκεψη</value>
|
<value>Επίσκεψη</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Προειδοποίηση</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Σκουπίστε</value>
|
<value>Σκουπίστε</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Μη έγκυρη συλλογή</value>
|
<value>Μη έγκυρη συλλογή</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Αποδοχή</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Δράση</value>
|
<value>Δράση</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Η Bulk απέρριψε όλες τις εκκρεμείς κριτικές</value>
|
<value>Η Bulk απέρριψε όλες τις εκκρεμείς κριτικές</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Ένας επισκέπτης έχει εγκρίνει τη χρήση cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Δημιουργία συλλογής</value>
|
<value>Δημιουργία συλλογής</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Παρακαλούμε επικοινωνήστε με έναν διαχειριστή του site για να παρέχουν πρόσβαση</value>
|
<value>Παρακαλούμε επικοινωνήστε με έναν διαχειριστή του site για να παρέχουν πρόσβαση</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Αποτυχία καταγραφής ενός μηνύματος ελέγχου για την έγκριση cookie</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Πολιτική για τα cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Με τη χρήση αυτής της ιστοσελίδας συμφωνείτε με τη χρήση βασικών cookies σύμφωνα με τους όρους χρήσης των cookies. Για να μάθετε περισσότερα παρακαλώ δείτε μας</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Δημιουργία</value>
|
<value>Δημιουργία</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Σίγουρα θέλετε να διαγράψετε αυτή την γκαλερί?</value>
|
<value>Σίγουρα θέλετε να διαγράψετε αυτή την γκαλερί?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Αυτή είναι μια έκδοση επίδειξης. Όλες οι ρυθμίσεις σβήνονται περιοδικά για να εξασφαλιστεί μια καθαρή πλάκα για τους μελλοντικούς δοκιμαστές.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Εκτελείται Καταστροφική Δράση</value>
|
<value>Εκτελείται Καταστροφική Δράση</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Παρακαλώ εισάγετε το μυστικό κλειδί.</value>
|
<value>Παρακαλώ εισάγετε το μυστικό κλειδί.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>ημέρα γάμου</value>
|
<value>Εισάγετε εδώ το μυστικό κλειδί</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Έχει επιτευχθεί ο μέγιστος επιτρεπόμενος αριθμός γκαλερί</value>
|
<value>Έχει επιτευχθεί ο μέγιστος επιτρεπόμενος αριθμός γκαλερί</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Παρακαλώ εισάγετε το όνομα χρήστη του λογαριασμού.</value>
|
<value>Παρακαλώ εισάγετε το όνομα χρήστη του λογαριασμού.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Διαχειριστής</value>
|
<value>Όνομα χρήστη</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Αποσύνδεση</value>
|
<value>Αποσύνδεση</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Τίτλος</value>
|
<value>Τίτλος</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>Το περιεχόμενο που θα εμφανιστεί στη σελίδα πληροφοριών της CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Προσαρμοσμένη πολιτική cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Προσαρμοσμένες πολιτικές</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Αποτυχία λήψης ρυθμίσεων</value>
|
<value>Αποτυχία λήψης ρυθμίσεων</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Μυστικό κλειδί</value>
|
<value>Μυστικό κλειδί</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Θα πρέπει ο χρήστης να μπορεί να φιλτράρει και να ομαδοποιήσει τα μέσα?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Εμφάνιση φίλτρων</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Σε περίπτωση που επιτρέπεται στους επισκέπτες να ανεβάζουν αντικείμενα</value>
|
<value>Σε περίπτωση που επιτρέπεται στους επισκέπτες να ανεβάζουν αντικείμενα</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Θέμα</value>
|
<value>Θέμα</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Πρέπει ο χρήστης να δει τα αναδυόμενα στυλ GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Ενεργοποίηση</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Προβολή σλάιντ</value>
|
<value>Προβολή σλάιντ</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Επίσκεψη</value>
|
<value>Επίσκεψη</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Προειδοποίηση</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Σκουπίστε</value>
|
<value>Σκουπίστε</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accept</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Action</value>
|
<value>Action</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk rejected all pending reviews</value>
|
<value>Bulk rejected all pending reviews</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>A visitor has approved the use of cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Created gallery</value>
|
<value>Created gallery</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Please contact a site administrator to provide access</value>
|
<value>Please contact a site administrator to provide access</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Failed to log an audit message for cookie approval</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>By using this website you agree to our use of basic cookies in accordance with our terms of cookie usage. To find out more please view our</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Create</value>
|
<value>Create</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Are you sure you want to delete this gallery?</value>
|
<value>Are you sure you want to delete this gallery?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>This is a demo version. All configuration is periodically wiped to ensure a clean slate for future testers.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destructive Action Performed</value>
|
<value>Destructive Action Performed</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Please enter the secret key.</value>
|
<value>Please enter the secret key.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>wedding-day</value>
|
<value>Enter secret key here</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>The maximum allowed number of galleries has been reached</value>
|
<value>The maximum allowed number of galleries has been reached</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Please enter account username.</value>
|
<value>Please enter account username.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Username</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -601,9 +619,6 @@
|
|||||||
<data name="Settings_Basic" xml:space="preserve">
|
<data name="Settings_Basic" xml:space="preserve">
|
||||||
<value>Basic</value>
|
<value>Basic</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_Basic" xml:space="preserve">
|
|
||||||
<value>Basic</value>
|
|
||||||
</data>
|
|
||||||
<data name="Settings_Basic_BaseUrl_Help" xml:space="preserve">
|
<data name="Settings_Basic_BaseUrl_Help" xml:space="preserve">
|
||||||
<value>The base Url to be used in links and notifications</value>
|
<value>The base Url to be used in links and notifications</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -688,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Title</value>
|
<value>Title</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>The content to display on the CookiePolicy info page</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Custom Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Custom Policies</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Failed to get settings</value>
|
<value>Failed to get settings</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -820,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Secret Key</value>
|
<value>Secret Key</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Should the user be able to filter and group media?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Show Filters</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Should guests be allowed to upload items</value>
|
<value>Should guests be allowed to upload items</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -860,7 +890,7 @@
|
|||||||
<value>Access Token</value>
|
<value>Access Token</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck" xml:space="preserve">
|
<data name="Settings_IdentityCheck" xml:space="preserve">
|
||||||
<value>Identity Check</value>
|
<value>Guest Name</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_Enabled_Help" xml:space="preserve">
|
<data name="Settings_IdentityCheck_Enabled_Help" xml:space="preserve">
|
||||||
<value>Prompt users for their name</value>
|
<value>Prompt users for their name</value>
|
||||||
@@ -869,13 +899,13 @@
|
|||||||
<value>Enabled</value>
|
<value>Enabled</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_PageLoad_Help" xml:space="preserve">
|
<data name="Settings_IdentityCheck_PageLoad_Help" xml:space="preserve">
|
||||||
<value>Should the identity check be displayed at page load</value>
|
<value>Should the guest name check be displayed at page load</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_PageLoad_Label" xml:space="preserve">
|
<data name="Settings_IdentityCheck_PageLoad_Label" xml:space="preserve">
|
||||||
<value>Page Load Prompt</value>
|
<value>Page Load Prompt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_Upload_Help" xml:space="preserve">
|
<data name="Settings_IdentityCheck_Upload_Help" xml:space="preserve">
|
||||||
<value>Should the identity check be required to upload media</value>
|
<value>Should the guest name check be required to upload media</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_Upload_Label" xml:space="preserve">
|
<data name="Settings_IdentityCheck_Upload_Label" xml:space="preserve">
|
||||||
<value>Upload Prompt</value>
|
<value>Upload Prompt</value>
|
||||||
@@ -928,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Topic</value>
|
<value>Topic</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Should the user see GDPR style popups?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1093,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visit</value>
|
<value>Visit</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warning</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Accept</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Action</value>
|
<value>Action</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk rejected all pending reviews</value>
|
<value>Bulk rejected all pending reviews</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>A visitor has approved the use of cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Created gallery</value>
|
<value>Created gallery</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Please contact a site administrator to provide access</value>
|
<value>Please contact a site administrator to provide access</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Failed to log an audit message for cookie approval</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>By using this website you agree to our use of basic cookies in accordance with our terms of cookie usage. To find out more please view our</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Create</value>
|
<value>Create</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Are you sure you want to delete this gallery?</value>
|
<value>Are you sure you want to delete this gallery?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>This is a demo version. All configuration is periodically wiped to ensure a clean slate for future testers.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destructive Action Performed</value>
|
<value>Destructive Action Performed</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Please enter the secret key.</value>
|
<value>Please enter the secret key.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>wedding-day</value>
|
<value>Enter secret key here</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>The maximum allowed number of galleries has been reached</value>
|
<value>The maximum allowed number of galleries has been reached</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Please enter account username.</value>
|
<value>Please enter account username.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Username</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Logout</value>
|
<value>Logout</value>
|
||||||
@@ -601,9 +619,6 @@
|
|||||||
<data name="Settings_Basic" xml:space="preserve">
|
<data name="Settings_Basic" xml:space="preserve">
|
||||||
<value>Basic</value>
|
<value>Basic</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_Basic" xml:space="preserve">
|
|
||||||
<value>Basic</value>
|
|
||||||
</data>
|
|
||||||
<data name="Settings_Basic_BaseUrl_Help" xml:space="preserve">
|
<data name="Settings_Basic_BaseUrl_Help" xml:space="preserve">
|
||||||
<value>The base Url to be used in links and notifications</value>
|
<value>The base Url to be used in links and notifications</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -688,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Title</value>
|
<value>Title</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>The content to display on the CookiePolicy info page</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Custom Cookie Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Custom Policies</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Failed to get settings</value>
|
<value>Failed to get settings</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -820,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Secret Key</value>
|
<value>Secret Key</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Should the user be able to filter and group media?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Show Filters</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Should guests be allowed to upload items</value>
|
<value>Should guests be allowed to upload items</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -860,7 +890,7 @@
|
|||||||
<value>Access Token</value>
|
<value>Access Token</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck" xml:space="preserve">
|
<data name="Settings_IdentityCheck" xml:space="preserve">
|
||||||
<value>Identity Check</value>
|
<value>Guest Name</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_Enabled_Help" xml:space="preserve">
|
<data name="Settings_IdentityCheck_Enabled_Help" xml:space="preserve">
|
||||||
<value>Prompt users for their name</value>
|
<value>Prompt users for their name</value>
|
||||||
@@ -869,13 +899,13 @@
|
|||||||
<value>Enabled</value>
|
<value>Enabled</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_PageLoad_Help" xml:space="preserve">
|
<data name="Settings_IdentityCheck_PageLoad_Help" xml:space="preserve">
|
||||||
<value>Should the identity check be displayed at page load</value>
|
<value>Should the guest name check be displayed at page load</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_PageLoad_Label" xml:space="preserve">
|
<data name="Settings_IdentityCheck_PageLoad_Label" xml:space="preserve">
|
||||||
<value>Page Load Prompt</value>
|
<value>Page Load Prompt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_Upload_Help" xml:space="preserve">
|
<data name="Settings_IdentityCheck_Upload_Help" xml:space="preserve">
|
||||||
<value>Should the identity check be required to upload media</value>
|
<value>Should the guest name check be required to upload media</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Settings_IdentityCheck_Upload_Label" xml:space="preserve">
|
<data name="Settings_IdentityCheck_Upload_Label" xml:space="preserve">
|
||||||
<value>Upload Prompt</value>
|
<value>Upload Prompt</value>
|
||||||
@@ -928,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Topic</value>
|
<value>Topic</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Should the user see GDPR style popups?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1093,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visit</value>
|
<value>Visit</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Warning</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Akcepto</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Ago</value>
|
<value>Ago</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk malaprobis ĉiujn klarigitajn recenzojn</value>
|
<value>Bulk malaprobis ĉiujn klarigitajn recenzojn</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Vizito aprobis la uzon de kuketoj</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Kreita galerio</value>
|
<value>Kreita galerio</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bonvolu kontakti retejon administranto por provizi aliron</value>
|
<value>Bonvolu kontakti retejon administranto por provizi aliron</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Malsukcesa por ensaluti revizimesaĝon por kliko</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie Politiko</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Uzante ĉi tiun retejon vi konsentas al nia uzo de bazaj kuketoj laŭ niaj kondiĉoj de kuketo-uzokutimo. Por ekscii pli, bonvolu vidi nian</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Krei</value>
|
<value>Krei</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Ĉu vi volas forigi tiun galerion?</value>
|
<value>Ĉu vi volas forigi tiun galerion?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Tio estas demo versio. Ĉiu konfiguracio periode estas forviŝita por certigi puran ardezon por estontaj testistoj.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktura Ago rezultas</value>
|
<value>Destruktura Ago rezultas</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bonvolu eniri la sekretan ŝlosilon.</value>
|
<value>Bonvolu eniri la sekretan ŝlosilon.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>geedziĝ-tago</value>
|
<value>Enmetu sekretan ŝlosilon ĉi tie</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>La maksimuma permesita nombro da galerioj estis atingita</value>
|
<value>La maksimuma permesita nombro da galerioj estis atingita</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bonvolu eniri konton uzantnomo.</value>
|
<value>Bonvolu eniri konton uzantnomo.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Uzantnomo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Diskuto</value>
|
<value>Diskuto</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titolo</value>
|
<value>Titolo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>La enhavo por montri sur la CookiePolicy info paĝo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kutimo Cookie Politiko</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Kutimaj Politikoj</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Malsukcesis akiri agordojn</value>
|
<value>Malsukcesis akiri agordojn</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Sekretoj</value>
|
<value>Sekretoj</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Ĉu la uzanto povas filtri kaj grupigi amaskomunikilojn?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Montri Filters</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Ĉu gastoj rajtas alŝuti erojn</value>
|
<value>Ĉu gastoj rajtas alŝuti erojn</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Temoj</value>
|
<value>Temoj</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Ĉu la uzanto vidas GDPR stilajn poplojn?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Vizito</value>
|
<value>Vizito</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Averto</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Invalid Gallery</value>
|
<value>Invalid Gallery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Akcepto</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Ago</value>
|
<value>Ago</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk malaprobis ĉiujn klarigitajn recenzojn</value>
|
<value>Bulk malaprobis ĉiujn klarigitajn recenzojn</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Vizito aprobis la uzon de kuketoj</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Kreita galerio</value>
|
<value>Kreita galerio</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Bonvolu kontakti retejon administranto por provizi aliron</value>
|
<value>Bonvolu kontakti retejon administranto por provizi aliron</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>Malsukcesa por ensaluti revizimesaĝon por kliko</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Cookie Politiko</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Uzante ĉi tiun retejon vi konsentas al nia uzo de bazaj kuketoj laŭ niaj kondiĉoj de kuketo-uzokutimo. Por ekscii pli, bonvolu vidi nian</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Krei</value>
|
<value>Krei</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>Ĉu vi volas forigi tiun galerion?</value>
|
<value>Ĉu vi volas forigi tiun galerion?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Tio estas demo versio. Ĉiu konfiguracio periode estas forviŝita por certigi puran ardezon por estontaj testistoj.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destruktura Ago rezultas</value>
|
<value>Destruktura Ago rezultas</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Bonvolu eniri la sekretan ŝlosilon.</value>
|
<value>Bonvolu eniri la sekretan ŝlosilon.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>geedziĝ-tago</value>
|
<value>Enmetu sekretan ŝlosilon ĉi tie</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>La maksimuma permesita nombro da galerioj estis atingita</value>
|
<value>La maksimuma permesita nombro da galerioj estis atingita</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Bonvolu eniri konton uzantnomo.</value>
|
<value>Bonvolu eniri konton uzantnomo.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Uzantnomo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Diskuto</value>
|
<value>Diskuto</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Titolo</value>
|
<value>Titolo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>La enhavo por montri sur la CookiePolicy info paĝo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Kutimo Cookie Politiko</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Kutimaj Politikoj</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Malsukcesis akiri agordojn</value>
|
<value>Malsukcesis akiri agordojn</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Sekretoj</value>
|
<value>Sekretoj</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>Ĉu la uzanto povas filtri kaj grupigi amaskomunikilojn?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Montri Filters</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Ĉu gastoj rajtas alŝuti erojn</value>
|
<value>Ĉu gastoj rajtas alŝuti erojn</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Temoj</value>
|
<value>Temoj</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>Ĉu la uzanto vidas GDPR stilajn poplojn?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Vizito</value>
|
<value>Vizito</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Averto</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galería Inválida</value>
|
<value>Galería Inválida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Aceptar</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Medida</value>
|
<value>Medida</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk rechazó todos los exámenes pendientes</value>
|
<value>Bulk rechazó todos los exámenes pendientes</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitante ha aprobado el uso de cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Galería creada</value>
|
<value>Galería creada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Por favor contacte con un administrador del sitio para proporcionar acceso</value>
|
<value>Por favor contacte con un administrador del sitio para proporcionar acceso</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>No logré un mensaje de auditoría para la aprobación de las cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Al utilizar este sitio web usted acepta el uso de cookies básicas de acuerdo con nuestros términos de uso de cookies. Para saber más, por favor vea nuestra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crear</value>
|
<value>Crear</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>¿Estás seguro de querer borrar esta galería?</value>
|
<value>¿Estás seguro de querer borrar esta galería?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Es una versión demo. Toda la configuración se limpia periódicamente para asegurar una pizarra limpia para futuros probadores.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destructive Action Performed</value>
|
<value>Destructive Action Performed</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Por favor, introduce la llave secreta.</value>
|
<value>Por favor, introduce la llave secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>boda-día</value>
|
<value>Entra la llave secreta aquí</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Se ha alcanzado el número máximo permitido de galerías</value>
|
<value>Se ha alcanzado el número máximo permitido de galerías</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Por favor ingrese el nombre de usuario de la cuenta.</value>
|
<value>Por favor ingrese el nombre de usuario de la cuenta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Nombre de usuario</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Cerrar sesión</value>
|
<value>Cerrar sesión</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Título</value>
|
<value>Título</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contenido para mostrar en la página Información sobre CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de cookies personalizada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Políticas aduaneras</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Failed to get settings</value>
|
<value>Failed to get settings</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Secret Key</value>
|
<value>Secret Key</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>¿Debería el usuario poder filtrar y agrupar los medios?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostrar filtros</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Si se permite a los huéspedes subir artículos</value>
|
<value>Si se permite a los huéspedes subir artículos</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>¿Debería el usuario ver popups de estilo GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visita</value>
|
<value>Visita</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Advertencia</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -94,6 +94,9 @@
|
|||||||
<data name="406_Error_Title" xml:space="preserve">
|
<data name="406_Error_Title" xml:space="preserve">
|
||||||
<value>Galería Inválida</value>
|
<value>Galería Inválida</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Accept" xml:space="preserve">
|
||||||
|
<value>Aceptar</value>
|
||||||
|
</data>
|
||||||
<data name="Action" xml:space="preserve">
|
<data name="Action" xml:space="preserve">
|
||||||
<value>Medida</value>
|
<value>Medida</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -118,6 +121,9 @@
|
|||||||
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
<data name="Audit_BulkRejectReviews" xml:space="preserve">
|
||||||
<value>Bulk rechazó todos los exámenes pendientes</value>
|
<value>Bulk rechazó todos los exámenes pendientes</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Audit_CookieConsentApproved" xml:space="preserve">
|
||||||
|
<value>Un visitante ha aprobado el uso de cookies</value>
|
||||||
|
</data>
|
||||||
<data name="Audit_CreatedGallery" xml:space="preserve">
|
<data name="Audit_CreatedGallery" xml:space="preserve">
|
||||||
<value>Galería creada</value>
|
<value>Galería creada</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,6 +241,15 @@
|
|||||||
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
<data name="Contact_Admin_For_Access" xml:space="preserve">
|
||||||
<value>Por favor contacte con un administrador del sitio para proporcionar acceso</value>
|
<value>Por favor contacte con un administrador del sitio para proporcionar acceso</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Cookie_Audit_Error" xml:space="preserve">
|
||||||
|
<value>No logré un mensaje de auditoría para la aprobación de las cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Button_Text" xml:space="preserve">
|
||||||
|
<value>Política de cookies</value>
|
||||||
|
</data>
|
||||||
|
<data name="CookiePolicy_Message_Short" xml:space="preserve">
|
||||||
|
<value>Al utilizar este sitio web usted acepta el uso de cookies básicas de acuerdo con nuestros términos de uso de cookies. Para saber más, por favor vea nuestra</value>
|
||||||
|
</data>
|
||||||
<data name="Create" xml:space="preserve">
|
<data name="Create" xml:space="preserve">
|
||||||
<value>Crear</value>
|
<value>Crear</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -271,6 +286,9 @@
|
|||||||
<data name="Delete_Confirmation" xml:space="preserve">
|
<data name="Delete_Confirmation" xml:space="preserve">
|
||||||
<value>¿Estás seguro de querer borrar esta galería?</value>
|
<value>¿Estás seguro de querer borrar esta galería?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Demo_Message" xml:space="preserve">
|
||||||
|
<value>Es una versión demo. Toda la configuración se limpia periódicamente para asegurar una pizarra limpia para futuros probadores.</value>
|
||||||
|
</data>
|
||||||
<data name="Destructive_Action_Performed" xml:space="preserve">
|
<data name="Destructive_Action_Performed" xml:space="preserve">
|
||||||
<value>Destructive Action Performed</value>
|
<value>Destructive Action Performed</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -371,7 +389,7 @@
|
|||||||
<value>Por favor, introduce la llave secreta.</value>
|
<value>Por favor, introduce la llave secreta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
<data name="Gallery_Key_Placeholder" xml:space="preserve">
|
||||||
<value>boda-día</value>
|
<value>Entra la llave secreta aquí</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
<data name="Gallery_Limit_Reached" xml:space="preserve">
|
||||||
<value>Se ha alcanzado el número máximo permitido de galerías</value>
|
<value>Se ha alcanzado el número máximo permitido de galerías</value>
|
||||||
@@ -449,7 +467,7 @@
|
|||||||
<value>Por favor ingrese el nombre de usuario de la cuenta.</value>
|
<value>Por favor ingrese el nombre de usuario de la cuenta.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Login_Username_Placeholder" xml:space="preserve">
|
<data name="Login_Username_Placeholder" xml:space="preserve">
|
||||||
<value>Admin</value>
|
<value>Nombre de usuario</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logout" xml:space="preserve">
|
<data name="Logout" xml:space="preserve">
|
||||||
<value>Cerrar sesión</value>
|
<value>Cerrar sesión</value>
|
||||||
@@ -685,6 +703,15 @@
|
|||||||
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
<data name="Settings_Basic_Title_Label" xml:space="preserve">
|
||||||
<value>Título</value>
|
<value>Título</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Help" xml:space="preserve">
|
||||||
|
<value>El contenido para mostrar en la página Información sobre CookiePolicy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomCookiePolicy_Label" xml:space="preserve">
|
||||||
|
<value>Política de cookies personalizada</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_CustomPolicies" xml:space="preserve">
|
||||||
|
<value>Políticas aduaneras</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Failed" xml:space="preserve">
|
<data name="Settings_Failed" xml:space="preserve">
|
||||||
<value>Failed to get settings</value>
|
<value>Failed to get settings</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -817,6 +844,12 @@
|
|||||||
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
<data name="Settings_Gallery_SecretKey_Label" xml:space="preserve">
|
||||||
<value>Secret Key</value>
|
<value>Secret Key</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Help" xml:space="preserve">
|
||||||
|
<value>¿Debería el usuario poder filtrar y agrupar los medios?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_Gallery_ShowFilters_Label" xml:space="preserve">
|
||||||
|
<value>Mostrar filtros</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
<data name="Settings_Gallery_Upload_Help" xml:space="preserve">
|
||||||
<value>Si se permite a los huéspedes subir artículos</value>
|
<value>Si se permite a los huéspedes subir artículos</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -925,6 +958,12 @@
|
|||||||
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
<data name="Settings_Ntfy_Topic_Label" xml:space="preserve">
|
||||||
<value>Tema</value>
|
<value>Tema</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Help" xml:space="preserve">
|
||||||
|
<value>¿Debería el usuario ver popups de estilo GDPR?</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings_PoliciesEnabled_Label" xml:space="preserve">
|
||||||
|
<value>Enabled</value>
|
||||||
|
</data>
|
||||||
<data name="Settings_Slideshow" xml:space="preserve">
|
<data name="Settings_Slideshow" xml:space="preserve">
|
||||||
<value>Slideshow</value>
|
<value>Slideshow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1090,6 +1129,9 @@
|
|||||||
<data name="Visit" xml:space="preserve">
|
<data name="Visit" xml:space="preserve">
|
||||||
<value>Visita</value>
|
<value>Visita</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Warning" xml:space="preserve">
|
||||||
|
<value>Advertencia</value>
|
||||||
|
</data>
|
||||||
<data name="Wipe" xml:space="preserve">
|
<data name="Wipe" xml:space="preserve">
|
||||||
<value>Wipe</value>
|
<value>Wipe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user