RobotStudio event

Localisation of GTPU applications

Options
Hi All,



I am confused with the localisation issue for an application I am writing for the GTPU.



The following is the description of what I have done step by step.



My application has the following namespace statment

namespace TpsViewArchipack



First step is to include a strings.resx in the application and to have it compiled as an Embeded resource in the application.



Doing so and using a resssoure manager does the job for English, except for the application title defined at the beginning under [Assembly ...



Typical use

langResMngr = new ABB.Robotics.Tps.Resources.TpsResourceManager("TpsviewArchipack.strings");

lbTitle.Text=langResMngr.GetString("TXT_PRODTAB_TITLE");




This being done, I am making some resources as follows:



I then create strings.fr.resx



Realise the binary compile

cfresgen strings.fr.resx TpsViewArchipack.strings.fr.resources



Build the satellite assembly

al /t:lib /embed:TpsViewarchipack.string.fr.resources /culture:en /out:TpsViewArchipack.resources.dll



Once this is done I create the directory structure on my controller as follows



At system level create language directory

create a subdirectory fr under language

create a subdirectory tps under fr

copy TpsViewArchipack.resources.dll in the tps directory.



This being done I am in hope that the GTPU would alter the resources defined in the embeded file with the ones in the language directory when I restart the GTPU in French. WITHOUT SUCCESS image



The fact the application title is not amended makes me feel that the files I am copying in the directory structure have no influence... image



HELP...



Comments

  • ReneK
    Options

    Hello,

    I have not tried it myself, but I suppose that you have to create your own additional option which copies the ressource file to the right place (as described in the FP manual).

    I don't think that creating the subfolders in the sys-dir of the controller is the correct way, since all the resource files are placed in the mediapool of the controller. Maybe it will work when you create the specific folders in the mediapool of the controller....

    best regards

    Ren?

     

  • Urban
    Options

    If you use FP SDK 5.05 you can try to put the resource assemblies directly in the "fr" directory and remove the "tps" folder. A small bug we discovered during the FP SDK 5.05 course.

    Observe that localization does not work on the Virtual IRC5 (5.05), only on a real controller.

    Urban Vikblom
    CONTAB
  • labu
    labu ✭✭
    Options

    Hi All,

    Thanks for replying, it was indeed the Virtual IRC5 issue.

    I have got it to work on a real IRC5 as described (using 5.06).

    The only remaining question is how to change application name in the TPU application list as using a resource alias in the [Assembly ... show the alias in the start menu, the text being only showed in the taskbar.

    Thanks,

    Laurent

  • Urban
    Options

    Laurent,

    is the first item in your resource assembly the "TXT_ABB_MENU_TITLE"? If not try to move it there.

     

    Urban Vikblom
    CONTAB
  • labu
    labu ✭✭
    Options

    Hi,

    In fact, the resource was the first one in the list but not TXT_ABB_MENU_TITLE, is it essential to have the right resource name.

    More generally, how to load in the GTPU a specific icon for the application as well.

    Should I embed my icons resources in the application?

     

  • Urban
    Options

    Do you mean the icons that should be displayed as application icons in the ABB Menu and TaskBar? Then just put both the icons in the system directory. That's the easy option. If you mean icons you use in your application then by all means embed them in your assembly. It worked fine for me.

    If it essential to have the right resource name I do not know. I have only used TXT_ABB_MENU_TITLE (from the example from ABB developers) and it worked. If your example now work with TXT_ABB_MENU_TITLE I will stress that in the RAB 5.06 course.

    Urban Vikblom
    CONTAB
  • Hello,

    I've been struggling with localization of my application as well, on Virtual IRC5. Will it be possible to use localization in future releases? Now, I use FPSDK 5.07 and RS 5.07.

    Is it due to VIRC5 that I get only TXT_ABB_MENU_TITLE in my menu? I have declared a string in string.resx, and it is also on the first position.

    jan-jaap2006-7-5 12:20:5
    :) Regards,
    Jan-Jaap
  • Hello,

    I can't seem to get other languages to work either on the VC.  I'm working with 5.08.0176.  I followed all the instructions for using resgen.exe and al.exe.  Nothing seems to work.  When I launch my application with the second language active, I get an object reference error and the application is unable to load.  If I debug it, it dies when GetText is called.

    Does localization work when on the VC?

    Bryan

     

    Bryan Johnson
    bryan.johnson@wolfrobotics.com
    Wolf Robotics
    4600 Innovation Dr.
    Fort Collins, CO 80525
    USA
  • Tried it on the real controller today.  I don't get a reference error, but it always boots in English.  Guess I'll step backward and build a very simple test app.
    Bryan Johnson
    bryan.johnson@wolfrobotics.com
    Wolf Robotics
    4600 Innovation Dr.
    Fort Collins, CO 80525
    USA
  • Hello,

    InVCTestApp 5.08, 5.08.01 and 5.08.02 (used by ABB internally) there is a bug, and it fails to fetch the chosen language. Only English is displayed. This will be corrected for 5.08.03. (VIRC5 5.08 has not yet been released).

    Generally, localization should work when on the VC.

    I hope that chapter 10 in the the new manual for RAB 5.08 "Localizing a FlexPendant application" will make life a little easier for all of you who try to add multi language support to FlexPendant applications. ABB internal users can download it from inside.abb.com >Business guide > Product Guide > Robotics > Software Products > Robot Application Builder > Downloads tab > Manual: Application manual - Robot Application Builder

    Ingela2007-2-16 9:18:24
    Best regards,

    Ingela Brorsson
    Software Engineer
    ABB Robotics, Sweden