Treinamento
Módulo
Gerenciar desenvolvimento multilíngue no Dynamics 365 Business Central - Training
Deseja aprender a gerenciar vários idiomas em uma extensão AL? Caso afirmativo, este módulo explica como criar e usar arquivos de tradução.
Não há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Para dar suporte à adição de um item à barra de idiomas, um serviço de texto deve implementar um objeto que dê suporte à interface ITfSource e a um dos elementos de controle ITfLangBarItem . Quando o item é instalado, a barra de idiomas instala um coletor ITfLangBarItemSink chamando o ITfSource::AdviseSink do item com IID_ITfLangBarItemSink. O item usa a interface ITfLangBarItemSink para notificar a barra de idiomas de alterações, por exemplo, quando o item está oculto, mostrado, habilitado ou desabilitado.
Quatro tipos de itens da barra de idiomas podem ser instalados e cada uma das interfaces necessárias é criada a partir de ITfLangBarItem. Veja a seguir os possíveis elementos de controle ITfLangBarItem .
Elemento | Descrição |
---|---|
Botão | Um botão de barra de idiomas funciona como um botão de comando, controle de alternância ou um menu na barra de idiomas. O objeto deve dar suporte à interface ITfLangBarItemButton. |
Balão | Um balão de barra de idiomas funciona como uma notificação pop-up na barra de idiomas. O objeto deve dar suporte à interface ITfLangBarItemBalloon. |
Bitmap | Um bitmap da barra de linguagem funciona como um elemento estático na barra de linguagem que exibe um bitmap. O objeto deve dar suporte à interface ITfLangBarItemBitmap. |
Botão Bitmap | Um botão bitmap da barra de idiomas funciona como um elemento de botão na barra de idiomas que exibe texto e um bitmap. O objeto deve dar suporte à interface ITfLangBarItemBitmapButton. |
Um elemento button pode funcionar como qualquer um dos seguintes. A função do item de botão é determinada pelos sinalizadores definidos no membro dwStyle da estrutura TF_LANGBARITEMINFO no método ITfLangBarItem::GetInfo .
Elemento | Descrição |
---|---|
Botão | O botão funciona como um botão de comando padrão. Esse estilo de botão é identificado pelo estilo TF_LBI_STYLE_BTN_BUTTON. ITfLangBarItemButton::OnClick é chamado quando o item é clicado. ITfLangBarItemButton::InitMenu e ITfLangBarItemButton::OnMenuSelect não são usados. |
Botão de alternância | O botão funciona como um controle de alternância que pode manter um estado clicado, semelhante a uma caixa de marcar. Esse estilo de botão é identificado pelo estilo TF_LBI_STYLE_BTN_TOGGLE. ITfLangBarItemButton::OnClick é chamado quando o item é clicado. ITfLangBarItemButton::InitMenu e ITfLangBarItemButton::OnMenuSelect não são usados. |
Menu | O botão funciona como um menu suspenso. Esse estilo de botão é identificado pelo estilo TF_LBI_STYLE_BTN_MENU. ITfLangBarItemButton::InitMenu é chamado quando o botão é clicado. Quando o usuário seleciona um item no menu, a barra de idiomas chama ITfLangBarItemButton::OnMenuSelect com o identificador do item de menu selecionado. ITfLangBarItemButton::OnClickis não é usado. |
Quando o usuário clica em um botão de menu, a barra de idiomas chama ITfLangBarItemButton::InitMenu. O item adiciona itens ao menu usando a interface ITfMenu passada para InitMenu.
Para adicionar um submenu ao menu, chame ITfMenu::AddMenuItem com TF_LBMENUF_SUBMENU. Quando isso é feito, um novo objeto ITfMenu que representa o submenu é retornado no parâmetro ppMenu de AddMenuItem. Esse novo objeto de menu é usado para adicionar itens ao submenu.
Quando o usuário seleciona um item no menu, a barra de idiomas chama ITfLangBarItemButton::OnMenuSelect com o identificador do item de menu selecionado.
Um serviço de texto deve adicionar seus itens à barra de idiomas quando seu método ITfTextInputProcessor::Activate for chamado e removê-los quando seu ITfTextInputProcessor::D eactivate for chamado.
Para adicionar um item à barra de idiomas, o serviço de texto obtém uma interface ITfLangBarItemMgr chamando ITfThreadMgr::QueryInterface com IID_ITfLangBarItemMgr. Em seguida, o serviço de texto chama ITfLangBarItemMgr::AddItem com o ponteiro para o objeto de item da barra de idiomas.
O serviço de texto deve remover o item quando desativado. O serviço de texto usa a mesma interface ITfLangBarItemMgr usada para adicionar os itens ou obtém outra instância da interface. Em seguida, o serviço de texto chama ITfLangBarItemMgr::RemoveItem com o ponteiro de interface do item a ser removido.
O TSF fornece a capacidade de adicionar itens de menu aos menus da barra de idiomas existentes. Isso permite que um serviço de texto adicione itens ao menu de outro serviço de texto sem precisar adicionar um botão separado à barra de ferramentas. Isso também permite que os itens de menu sejam organizados em grupos lógicos. Por exemplo, um serviço de texto que fornece recursos adicionais ao serviço de texto de fala padrão pode adicionar itens ao menu do serviço de texto de fala em vez de adicionar seu próprio botão de menu de nível superior.
Um serviço de texto fornece uma extensão de menu da barra de idiomas implementando um objeto que dá suporte à interface ITfSystemLangBarItemSink . Essa interface funciona exatamente como a interface ITfLangBarItemButton para um botão de menu. Quando o menu é exibido, o serviço de texto que está sendo estendido chama ITfSystemLangBarItemSink::InitMenu. A extensão adiciona itens ao menu usando a interface ITfMenu passada para InitMenu. Quando o usuário seleciona um item adicionado pela extensão, o serviço de texto que está sendo estendido chama ITfSystemLangBarItemSink::OnMenuSelect com o identificador do item de menu selecionado.
Para instalar uma extensão de menu da barra de idiomas, o serviço de texto conclui as etapas a seguir.
ITfSource::UnadviseSinkITfSource::AdviseSink
Um serviço de texto pode permitir que outros serviços de texto adicionem itens aos menus da barra de idiomas, conforme mostrado acima. O serviço de texto que deve publicar seu GUID para que o item possa ser obtido chamando ITfLangBarItemMgr::GetItem.
Para dar suporte a extensões de menu, o serviço de texto deve dar suporte à interface ITfSource . As etapas a seguir habilitam o suporte para uma ou mais extensões de menu.
Treinamento
Módulo
Gerenciar desenvolvimento multilíngue no Dynamics 365 Business Central - Training
Deseja aprender a gerenciar vários idiomas em uma extensão AL? Caso afirmativo, este módulo explica como criar e usar arquivos de tradução.