update translations

pull/702/head
Luke Pulverenti 10 years ago
parent 561b630210
commit 576768de59

@ -652,7 +652,13 @@ namespace MediaBrowser.Api.Images
{
if ((Request.AcceptTypes ?? new string[] { }).Contains("image/webp", StringComparer.OrdinalIgnoreCase))
{
return new[] { ImageOutputFormat.Webp, ImageOutputFormat.Jpg, ImageOutputFormat.Png };
var userAgent = Request.UserAgent ?? string.Empty;
// Not displaying properly on iOS
if (userAgent.IndexOf("cfnetwork", StringComparison.OrdinalIgnoreCase) == -1)
{
return new[] { ImageOutputFormat.Webp, ImageOutputFormat.Jpg, ImageOutputFormat.Png };
}
}
return new[] { ImageOutputFormat.Jpg, ImageOutputFormat.Png };

@ -52,7 +52,15 @@ namespace MediaBrowser.Api.Playback
else
{
var hasMediaSources = (IHasMediaSources)item;
mediaSources = hasMediaSources.GetMediaSources(true, user);
if (user == null)
{
mediaSources = hasMediaSources.GetMediaSources(true);
}
else
{
mediaSources = hasMediaSources.GetMediaSources(true, user);
}
}
return ToOptimizedResult(new LiveMediaInfoResult

@ -421,7 +421,6 @@ namespace MediaBrowser.Api.Playback.Progressive
if (!File.Exists(outputPath))
{
job = await StartFfMpeg(state, outputPath, cancellationTokenSource).ConfigureAwait(false);
job.ActiveRequestCount++;
}
else
{

@ -1,6 +1,4 @@
using MediaBrowser.Common.Configuration;
using System;
using System.Configuration;
using System.IO;
namespace MediaBrowser.Common.Implementations
@ -11,20 +9,6 @@ namespace MediaBrowser.Common.Implementations
/// </summary>
public abstract class BaseApplicationPaths : IApplicationPaths
{
/// <summary>
/// The _use debug path
/// </summary>
private readonly bool _useDebugPath;
/// <summary>
/// Initializes a new instance of the <see cref="BaseApplicationPaths" /> class.
/// </summary>
protected BaseApplicationPaths(bool useDebugPath, string applicationPath)
{
_useDebugPath = useDebugPath;
ApplicationPath = applicationPath;
}
/// <summary>
/// Initializes a new instance of the <see cref="BaseApplicationPaths"/> class.
/// </summary>
@ -39,17 +23,14 @@ namespace MediaBrowser.Common.Implementations
/// <summary>
/// The _program data path
/// </summary>
private string _programDataPath;
private readonly string _programDataPath;
/// <summary>
/// Gets the path to the program data folder
/// </summary>
/// <value>The program data path.</value>
public string ProgramDataPath
{
get
{
return _programDataPath ?? (_programDataPath = GetProgramDataPath());
}
get { return _programDataPath; }
}
/// <summary>
@ -202,35 +183,5 @@ namespace MediaBrowser.Common.Implementations
return Path.Combine(CachePath, "temp");
}
}
/// <summary>
/// Gets the path to the application's ProgramDataFolder
/// </summary>
/// <returns>System.String.</returns>
private string GetProgramDataPath()
{
var programDataPath = _useDebugPath ? ConfigurationManager.AppSettings["DebugProgramDataPath"] : ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
// If it's a relative path, e.g. "..\"
if (!Path.IsPathRooted(programDataPath))
{
var path = Path.GetDirectoryName(ApplicationPath);
if (string.IsNullOrEmpty(path))
{
throw new ApplicationException("Unable to determine running assembly location");
}
programDataPath = Path.Combine(path, programDataPath);
programDataPath = Path.GetFullPath(programDataPath);
}
Directory.CreateDirectory(programDataPath);
return programDataPath;
}
}
}

@ -13,7 +13,6 @@ using System.IO;
using System.Linq;
using System.Net;
using System.Net.Cache;
using System.Net.Http;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

@ -61,11 +61,9 @@
<HintPath>..\packages\SimpleInjector.2.6.1\lib\net45\SimpleInjector.Diagnostics.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="SharpCompress">
<HintPath>..\packages\sharpcompress.0.10.2\lib\net40\SharpCompress.dll</HintPath>

@ -70,7 +70,6 @@
<Compile Include="Configuration\IApplicationPaths.cs" />
<Compile Include="Net\HttpRequestOptions.cs" />
<Compile Include="Net\HttpResponseInfo.cs" />
<Compile Include="Net\IServerManager.cs" />
<Compile Include="Net\IWebSocketListener.cs" />
<Compile Include="IApplicationHost.cs" />
<Compile Include="Net\IHttpClient.cs" />

@ -220,6 +220,7 @@
<Compile Include="Net\IHttpResultFactory.cs" />
<Compile Include="Net\IHttpServer.cs" />
<Compile Include="Net\IRestfulService.cs" />
<Compile Include="Net\IServerManager.cs" />
<Compile Include="Net\IServiceRequest.cs" />
<Compile Include="Net\ISessionContext.cs" />
<Compile Include="Net\LoggedAttribute.cs" />

@ -1,9 +1,10 @@
using System;
using MediaBrowser.Common.Net;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Common.Net
namespace MediaBrowser.Controller.Net
{
/// <summary>
/// Interface IServerManager

@ -228,8 +228,9 @@ namespace MediaBrowser.Model.ApiClient
/// Gets the live media information.
/// </summary>
/// <param name="itemId">The item identifier.</param>
/// <param name="userId">The user identifier.</param>
/// <returns>Task&lt;LiveMediaInfoResult&gt;.</returns>
Task<LiveMediaInfoResult> GetLiveMediaInfo(string itemId);
Task<LiveMediaInfoResult> GetLiveMediaInfo(string itemId, string userId);
/// <summary>
/// Gets the users async.

@ -1,4 +1,4 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Notifications;
using MediaBrowser.Controller.Plugins;
using System.Linq;

@ -1,11 +1,11 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Common.Updates;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Events;

@ -623,29 +623,20 @@ namespace MediaBrowser.Server.Implementations.Library
public List<T> ResolvePaths<T>(IEnumerable<FileSystemInfo> files, IDirectoryService directoryService, Folder parent, string collectionType = null)
where T : BaseItem
{
var list = new List<T>();
Parallel.ForEach(files, f =>
return files.Select(f =>
{
try
{
var item = ResolvePath(f, directoryService, parent, collectionType) as T;
if (item != null)
{
lock (list)
{
list.Add(item);
}
}
return ResolvePath(f, directoryService, parent, collectionType) as T;
}
catch (Exception ex)
{
_logger.ErrorException("Error resolving path {0}", ex, f.FullName);
return null;
}
});
return list;
}).Where(i => i != null)
.ToList();
}
/// <summary>

@ -285,7 +285,7 @@
"LabelPremiereProgram": "PREMIERE",
"LabelHDProgram": "HD",
"HeaderChangeFolderType": "Cambia il tipo di cartella",
"HeaderChangeFolderTypeHelp": "Per cambiare il tipo di cartella, rimuovere e ricostruire la collezione con il nuovo tipo.",
"HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
"HeaderAlert": "Avviso",
"MessagePleaseRestart": "Si prega di riavviare per completare l'aggiornamento.",
"ButtonRestart": "Riavvia",
@ -617,14 +617,14 @@
"DefaultErrorMessage": "Si \u00e8 verificato un errore durante l'elaborazione della richiesta. Si prega di riprovare pi\u00f9 tardi.",
"ButtonAccept": "Accetta",
"ButtonReject": "Rifiuta",
"HeaderForgotPassword": "Forgot Password",
"MessageContactAdminToResetPassword": "Please contact your system administrator to reset your password.",
"MessageForgotPasswordInNetworkRequired": "Please try again within your home network to initiate the password reset process.",
"MessageForgotPasswordFileCreated": "The following file has been created on your server and contains instructions on how to proceed:",
"MessageForgotPasswordFileExpiration": "The reset pin will expire at {0}.",
"MessageInvalidForgotPasswordPin": "An invalid or expired pin was entered. Please try again.",
"MessagePasswordResetForUsers": "Passwords have been reset for the following users:",
"HeaderInviteGuest": "Invite Guest",
"ButtonLinkMyMediaBrowserAccount": "Link my account now",
"MessageConnectAccountRequiredToInviteGuest": "In order to invite guests you need to first link your Media Browser account to this server."
"HeaderForgotPassword": "Password dimenticata",
"MessageContactAdminToResetPassword": "Si prega di contattare l'amministratore di sistema per reimpostare la password.",
"MessageForgotPasswordInNetworkRequired": "Riprova all'interno della rete domestica per avviare il processo di reimpostazione della password.",
"MessageForgotPasswordFileCreated": "Il seguente file \u00e8 stato creato sul server e contiene le istruzioni su come procedere:",
"MessageForgotPasswordFileExpiration": "Il pin scadr\u00e0 {0}.",
"MessageInvalidForgotPasswordPin": "Un pin Invalido o scaduto \u00e8 stato inserito. Riprova.",
"MessagePasswordResetForUsers": "Le password sono state rimesse per i seguenti utenti:",
"HeaderInviteGuest": "Invita Ospite",
"ButtonLinkMyMediaBrowserAccount": "Collega il mio account",
"MessageConnectAccountRequiredToInviteGuest": "Per invitare gli ospiti \u00e8 necessario collegare prima il tuo account browser media a questo server."
}

@ -285,7 +285,7 @@
"LabelPremiereProgram": "PREMIERE",
"LabelHDProgram": "HD",
"HeaderChangeFolderType": "Endre Mappe Type",
"HeaderChangeFolderTypeHelp": "For \u00e5 endre mappe type, vennligst fjern og bygg samlingen med en ny type.",
"HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
"HeaderAlert": "Varsling",
"MessagePleaseRestart": "Vennligst utf\u00f8r en omstart for \u00e5 fullf\u00f8re oppdatering.",
"ButtonRestart": "Restart",

@ -285,7 +285,7 @@
"LabelPremiereProgram": "PREMIERE",
"LabelHDProgram": "HD",
"HeaderChangeFolderType": "Verander Maptype",
"HeaderChangeFolderTypeHelp": "Als u het type map wilt wijzigen, verwijder het dan en maak dan een nieuwe collectie met het nieuwe type.",
"HeaderChangeFolderTypeHelp": "Als u het type map wilt wijzigen, verwijder het dan en maak dan een nieuwe map met het nieuwe type.",
"HeaderAlert": "Waarschuwing",
"MessagePleaseRestart": "Herstart om update te voltooien.",
"ButtonRestart": "Herstart",

@ -285,7 +285,7 @@
"LabelPremiereProgram": "PREMI\u00c4R",
"LabelHDProgram": "HD",
"HeaderChangeFolderType": "\u00c4ndra mapptyp",
"HeaderChangeFolderTypeHelp": "F\u00f6r att \u00e4ndra mapptyp, ta bort den existerande och skapa en ny av den \u00f6nskade typen.",
"HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
"HeaderAlert": "Varning",
"MessagePleaseRestart": "V\u00e4nligen starta om f\u00f6r att slutf\u00f6ra uppdateringarna.",
"ButtonRestart": "Starta om",

@ -285,7 +285,7 @@
"LabelPremiereProgram": "\u9996\u6620\u5f0f",
"LabelHDProgram": "HD\u9ad8\u6e05",
"HeaderChangeFolderType": "\u53d8\u66f4\u6587\u4ef6\u5939\u7c7b\u578b",
"HeaderChangeFolderTypeHelp": "\u5982\u8981\u53d8\u66f4\u6587\u4ef6\u5939\u7c7b\u578b\uff0c\u8bf7\u79fb\u9664\u5408\u96c6\u5e76\u7528\u65b0\u7c7b\u578b\u91cd\u5efa\u3002",
"HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
"HeaderAlert": "\u8b66\u62a5",
"MessagePleaseRestart": "\u8bf7\u91cd\u542f\u670d\u52a1\u5668\u4ee5\u5b8c\u6210\u66f4\u65b0\u3002",
"ButtonRestart": "\u91cd\u542f",

@ -1232,7 +1232,7 @@
"HeaderCameraUploadHelp": "Automatically upload photos and videos taken from your mobile devices into Media Browser.",
"MessageNoDevicesSupportCameraUpload": "You currently don't have any devices that support camera upload.",
"LabelCameraUploadPath": "Camera upload path:",
"LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified a default folder will be used.",
"LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified a default folder will be used. If using a custom path it will also need to be added in the library setup area.",
"LabelCreateCameraUploadSubfolder": "Create a subfolder for each device",
"LabelCreateCameraUploadSubfolderHelp": "Specific folders can be assigned to a device by clicking on it from the Devices page.",
"LabelCustomDeviceDisplayName": "Display name:",

@ -1,6 +1,5 @@
using MediaBrowser.Common.Implementations;
using MediaBrowser.Controller;
using System;
using System.IO;
namespace MediaBrowser.Server.Implementations
@ -10,24 +9,6 @@ namespace MediaBrowser.Server.Implementations
/// </summary>
public class ServerApplicationPaths : BaseApplicationPaths, IServerApplicationPaths
{
#if (DEBUG)
/// <summary>
/// Initializes a new instance of the <see cref="ServerApplicationPaths" /> class.
/// </summary>
public ServerApplicationPaths(string applicationPath)
: base(true, applicationPath)
{
}
#else
/// <summary>
/// Initializes a new instance of the <see cref="ServerApplicationPaths"/> class.
/// </summary>
public ServerApplicationPaths(string applicationPath)
: base(false, applicationPath)
{
}
#endif
/// <summary>
/// Initializes a new instance of the <see cref="BaseApplicationPaths" /> class.
/// </summary>

@ -165,12 +165,12 @@ namespace MediaBrowser.Server.Mono.Native
return info;
}
private NativeApp.Uname _unixName;
private NativeApp.Uname GetUnixName()
private Uname _unixName;
private Uname GetUnixName()
{
if (_unixName == null)
{
var uname = new NativeApp.Uname();
var uname = new Uname();
Utsname utsname;
var callResult = Syscall.uname(out utsname);
if (callResult == 0)

@ -58,7 +58,7 @@ namespace MediaBrowser.Server.Mono
{
if (string.IsNullOrEmpty(programDataPath))
{
return new ServerApplicationPaths(applicationPath);
return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(applicationPath), applicationPath);
}
return new ServerApplicationPaths(programDataPath, applicationPath);

@ -0,0 +1,45 @@
using System;
using System.Configuration;
using System.IO;
namespace MediaBrowser.Server.Startup.Common
{
public static class ApplicationPathHelper
{
/// <summary>
/// Gets the path to the application's ProgramDataFolder
/// </summary>
/// <returns>System.String.</returns>
public static string GetProgramDataPath(string applicationPath)
{
var useDebugPath = false;
#if DEBUG
useDebugPath = true;
#endif
var programDataPath = useDebugPath ? ConfigurationManager.AppSettings["DebugProgramDataPath"] : ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
// If it's a relative path, e.g. "..\"
if (!Path.IsPathRooted(programDataPath))
{
var path = Path.GetDirectoryName(applicationPath);
if (string.IsNullOrEmpty(path))
{
throw new ApplicationException("Unable to determine running assembly location");
}
programDataPath = Path.Combine(path, programDataPath);
programDataPath = Path.GetFullPath(programDataPath);
}
Directory.CreateDirectory(programDataPath);
return programDataPath;
}
}
}

@ -41,6 +41,7 @@
<HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@ -53,6 +54,7 @@
<Link>Properties\SharedVersion.cs</Link>
</Compile>
<Compile Include="ApplicationHost.cs" />
<Compile Include="ApplicationPathHelper.cs" />
<Compile Include="Browser\BrowserLauncher.cs" />
<Compile Include="EntryPoints\KeepServerAwake.cs" />
<Compile Include="EntryPoints\StartupWizard.cs" />

@ -148,6 +148,7 @@ namespace MediaBrowser.ServerApplication
/// <summary>
/// Creates the application paths.
/// </summary>
/// <param name="applicationPath">The application path.</param>
/// <param name="runAsService">if set to <c>true</c> [run as service].</param>
/// <returns>ServerApplicationPaths.</returns>
private static ServerApplicationPaths CreateApplicationPaths(string applicationPath, bool runAsService)
@ -161,7 +162,7 @@ namespace MediaBrowser.ServerApplication
return new ServerApplicationPaths(programDataPath, applicationPath);
}
return new ServerApplicationPaths(applicationPath);
return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(applicationPath), applicationPath);
}
/// <summary>

@ -3,6 +3,6 @@
#if (DEBUG)
[assembly: AssemblyVersion("3.0.*")]
#else
//[assembly: AssemblyVersion("3.0.*")]
[assembly: AssemblyVersion("3.0.5441.2")]
[assembly: AssemblyVersion("3.0.*")]
//[assembly: AssemblyVersion("3.0.5441.2")]
#endif

Loading…
Cancel
Save