locked
VS Shell: Supporting Mutiple Languages in Isolated Shell Application RRS feed

  • Question

  • My company has an application that was built on the Visual Studio 2010 Isolated Shell. I have recently upgraded it to use the Visual Studio 2012 Isolated Shell. One of the reasons for this change is to more easily support multiple user interface languages.

    I have applied the German language pack and have switched the user interface language to German and have confirmed that all standard, built-in menus, etc. are in German. Now I need to determine how to modify our application to show our custom menu options in German when the language is set to German, and the same for Spanish, Italian, Chinese, etc. So far, I have not been successful on finding any documentation on how to do this.

    It appears the <String> element used in defining menus, etc. in the vsct file has a language attribute, but I can't seem to get any results by setting language="de". And the only description of this attribute is that it is optional. (http://msdn.microsoft.com/en-us/library/bb491712.aspx)

    Does anyone have any insight into this process or know if any documentation exists on this subject?

    Tuesday, January 8, 2013 5:52 PM

Answers

  • OK, it appears the vsct file must contain <String> entries for each supported language as I initially thought, but then it must be compiled once for each supported language using the /L switch. These links were helpful in discovering this info:

    http://msdn.microsoft.com/en-us/library/bb491708.aspx

    http://msdn.microsoft.com/en-us/library/bb165416.aspx

    I have started a new thread to try to resolve some of the issues I am facing getting the vsct compiler to work and to try to automate that process.

    http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/8bbf74e9-9ad5-48e9-b89e-55dc9dbb07e0

    • Marked as answer by ACordner Tuesday, January 8, 2013 11:19 PM
    Tuesday, January 8, 2013 11:19 PM
  • I actually did not get it working as explained above. I tried, but failed. Then I finally encountered the documentation that indicates the currently supported way to do this.

    http://msdn.microsoft.com/en-us/library/ee943168.aspx

    Now I have it working! There is so much information in each one of these files that has nothing to do with a specific locale (<Bitmaps>, <Groups>, <VisibilityConstraints>, <KeyBindings>, and <Symbols> sections) that I extracted those sections from each locale file and place them in a separate shared VSCT file, then link the shared file to each locale-specific file using an <Include href="shared_filename.vsct"> element. This should make the locale-specific files much easier to maintain.

    • Marked as answer by ACordner Wednesday, January 9, 2013 4:03 PM
    Wednesday, January 9, 2013 4:03 PM

All replies

  • OK, it appears the vsct file must contain <String> entries for each supported language as I initially thought, but then it must be compiled once for each supported language using the /L switch. These links were helpful in discovering this info:

    http://msdn.microsoft.com/en-us/library/bb491708.aspx

    http://msdn.microsoft.com/en-us/library/bb165416.aspx

    I have started a new thread to try to resolve some of the issues I am facing getting the vsct compiler to work and to try to automate that process.

    http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/8bbf74e9-9ad5-48e9-b89e-55dc9dbb07e0

    • Marked as answer by ACordner Tuesday, January 8, 2013 11:19 PM
    Tuesday, January 8, 2013 11:19 PM
  • Hi,

    I’m glad to hear that you got it working.

    Thank you for sharing your solutions & experience here. It will be very beneficial for other community members who have similar questions.

    Best regards,


    Ego [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Wednesday, January 9, 2013 7:34 AM
  • I actually did not get it working as explained above. I tried, but failed. Then I finally encountered the documentation that indicates the currently supported way to do this.

    http://msdn.microsoft.com/en-us/library/ee943168.aspx

    Now I have it working! There is so much information in each one of these files that has nothing to do with a specific locale (<Bitmaps>, <Groups>, <VisibilityConstraints>, <KeyBindings>, and <Symbols> sections) that I extracted those sections from each locale file and place them in a separate shared VSCT file, then link the shared file to each locale-specific file using an <Include href="shared_filename.vsct"> element. This should make the locale-specific files much easier to maintain.

    • Marked as answer by ACordner Wednesday, January 9, 2013 4:03 PM
    Wednesday, January 9, 2013 4:03 PM