不要给元素添加uid属性。
xaml 代码如下:
<Window x:Uid="Window_1" x:Class="Mui_lang.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Run"
ResizeMode = "NoResize" SizeToContent="WidthAndHeight"
>
<Grid x:Uid="Grid_1" Background="#E1E0E5" Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition x:Uid="RowDefinition_1" />
<RowDefinition x:Uid="RowDefinition_2" />
<RowDefinition x:Uid="RowDefinition_3" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Uid="ColumnDefinition_1"/>
<ColumnDefinition x:Uid="ColumnDefinition_2"/>
<ColumnDefinition x:Uid="ColumnDefinition_3" SharedSizeGroup="Buttons"/>
<ColumnDefinition x:Uid="ColumnDefinition_4" SharedSizeGroup="Buttons"/>
<ColumnDefinition x:Uid="ColumnDefinition_5" SharedSizeGroup="Buttons"/>
</Grid.ColumnDefinitions>
<Button x:Uid="Button_1" Margin="3,10,3,15" Content="Ok" Grid.Column="2" Grid.Row="2" Padding="3,0,3,0" />
<Button x:Uid="Button_2" Margin="3,10,3,15" Content="Cancel" Grid.Column="3" Grid.Row="2" Padding="3,0,3,0"/>
<Button x:Uid="Button_3" Margin="3,10,3,15" Content="Browse..." Grid.Column="4" Grid.Row="2" Padding="3,0,3,0"/>
<ComboBox x:Uid="ComboBox_1" Margin="10,0,0,0" IsSynchronizedWithCurrentItem="True" Grid.Column="1" Grid.ColumnSpan="4" Grid.Row="1" HorizontalAlignment="Left" Width="288"/>
<Image x:Uid="Image_1" Margin="10,0,0,0" Height="25" Source="runicon.jpg" Stretch="None" HorizontalAlignment="Left"/>
<TextBlock Language="zh-CHS" x:Uid="TextBlock_1" Margin="10,0,0,0" Grid.Column="1" Grid.ColumnSpan="4" Text="Type the name of a program, folder, document, or Internet resource, and Windows will open it for you." TextWrapping="Wrap" Width="288" VerticalAlignment="Center" HorizontalAlignment="Left" />
<TextBlock x:Uid="TextBlock_2" Margin="10,0,0,0" Grid.Row="1" Text="Open:" VerticalAlignment="Center" TextWrapping="Wrap"/>
</Grid>
</Window>
2. 在dotnet命令行窗口使用msbuild 为xaml统一添加uid。
msbuild /t:updateuidmul_lang.csproj
为了方便使用也可以在vs2008中添加扩展工具

3.在 .csproj 中添加
<UICulture>en-US</UICulture>
这时候生成项目会产生特定语言的程序集Mui_lang.resources.dll。位于Bin"Debug"en-US 目录。
(注:在vs2008中可以先Unload项目,然后右键单击项目会有编辑*.csproj,编辑完后在重新载入即可)
4.使用locbaml工具分析生成的文件。
locbaml 工具从这里下载
http://download.microsoft.com/download/B/2/5/B25C4C6A-97FE-4014-9D4B-B39607BA9A12/wpf_samples/LocBaml.exe
下载完后自己编译一下才可以使用。
然后使用locbaml生成的csv文件:
locbaml /parse en-us/Mui_lang.resources.dll/out:Mui_lang.csv
(注意路径)
使用Excel打开 Mui_lang.csv文件。使用筛选功能筛选掉本地化类别为“None”的所有项。

然后将英文翻译成中文或其它语言,并保存。
5.使用 LocBaml 生成新的 .resources.dll 文件
Locbaml /generate en-US/Mui_lang.resources.dll /trans:Mui_lang.csv /out:." /cul:zh-CHS
运行完成后生成新的Mui_lang.resources.dll 文件,在主程序目录创建一个特定语言的文件夹例如: zh-CHS。将生成的文件复制到ZH-CHS目录下。
6.测试
在英文操作系统下运行的效果:

在中文操作系统下运行的效果: