mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-18 00:21:33 -07:00
Localise more custom dialog related strings (#4881)
* translate template comments * localise default custom theme name
This commit is contained in:
parent
9ef6579a41
commit
338ebba191
@ -1,10 +1,36 @@
|
|||||||
namespace Bloxstrap.Extensions
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Bloxstrap.Extensions
|
||||||
{
|
{
|
||||||
static class CustomThemeTemplateEx
|
static class CustomThemeTemplateEx
|
||||||
{
|
{
|
||||||
|
const string EXAMPLES_URL = "https://github.com/bloxstraplabs/custom-bootstrapper-examples";
|
||||||
|
|
||||||
public static string GetFileName(this CustomThemeTemplate template)
|
public static string GetFileName(this CustomThemeTemplate template)
|
||||||
{
|
{
|
||||||
return $"CustomBootstrapperTemplate_{template}.xml";
|
return $"CustomBootstrapperTemplate_{template}.xml";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetFileContents(this CustomThemeTemplate template)
|
||||||
|
{
|
||||||
|
string contents = Encoding.UTF8.GetString(Resource.Get(template.GetFileName()).Result);
|
||||||
|
|
||||||
|
switch (template)
|
||||||
|
{
|
||||||
|
case CustomThemeTemplate.Blank:
|
||||||
|
{
|
||||||
|
string moreText = string.Format(Strings.CustomTheme_Templates_Blank_MoreExamples, EXAMPLES_URL);
|
||||||
|
return string.Format(contents, Strings.CustomTheme_Templates_Blank_UIElements, moreText);
|
||||||
|
}
|
||||||
|
case CustomThemeTemplate.Simple:
|
||||||
|
{
|
||||||
|
string moreText = string.Format(Strings.CustomTheme_Templates_Simple_MoreExamples, EXAMPLES_URL);
|
||||||
|
return string.Format(contents, moreText);
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
Debug.Assert(false);
|
||||||
|
return contents;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<BloxstrapCustomBootstrapper Version="1" Height="320" Width="500">
|
<BloxstrapCustomBootstrapper Version="1" Height="320" Width="500">
|
||||||
<!-- Put UI elements here -->
|
<!-- {0} -->
|
||||||
<!-- Examples of custom bootstrappers can be found at https://github.com/bloxstraplabs/custom-bootstrapper-examples -->
|
<!-- {1} -->
|
||||||
</BloxstrapCustomBootstrapper>
|
</BloxstrapCustomBootstrapper>
|
@ -1,5 +1,5 @@
|
|||||||
<BloxstrapCustomBootstrapper Version="1" Height="320" Width="520" IgnoreTitleBarInset="True" Theme="Default" Margin="30">
|
<BloxstrapCustomBootstrapper Version="1" Height="320" Width="520" IgnoreTitleBarInset="True" Theme="Default" Margin="30">
|
||||||
<!-- Find more custom bootstrapper examples at https://github.com/bloxstraplabs/custom-bootstrapper-examples -->
|
<!-- {0} -->
|
||||||
<TitleBar Title="" ShowMinimize="False" ShowClose="False" />
|
<TitleBar Title="" ShowMinimize="False" ShowClose="False" />
|
||||||
|
|
||||||
<Image Source="{Icon}" Height="100" Width="100" HorizontalAlignment="Center" Margin="0,15,0,0" />
|
<Image Source="{Icon}" Height="100" Width="100" HorizontalAlignment="Center" Margin="0,15,0,0" />
|
||||||
|
36
Bloxstrap/Resources/Strings.Designer.cs
generated
36
Bloxstrap/Resources/Strings.Designer.cs
generated
@ -973,6 +973,15 @@ namespace Bloxstrap.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Custom Theme {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string CustomTheme_DefaultName {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CustomTheme.DefaultName", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Save changes to {0}?.
|
/// Looks up a localized string similar to Save changes to {0}?.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1271,6 +1280,33 @@ namespace Bloxstrap.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Examples of custom bootstrappers can be found at {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string CustomTheme_Templates_Blank_MoreExamples {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CustomTheme.Templates.Blank.MoreExamples", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Put UI elements here.
|
||||||
|
/// </summary>
|
||||||
|
public static string CustomTheme_Templates_Blank_UIElements {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CustomTheme.Templates.Blank.UIElements", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Find more custom bootstrapper examples at {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string CustomTheme_Templates_Simple_MoreExamples {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("CustomTheme.Templates.Simple.MoreExamples", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Add Fast Flag.
|
/// Looks up a localized string similar to Add Fast Flag.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1474,4 +1474,17 @@ Defaulting to {1}.</value>
|
|||||||
<data name="Menu.Behaviour.BackgroundUpdates.Description" xml:space="preserve">
|
<data name="Menu.Behaviour.BackgroundUpdates.Description" xml:space="preserve">
|
||||||
<value>Update Roblox in the background instead of waiting. Not recommended for slow networks. At least 3GB of free storage space is required for this feature to work.</value>
|
<value>Update Roblox in the background instead of waiting. Not recommended for slow networks. At least 3GB of free storage space is required for this feature to work.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="CustomTheme.Templates.Blank.UIElements" xml:space="preserve">
|
||||||
|
<value>Put UI elements here</value>
|
||||||
|
</data>
|
||||||
|
<data name="CustomTheme.Templates.Blank.MoreExamples" xml:space="preserve">
|
||||||
|
<value>Examples of custom bootstrappers can be found at {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="CustomTheme.Templates.Simple.MoreExamples" xml:space="preserve">
|
||||||
|
<value>Find more custom bootstrapper examples at {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="CustomTheme.DefaultName" xml:space="preserve">
|
||||||
|
<value>Custom Theme {0}</value>
|
||||||
|
<comment>{0} is a string (e.g. '1', '1-1234')</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
@ -39,11 +39,12 @@ namespace Bloxstrap.UI.Elements.Dialogs
|
|||||||
{
|
{
|
||||||
int count = Directory.GetDirectories(Paths.CustomThemes).Count();
|
int count = Directory.GetDirectories(Paths.CustomThemes).Count();
|
||||||
|
|
||||||
string name = $"Custom Theme {count + 1}";
|
int i = count + 1;
|
||||||
|
string name = string.Format(Strings.CustomTheme_DefaultName, i);
|
||||||
|
|
||||||
// TODO: this sucks
|
// TODO: this sucks
|
||||||
if (File.Exists(GetThemePath(name)))
|
if (File.Exists(GetThemePath(name)))
|
||||||
name += " " + Random.Shared.Next(1, 100000).ToString(); // easy
|
name = string.Format(Strings.CustomTheme_DefaultName, $"{i}-{Random.Shared.Next(1, 100000)}"); // easy
|
||||||
|
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
@ -76,7 +77,7 @@ namespace Bloxstrap.UI.Elements.Dialogs
|
|||||||
|
|
||||||
string themeFilePath = Path.Combine(dir, "Theme.xml");
|
string themeFilePath = Path.Combine(dir, "Theme.xml");
|
||||||
|
|
||||||
string templateContent = Encoding.UTF8.GetString(Resource.Get(template.GetFileName()).Result);
|
string templateContent = template.GetFileContents();
|
||||||
|
|
||||||
File.WriteAllText(themeFilePath, templateContent);
|
File.WriteAllText(themeFilePath, templateContent);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user