mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-24 04:00:02 +01:00
add localization support
This commit is contained in:
@@ -335,6 +335,7 @@
|
||||
<converters:CountToVisibilityConverter x:Key="CountToVisibilityConverter" />
|
||||
<converters:CountToInvertedVisibilityConverter x:Key="CountToInvertedVisibilityConverter" />
|
||||
<converters:ServiceTypeToIconConverter x:Key="ServiceTypeToIconConverter" />
|
||||
<converters:PasteAIUsageToStringConverter x:Key="PasteAIUsageToStringConverter" />
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid x:Name="PromptBoxGrid" Loaded="Grid_Loaded">
|
||||
@@ -623,9 +624,9 @@
|
||||
CornerRadius="{StaticResource ControlCornerRadius}">
|
||||
<TextBlock
|
||||
AutomationProperties.AccessibilityView="Raw"
|
||||
FontSize="12"
|
||||
FontSize="10"
|
||||
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
||||
Text="{x:Bind Usage, Mode=OneWay}" />
|
||||
Text="{x:Bind Usage, Mode=OneWay, Converter={StaticResource PasteAIUsageToStringConverter}}" />
|
||||
</Border>
|
||||
<Border
|
||||
Padding="2,0,2,0"
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using AdvancedPaste.Helpers;
|
||||
using Microsoft.PowerToys.Settings.UI.Library;
|
||||
using Microsoft.UI.Xaml.Data;
|
||||
|
||||
namespace AdvancedPaste.Converters;
|
||||
|
||||
public sealed partial class PasteAIUsageToStringConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, string language)
|
||||
{
|
||||
var usage = value switch
|
||||
{
|
||||
string s => PasteAIUsageExtensions.FromConfigString(s),
|
||||
PasteAIUsage u => u,
|
||||
_ => PasteAIUsage.ChatCompletion,
|
||||
};
|
||||
|
||||
return ResourceLoaderInstance.ResourceLoader.GetString($"PasteAIUsage_{usage}");
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, string language)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -372,4 +372,10 @@
|
||||
<value>Unable to load Foundry Local model: {0}</value>
|
||||
<comment>{0} is the model identifier. Do not translate {0}.</comment>
|
||||
</data>
|
||||
<data name="PasteAIUsage_ChatCompletion" xml:space="preserve">
|
||||
<value>Chat completion</value>
|
||||
</data>
|
||||
<data name="PasteAIUsage_TextToImage" xml:space="preserve">
|
||||
<value>Text to image</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using Microsoft.PowerToys.Settings.UI.Helpers;
|
||||
using Microsoft.PowerToys.Settings.UI.Library;
|
||||
using Microsoft.UI.Xaml.Data;
|
||||
|
||||
namespace Microsoft.PowerToys.Settings.UI.Converters;
|
||||
|
||||
public sealed partial class PasteAIUsageToStringConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, string language)
|
||||
{
|
||||
var usage = value switch
|
||||
{
|
||||
string s => PasteAIUsageExtensions.FromConfigString(s),
|
||||
PasteAIUsage u => u,
|
||||
_ => PasteAIUsage.ChatCompletion,
|
||||
};
|
||||
|
||||
return ResourceLoaderInstance.ResourceLoader.GetString($"PasteAIUsage_{usage}_Label");
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, string language)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,7 @@
|
||||
</Style>
|
||||
|
||||
<converters:ServiceTypeToIconConverter x:Key="ServiceTypeToIconConverter" />
|
||||
<converters:PasteAIUsageToStringConverter x:Key="PasteAIUsageToStringConverter" />
|
||||
<DataTemplate x:Key="AdditionalActionTemplate" x:DataType="models:AdvancedPasteAdditionalAction">
|
||||
<StackPanel Orientation="Horizontal" Spacing="4">
|
||||
<controls:ShortcutControl
|
||||
@@ -128,7 +129,7 @@
|
||||
<TextBlock
|
||||
FontSize="12"
|
||||
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
||||
Text="{x:Bind Usage, Mode=OneWay}" />
|
||||
Text="{x:Bind Usage, Mode=OneWay, Converter={StaticResource PasteAIUsageToStringConverter}}" />
|
||||
</Border>
|
||||
<Button
|
||||
Padding="8"
|
||||
@@ -515,8 +516,8 @@
|
||||
SelectedValue="{x:Bind ViewModel.PasteAIProviderDraft.Usage, Mode=TwoWay}"
|
||||
SelectionChanged="PasteAIUsageComboBox_SelectionChanged"
|
||||
Visibility="{x:Bind GetUsageVisibility(ViewModel.PasteAIProviderDraft.ServiceType), Mode=OneWay}">
|
||||
<ComboBoxItem Content="Chat Completion" Tag="ChatCompletion" />
|
||||
<ComboBoxItem Content="Text to Image" Tag="TextToImage" />
|
||||
<ComboBoxItem x:Uid="PasteAIUsage_ChatCompletion" Tag="ChatCompletion" />
|
||||
<ComboBoxItem x:Uid="PasteAIUsage_TextToImage" Tag="TextToImage" />
|
||||
</ComboBox>
|
||||
<StackPanel
|
||||
x:Name="PasteAIImageResolutionPanel"
|
||||
|
||||
@@ -5769,4 +5769,16 @@ To record a specific window, enter the hotkey with the Alt key in the opposite m
|
||||
<data name="LightSwitch_FollowNightLightCardMessage.Text" xml:space="preserve">
|
||||
<value>Following Night Light settings.</value>
|
||||
</data>
|
||||
<data name="PasteAIUsage_ChatCompletion_Label" xml:space="preserve">
|
||||
<value>Chat completion</value>
|
||||
</data>
|
||||
<data name="PasteAIUsage_TextToImage_Label" xml:space="preserve">
|
||||
<value>Text to image</value>
|
||||
</data>
|
||||
<data name="PasteAIUsage_ChatCompletion.Content" xml:space="preserve">
|
||||
<value>Chat completion</value>
|
||||
</data>
|
||||
<data name="PasteAIUsage_TextToImage.Content" xml:space="preserve">
|
||||
<value>Text to image</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user