ResXManagerを使ってみた
2017年4月22日
2022年2月3日
Visual Studioの拡張機能で多言語のリソースを作れるやつがあったので使ってみた。
ResXManager
https://marketplace.visualstudio.com/items?itemName=TomEnglert.ResXManager
ソースもGitHubにあった。
https://github.com/tom-englert/ResXResourceManager
翻訳APIと連動して自動翻訳したり、リソースを使っている数とか調べてくれる。
Azureの翻訳APIは200万語/月まで無料っぽいので、試用登録して使ってみた。
– 手順 –
1.Visual Studioに拡張機能を追加する
resourceで検索すると出てくる
2.Azureのキー取得
AzureのTranlatorの登録して、キーを取得する。
https://www.microsoft.com/en-us/translator/getstarted.aspx
3.ResXManagerの画面
①メニューからResX Managerを起動
②TranslateでAzureのキーを入れる
②ConfigurationでNeutral Resources LanguageとCreate all resource file when adding a new resource languageを設定する。
③Add new languageする
リソースが追加された。
④TranslateでTargetを選んで翻訳する
同じような文言なのに結構翻訳結果が違っている。
翻訳候補から正しいやつを選んで、Applyする。
英語と中国語を入れてみた。。。
ソースも追加されている。
4.アプリで使ってみる
①XAMLで文言をリソースから使うようにして
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" xmlns:prop="clr-namespace:WpfApp1.Properties" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Content="{x:Static prop:Resources.RES003}" HorizontalAlignment="Left" Height="77" Margin="144,160,0,0" VerticalAlignment="Top" Width="178" Click="Button_Click"/> <Label Content="{x:Static prop:Resources.RES001}" HorizontalAlignment="Left" Height="40" Margin="107,63,0,0" VerticalAlignment="Top" Width="123"/> </Grid> </Window> |
②元のResources.resxをPublicにする
※Publicにしないとエラーになる
③他の言語のカルチャにコードで変更して
1 2 3 4 5 6 7 8 9 10 |
public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { WpfApp1.Properties.Resources.Culture = System.Globalization.CultureInfo.GetCultureInfo("en-US"); System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); base.OnStartup(e); } } |
前も似たようなことやったな。
④実行
表示された。(∩´∀`)∩
– 参考サイト –
プログラムから Translator Text API を使用してテキストを翻訳する – http://sorceryforce.net/ja/azure/translatortextapi