Esta seção aborda a arquitetura de internacionalização fornecida com o NPS. O NPS permite obter de diversas fontes as informações desejadas sobre o idioma e o locale. Isso possibilita o suporte dinâmico do idioma e locale do usuário nas páginas da Web do portal.
O Novell Portal Services dispõe de três estratégias de pesquisa: browser, idioma tradicional do eDirectory e idioma do portal. Cada uma gera uma lista de possíveis idiomas e locales que utilizam a notação ISO (International Standard Organization) de dois caracteres. O NPS compila essa lista e retorna uma lista dos idiomas priorizados.
Esta seção explica como criar uma lista de idiomas e locales para os usuários. O NPS compila essa lista com base na estratégia que você especifica. O portal a utiliza para compilar as folhas de estilo de sistema e de gadget para cada sessão do usuário.
No gadget de administração, clique em Portal > Configuração > Todas as Configurações.
Para configurar a estratégia de locale, clique em Editar no campo Pedido de pesquisa de locale.
Use a lista de fontes de locales disponíveis para criar sua estratégia de idioma e locale.
Clique em OK.
A estrutura de diretórios do gadget permite os seguintes processos:
O gráfico abaixo ilustra a estrutura de diretórios típica do gadget.

Para nomear arquivos localizados, o NPS usa os padrões ISO 639 para códigos de idiomas e ISO 3166 para códigos de países. Ele usa automaticamente os arquivos de folha de estilo de layout e idioma localizados que estiverem disponíveis e baseia-se no seguinte padrão de nomeação:
nome de arquivo não localizado_código do idioma_CÓDIGO DO PAÍS.extensão
Por exemplo: main_pt_BR.xsl
O NPS permite códigos de país. Porém, é mais econômico localizar diretamente para um único idioma, em vez de fazer duas traduções à parte para diferentes países.
Você pode usar esta convenção para nomear os arquivos localizados e assim definir outras folhas de estilo de layout localizadas. Isso é útil quando o NPS suporta vários idiomas cujo verdadeiro layout é diferente para cada idioma ou locale.
Por exemplo, para que o NPS suporte japonês e inglês, convém criar um layout diferente para cada um, pois os sentidos da leitura nos dois idiomas não são os mesmos. Se a folha de estilo original se chamar main.xsl, pode-se definir a seguinte folha de estilo para o japonês:
nome do gadget/skins/nome_da_máscara/devices/dispositivo/main_jp.xsl
Para suportar a parte do inglês, pode-se definir outra folha de estilo para esse idioma no mesmo diretório ou deixar que o NPS utilize como padrão a folha de estilo main.xsl original.
O NPS usa folhas de estilo XSL para armazenar as strings localizadas necessárias às folhas de estilo de layout do gadget. Na folha de estilo de cada idioma, o gadget tem de definir variáveis XSL globalmente exclusivas que serão mencionadas nas folhas de estilo de layout.
Cada gadget requer um par XSL/XSL de idioma que forneça as informações corretas sobre o idioma e o locale a cada usuário que efetua a autenticação no NPS. O gadget deve definir um grupo de arquivos XSL de idioma para cada idioma que ele irá suportar. Esses arquivos devem obedecer à mesma convenção de nomeação apresentada em Folhas de estilo do gadget.
Para implementar facilmente os arquivos de strings do gadget, crie-os e armazene-os no diretório skins/default/devices/default/ do gadget.
Por exemplo, com.novell.nps.gadgets.nome_do_gadget/skins/default/devices/default/main_lang.xsl
O NPS dispõe de um método para visualizar informações em diferentes dispositivos, desde PCs comuns a portáteis. A seguir, dois exemplos de arquivos que se prestam a diferentes tipos de equipamento.
nome_do_gadget/skins/nome_da_máscara/devices/ie5/main_lang_es.xsl
nome_do_gadget/skins/nome_da_máscara/devices/pocketpc/main_lang_es.xsl
Os diretórios devices/default e skins/default são implementados por padrão. Quando não encontra arquivos de strings nem folhas de estilo localizadas em um diretório, o NPS (Novell Portal Services) utiliza por padrão aqueles existentes nesses diretórios.
Cada gadget e a máscara nele inserida podem conter um diretório de imagens, o qual armazena as imagens que lhe são específicas. Ao criar um gadget, verifique se a sua folha de estilo de layout menciona as imagens em seu devido local.
Os gadgets podem usar arquivos de imagens localizados. Isso significa que eles podem conter um gráfico específico a um idioma, a um locale ou aos dois. Para organizar os gadgets, nomeie os gráficos usando os padrões ISO para códigos de idiomas e países.
Para não ter de criar várias folhas de estilo de layout, crie variáveis nos arquivos de folhas de estilo de idioma que mencionem as imagens localizadas corretas.
Veja abaixo, por exemplo, a variável para um ícone de interrupção:
<xsl:nome_da_variável="com.novell.nps.gadgets.GadgetX.Images.StopIcon">
<xsl:valor_de select="$Portal.ResourcePath"/>/gadgets/com.novell.nps.gadgets.GadgetX/images/stop_icon_fr.gif
</xsl:variable>
Você pode usar um gabarito de valor de atributo XSL para mencionar essa variável na folha de estilo de layout do gadget.
Por exemplo,
<img src= "{$com.novell.nps.gadgets.GadgetX.Images.StopIcon}"/>
O NPS (Novell Portal Services) determina que idioma usar quando o usuário o acessa pela primeira vez.
Usando as informações de idioma do usuário e uma rotina do NPS, a pessoa que grava o gadget pode usar mapas de arquivos de recursos, como o GadgetManager.getGadgetResourceFileMap, para solicitar uma versão localizada de um arquivo de recursos. O NPS dispõe dos componentes necessários para determinar dinamicamente o conjunto correto de arquivos de folhas de estilo de layout e idioma para fornecer o idioma correto ao dispositivo do usuário.
O NPS procura os arquivos localizados na estrutura de diretórios.
Por exemplo, a tabela a seguir mostra o processo de pesquisa para localizar main.xsl para um usuário do idioma japonês na máscara classic:
De acordo com os dados da tabela, a pesquisa retorna por fim à versão inglesa de main.xsl, o que garante que algum arquivo seja encontrado. Se for encontrada alguma das combinações relacionadas antes de main.xsl, en e default, o arquivo será retornado ao gadget para utilização. A primeira combinação do disco é a que é usada.
O NPS (Novell Portal Services) exige dos gadgets um arquivo XML que descreva as configurações disponíveis. Essa informação é usada durante a instalação, configuração e administração do gadget. Esse arquivo, que se chama AvailableSettings.xml, está armazenado no diretório de recursos do gadget. Ele utiliza DTDs (Document Type Definitions) para fornecer as strings usadas para descrever as várias configurações. O NPS também suporta versões localizadas dos arquivos DTD.
Os componentes de administração do portal que precisam de acesso a esses arquivos utilizam a mesma rotina empregada pelo NPS para adquirir as versões localizadas desses arquivos.
