veja como fica:<asp:Label ID="LocalizeWelcome" Text="<%$ Resources:SharedLocalizedText, WelcomeString %>" runat="server"></asp:Label>Accessing Resource Values ProgrammaticallyO ASP.NET cria objetos que permite que voce acesse os recursos atraves da programacao, usando a sintaxe Resources.ResourceFilename.Resource. Esta e uma classe fortemente tipada do objeto Resources.Resource para cada arquivo de recurso global. Esta classe e criada com base no nome do arquivo menos sua extensao.Cada recurso se torna um membro da classe. Por exemplo para acessar o recurso WelcomeString que esta dentro do arquivo SharedLocalizedText voce programar da seguinte forma:LabelLocalizedWelcome.Text = Resources.SharedLocalizedText.WelcomeString;O codigo anterior e quando voce ja possui seu arquivo criado em modo de design, quando voce cria este arquivo em tempo de execucao voce pode acessa-lo atraves dos metodos GetLocalResourceObject e GetGlobalResourceObject. Veja como fica:Button1.Text = GetLocalResourceObject("Button1.Text").ToString();Image1.ImageUrl = (String)GetGlobalResourceObject("WebResourcesGlobal", "LogoUrl");HTML Layout Best PracticesGlobalizacao pode ser simples como substituir um texto pelo texto da outra linguagem, formatando os numeros e simbolos. Entretanto algumas linguas como a lingua Arabe requer um layout diferente pois os textos sao da direita pra esquerda. Quando quiser permitir que seu site de suporte a linguagens de culturas variadas, siga as seguintes diretrizes:Evite utilizar posicionamento absoluto e tamanhos definidos para os controles: ao inves de definir os tamanhos em pixels nos controles, deixe que o navegador controle isso, para fazer isso nao utilize posicao absoluta nem tamanhos fixos.Utilize a altura e largura dos formularios: devido essas linguas terem mais ou menos letras para escrever uma palavra ou frase, voce nao deve definir em pixels os tamanhos dos controles, utiliza porcentagem. Ex.: <table width="100%">Defina os tamanhos dos controle em relacao ao tamanho total do formulario: Quando precisar definir o tamanho de um controle utilize tamanhos proporcionais ao formulario. Voce pode fazer isso utilizando expressoes de folha de estilo. Ex.: <div style='height: expression(document.body.clientHeight / 2); width: expression(document.body.clientWidth / 2); '>Utilize celulas para cada controles: isso ira permitir que o texto seja moldado e garante o alinhamento entre as colunas mesmo com diferentes linguas.Evite utilizar a propriedade NoWrap nas tabelas: nao permita a quebra de linha, pois isso pode funcionar na lingua nativa, mas nao em outras linguas.Evite especificar a propriedade Align nas tabelas: definindo um alinhamento da esquerda pra direita podera substituir o layout em culturas que utilizam o texto da direita pra esquerda.Desassocie controles RadioButton e CheckBox do texto: separando o texto em celulas separadas do controle permite que o texto seja moldado quando for necessario um texto maior quando for traduzido.Em resumo quanto menos deixar fixo os tamanhos dos controles de sua pagina, mais facil ficara adaptar para outras linguas, pois quem ficara responsavel por esta tarefa e o navegador.Setting the CultureNormalmente utiliza-se as preferencias do usuario que esta definida nas configuracoes do browser. Porem e interessante permitir ao usuario que modifique esta opcao manualmente. Pode acontecer de um turista estar utilizando um computador publico em outro pais e prefere ver o site na lingua nativa dele.Voce deve exibir para ele uma forma de trocar a lingua. Quando o usuario mudar esta configuracao voce deve salvar em um cookie, sessao ou algo similar.Nas paginas ASP.NET existem 2 propriedades para definir a linguagem e a cultura:Culture: