NHSE/NHSE.WinForms/Subforms/PropertyEditor.cs
Kurt c9a86cbff9 Add program translation
jp/en/zh -- only english has been translated (duh)
keep in mind this translates the text in the program, not the internal flag names.

not sure if other languages need to be supported; from PKHeX's experience, only spanish is updated (besides jp/zh), as most users speak english or are fine using the program in english.

pls localize villager names and item names for non-english :P -- preferrably automated from raw game dumps
2020-04-21 14:26:18 -07:00

50 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using NHSE.Core;
namespace NHSE.WinForms
{
public partial class PropertyEditor<T> : Form where T : INamedObject
{
private readonly IReadOnlyList<T> Objects;
private readonly IReadOnlyList<string> Names;
public PropertyEditor(IReadOnlyList<T> objects, IReadOnlyList<string> names)
{
InitializeComponent();
this.TranslateInterface(GameInfo.CurrentLanguage);
Objects = objects;
Names = names;
DialogResult = DialogResult.Cancel;
foreach (var obj in Objects)
LB_Items.Items.Add(obj.ToString(Names));
LB_Items.SelectedIndex = 0;
}
private void B_Cancel_Click(object sender, EventArgs e) => Close();
private void B_Save_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
Close();
}
private int Index;
private void LB_Items_SelectedIndexChanged(object sender, EventArgs e)
{
if (LB_Items.SelectedIndex < 0)
return;
PG_Item.SelectedObject = Objects[Index = LB_Items.SelectedIndex];
}
private void PG_Item_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
{
LB_Items.Items[Index] = Objects[Index].ToString(Names);
}
}
}