locked
Multilingual App Toolkit not working anymore with Windows 8.1

    Question

  • Hi, 

    I had a Windows 8 app that was translated in about 10 languages. I recently installed Windows 8.1, the SDK and VS Express 2013 and migrated the app. In the previous version, I have been using the Multilingual App Toolkit to translate my app texts so i have now XLF files for translations. I followed that guide initially:

    http://msdn.microsoft.com/en-us/library/windows/apps/jj569303.aspx

    Everything was working well with Windows 8 but now, my app is stuck with the default language (en-US). I tried with a new app, followed the guide again and it still doesn't work.

    When I upload the appx to the store, it says that only english is supported in the uploaded bundle.

    Note that if I add a "fr-FR/resources.resjson" in the strings folder and add some translations in there, they appear ok in the app. It just looks like the app won't read XLF files anymore.

    Did anyone encounter issues with the Multilingual App Toolkit and XLF files?

    Here is a project to reproduce the issue:

    http://rapidgator.net/file/40a4da3f47c519095353fd172d372fac/TEMP_LOC_APP.zip.html

    You will need to have the Multilingual App Toolkit enabled to try with XLF files. In this sample, I have a "fr-FR/resources.resjson" and if you add "French" language to your system and move it at the top of the "Add a language" list, then launch the app, you will see "Hello World! FR from resources.resjson" which is the text in resources.resjson.

    If you delete that file, you should get the value from the XLF file: "Hello World! FR" but instead, you will get the default language "Hello World!"

    Thanks for your help,

    Fabien

    Friday, October 18, 2013 10:26 PM

Answers

  • I found a workaround for the Multilingual App Toolkit, you have to edit the package.appxmanifest manually with a text editor. Replace the "x-generated" tag by the list of <Resource Language="..."/> (see previous post).

    Because the MAT is bugged and does not write it for you, you have to do it manually until Microsoft fixes it.

    The app then runs and shows the translated texts. When I uploaded the appx, i got all my languages like before.

    Still, I'm interested on how to report it to Microsoft?

    Saturday, October 19, 2013 4:25 PM
  • This appears to be triggered when the project is retarget to Windows 8.1 option in VS.  Here is what I did:

    1. Created a localizable VS 2012 JavaScript project and added German using MAT.  German was displayed
    2. Opened the JavaScript project using VS 2013, cleaned and rebuild the solution.  German was displayed
    3. Retargetted the JavaScript project to Windows 8.1 (via VS 2013), cleaned and rebuild the solution.  German was NOT displayed.

    As indicated above, for now please use the workaround of adding the resource language attribute directly to your project's package.appxmanifest file manually (via the Right-Click -> View code)

    For example:

      <Resources>

        <Resource Language="x-generate" /> <!-- Ok to leave this in -->

        <Resource Language="EN-US" />

        <Resource Language="FR-FR" />

        <Resource Language="DE" />

        <Resource Language="FR" />

    </Resources>

    Thank you for reporting the via MSDN.  I will log a bug in my team's TFS server to get this fixed. 

    Cameron

    • Proposed as answer by Endorsay Friday, November 1, 2013 5:53 AM
    • Marked as answer by Fabien Nicollet Friday, November 1, 2013 10:16 AM
    Thursday, October 31, 2013 8:53 PM

All replies

  • Did you update your Multilingual App Toolkit to the new version for Windows 8.1? I know people had some issues using the earlier version with Windows 8.1 apps.

    --Rob

    Saturday, October 19, 2013 1:18 AM
    Moderator
  • Hello,

    Yes, I've tried the version you can find online (http://msdn.microsoft.com/fr-FR/windows/apps/hh848309.aspx) and the one from the Extension Manager in VS 2013 Express. It shows version 2.1.1100.0 in the Extension Manager. When I install it, during the process i can see a step like "integration with VS 2013) so it must be installed ok and I can also see it in the Tools Menu.

    The interface is also the new one, very different from the previous one (white with two massive text inputs, previous one was on a black background with a table).

    When I Rebuild, i get the right message:

    1>------ Rebuild All started: Project: MapsPro, Configuration: Debug Any CPU ------
    1>  Multilingual App Toolkit build started.
    1>  Multilingual App Toolkit build completed successfully.

    Thing is, it is a lot quicker than the Windows 8 version (like a few seconds, it used to take up to a minute), I believe it is because it only compiles en en-US language, instead of all the languages.

    I looked at the troubleshooting page and did everything they asked:

    http://msdn.microsoft.com/en-us/library/windows/apps/jj649135.aspx

    The issue most similar to mine is "My .xlf file is not included in the list of files processed by the Toolkit during build." but i checked the jsproj file, everything is set to None:

       

    <None Include="MultilingualResources\Serbian %28Cyrillic%29.xlf" /> 

      <None Include="MultilingualResources\Serbian %28Latin%29.xlf" />   

    <None Include="MultilingualResources\Spanish.xlf" />   

    <None Include="MultilingualResources\Danish %28Denmark%29.xlf" />   

    <None Include="MultilingualResources\Polish %28Poland%29.xlf" />   

    <None Include="MultilingualResources\Italian.xlf" /> 

      <None Include="MultilingualResources\German.xlf" />   

    <None Include="MultilingualResources\Finnish %28Finland%29.xlf" />   

    <None Include="MultilingualResources\Chinese %28Simplified%29.xlf" />   

    <None Include="MultilingualResources\Chinese %28Traditional%29.xlf" />


    Do you have any idea that could help me with this issue?

    Thanks a lot,

    Fabien

    Saturday, October 19, 2013 8:51 AM
  • Hi,

    I have found a difference between the .jsproj before and after migration. This is the "AfterBuild" step before:

    <Target Name="AfterBuild">
        <MultilingualBuild Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\Multilingual App Toolkit\v1.0\MultilingualBuildTasks.targets')" ContinueOnError="false" BldOutputPath="$(IntermediateOutputPath)" BinOutputPath="bin\$(Configuration)" AppName="$(ProjectName)" ProjectPath="$(ProjectPath)" ProjectPriFullPath="$(ProjectPriFullPath)" MakePriLog="$(MakePriLog)" SourceLanguage="$(DefaultLanguage)" />
      </Target>

    and after:

    <Target Name="AfterBuild">
      </Target>

    I am going to try and tweak the new jsproj to make it match

    Saturday, October 19, 2013 8:57 AM
  • Adding this step crashes, i guess it is not relevant anymore. The weirdest thing is that in the bld\Debug folder, i have the MultilingualAppToolkit.pri.xml file with all language and translations. 

    I'm stuck.

    • Proposed as answer by Youtoofan1 Saturday, October 19, 2013 11:16 AM
    • Unproposed as answer by Youtoofan1 Saturday, October 19, 2013 11:16 AM
    Saturday, October 19, 2013 9:43 AM
  • I had the same issue.

    Please set the "Generate App Bundle" option to "Never". After package creation, upload the packages and you'll see the included languages appear again.

    Good luck.

    • Proposed as answer by Emmanuel Huna Saturday, November 30, 2013 12:29 AM
    Saturday, October 19, 2013 11:24 AM
  • Thanks for answering. Actually yesterday, i sent an update to the store, with the bug, so english-only and left the Generate App Bundle as is. Now, I can't select "Never" anymore, it just says:

    "An app bundle will be generated by default because you already have uploaded an app bundle in the Windows Store".

    Anyway, i need a way to make it work when debugging as well, for screenshots and stuff so that's not really it.

    Thanks anyway for this tip,

    Fabien

    Saturday, October 19, 2013 11:47 AM
  • Here is the log when I rebuild :

    1>Using "MultilingualBuild" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\Microsoft.Multilingual.Build.WindowsStore.dll".
    1>Task "MultilingualBuild" (TaskId:333)
    1>  Task Parameter:BldOutputPath=bld\Debug\ (TaskId:333)
    1>  Task Parameter:BinOutputPath=bin\Debug (TaskId:333)
    1>  Task Parameter:AppName=MapsPro (TaskId:333)
    1>  Task Parameter:ProjectPath=E:\Workspaces\Windows8\MapsPro\MapsPro\MapsPro\MapsPro.jsproj (TaskId:333)
    1>  Task Parameter:ProjectPriFullPath=E:\Workspaces\Windows8\MapsPro\MapsPro\MapsPro\bin\Debug\ReverseMap\resources.pri (TaskId:333)
    1>  Task Parameter:MakePriLog=C:\Users\Fabien\AppData\Local\Temp\MapsPro_Multilingual.prilog.xml (TaskId:333)
    1>  Task Parameter:SourceLanguage=en-US (TaskId:333)
    1>  Task Parameter:MakePriExeFullPath=C:\Program Files (x86)\Windows Kits\8.1\bin\x64\MakePri.exe (TaskId:333)
    1>  Multilingual App Toolkit build started. (TaskId:333)
    1>  Update build config xml started. (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Serbian (Cyrillic).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Serbian (Latin).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Spanish.xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Danish (Denmark).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Polish (Poland).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Italian.xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\German.xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Finnish (Finland).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Chinese (Simplified).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\Chinese (Traditional).xlf' (TaskId:333)
    1>  Preprocessing XLIFF file: 'MultilingualResources\MapsPro_qps-ploc.xlf' (TaskId:333)
    1>MultilingualResources\MapsPro_qps-ploc.xlf(1,1,1,1): warning : Localization testing via Pseudo is enabled on this project.  To avoid certification failures, be sure to exclude Pseudo before publishing your app.
    1>  Update build config xml completed. (TaskId:333)
    1>  Generate latest XLIFF build task started. (TaskId:333)
    1>  Latest XLIFF file generated: 'bld\Debug\MultilingualAppToolkitLatest.xlf' (TaskId:333)
    1>  Generate latest XLIFF build task completed. (TaskId:333)
    1>  Update XLIFF build started. (TaskId:333)
    1>  TargetLang  ID: sr-Cyrl (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Serbian (Cyrillic).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Serbian (Cyrillic).xlf' (TaskId:333)
    1>  TargetLang  ID: sr-Latn (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Serbian (Latin).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Serbian (Latin).xlf' (TaskId:333)
    1>  TargetLang  ID: es (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Spanish.xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Spanish.xlf' (TaskId:333)
    1>  TargetLang  ID: da-DK (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Danish (Denmark).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Danish (Denmark).xlf' (TaskId:333)
    1>  TargetLang  ID: pl-PL (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Polish (Poland).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Polish (Poland).xlf' (TaskId:333)
    1>  TargetLang  ID: it (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Italian.xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Italian.xlf' (TaskId:333)
    1>  TargetLang  ID: de (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\German.xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\German.xlf' (TaskId:333)
    1>  TargetLang  ID: fi-FI (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Finnish (Finland).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Finnish (Finland).xlf' (TaskId:333)
    1>  TargetLang  ID: zh-Hans (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Chinese (Simplified).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Chinese (Simplified).xlf' (TaskId:333)
    1>  TargetLang  ID: zh-Hant (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\Chinese (Traditional).xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\Chinese (Traditional).xlf' (TaskId:333)
    1>  TargetLang  ID: qps-ploc (TaskId:333)
    1>  TargetLang XLiff: MultilingualResources\MapsPro_qps-ploc.xlf (TaskId:333)
    1>  XLIFF file updated: 'MultilingualResources\MapsPro_qps-ploc.xlf' (TaskId:333)
    1>  Update XLIFF build completed. (TaskId:333)
    1>  Generate priInfo build started. (TaskId:333)
    1>  Adding language 'sr-Cyrl' from 'MultilingualResources\Serbian (Cyrillic).xlf' (TaskId:333)
    1>  Adding language 'sr-Latn' from 'MultilingualResources\Serbian (Latin).xlf' (TaskId:333)
    1>  Adding language 'es' from 'MultilingualResources\Spanish.xlf' (TaskId:333)
    1>  Adding language 'da-DK' from 'MultilingualResources\Danish (Denmark).xlf' (TaskId:333)
    1>  Adding language 'pl-PL' from 'MultilingualResources\Polish (Poland).xlf' (TaskId:333)
    1>  Adding language 'it' from 'MultilingualResources\Italian.xlf' (TaskId:333)
    1>  Adding language 'de' from 'MultilingualResources\German.xlf' (TaskId:333)
    1>  Adding language 'fi-FI' from 'MultilingualResources\Finnish (Finland).xlf' (TaskId:333)
    1>  Adding language 'zh-Hans' from 'MultilingualResources\Chinese (Simplified).xlf' (TaskId:333)
    1>  Adding language 'zh-Hant' from 'MultilingualResources\Chinese (Traditional).xlf' (TaskId:333)
    1>  Adding language 'qps-ploc' from 'MultilingualResources\MapsPro_qps-ploc.xlf' (TaskId:333)
    1>  Generate priInfo build completed. (TaskId:333)
    1>  Merge of Loc PRI file started. (TaskId:333)
    1>  Copy App PRI file started. (TaskId:333)
    1>  Copy App PRI file completed. (TaskId:333)
    1>  C:\Program Files (x86)\Windows Kits\8.1\bin\x64\MakePri.exe resourcepack /o /pr "E:\Workspaces\Windows8\MapsPro\MapsPro\MapsPro" /cf "bld\Debug\MultilingualAppToolkit.cfg.xml" /if "bld\Debug\MultilingualAppToolkit.pri" /of "bin/Debug/ReverseMap/resources.pri" (TaskId:333)
    1>  Update Manifest File Started. (TaskId:333)
    1>  The manifest update was skipped as this project does not contain a manifest file. (TaskId:333)
    1>  Merge of Loc PRI file completed. (TaskId:333)
    1>  Multilingual App Toolkit build completed successfully. (TaskId:333)
    1>Done executing task "MultilingualBuild". (TaskId:333)
    1>Done building target "MultilingualAppToolkit" in project "MapsPro.jsproj".: (TargetId:93)
    1>Target "_GenerateAppxPackageRecipe: (TargetId:94)" in file "C:\Program Files 

    These two lines seem strange to me:

    1>  Update Manifest File Started. (TaskId:333)
    1>  The manifest update was skipped as this project does not contain a manifest file. (TaskId:333)

    Why would it skip this update? What manifest file is it looking for ?

    Saturday, October 19, 2013 12:49 PM
  • Ok, I believe the Manifest it is trying to update is in /bin/Debug/AppxManifest.xml.

    Here is what I have in the new one:

      <Resources>
        <Resource Language="EN-US" />
      </Resources>

    In the previous one, I had:

      <Resources>
        <Resource Language="EN-US" />
        <Resource Language="fr" />
        <Resource Language="sr-Cyrl" />
        <Resource Language="sr-Latn" />
        <Resource Language="es" />
        <Resource Language="da-DK" />
        <Resource Language="pl-PL" />
        <Resource Language="it" />
        <Resource Language="de" />
        <Resource Language="fi-FI" />
        <Resource Language="zh-Hans" />
        <Resource Language="zh-Hant" />
      </Resources>

    I believe this is a serious bug issue in the Multilingual App Toolkit, how can I report it to Microsoft? Is there a quick fix for it ?

    Thanks,

    Saturday, October 19, 2013 12:54 PM
  • I found a workaround for the Multilingual App Toolkit, you have to edit the package.appxmanifest manually with a text editor. Replace the "x-generated" tag by the list of <Resource Language="..."/> (see previous post).

    Because the MAT is bugged and does not write it for you, you have to do it manually until Microsoft fixes it.

    The app then runs and shows the translated texts. When I uploaded the appx, i got all my languages like before.

    Still, I'm interested on how to report it to Microsoft?

    Saturday, October 19, 2013 4:25 PM
  • Haven't tried your workaround yet, but it is good to know.  Thanks

    I have seen similar issues to what you have seen.  In debugging, I don't see other languages.  But when I upload to Store, the languages are there and it passed certification, so I left it the way it is.  (When I tried to get the langs to show during debugging by editing files, that was when the Store did not show the other langs.  So that's why I went back and not edit anything.  But when I have to debug next time, I'll try your workaround.)

    I don't know why you and I are finding these issues :|  I am not sure if "marked as answer" will help bring it attention.


    http://endorsay.com

    Monday, October 28, 2013 3:56 AM
  • True, just unmarked it, might help knowing how to actually report bugs / regressions to MS

    Monday, October 28, 2013 8:21 AM
  • same issue here..the workaround works for me.

    Btw. It is enough to remove a description language from the store, if remove the language from the manifest?

    Wednesday, October 30, 2013 9:49 PM
  • Fabien, can you put the project that repro the issues on a SkyDrive share?  The rapidgator.net is proving to be challenging to get the actual zip file.  I'll read the rest for the thread and try to provide an answer in the meantime.

    Thanks,

    Cameron

    Thursday, October 31, 2013 4:57 PM
  • There you go:

    https://skydrive.live.com/redir?resid=CF7243EF404925AF!442

    Thursday, October 31, 2013 5:00 PM
  • I am looking into this as I am able to repro the reported issue (Thanks for the project).  However, the PRI file is being populated with the translations.  The app uses en-US and fr-FR via resjson and FR and DE via XLF (MAT).  When I dump the PRI file (makepri dump /of dump.xml /if bin\Debug\ReverseMap\resources.pri) all four languages are included.

                   

                    <Qualifiers>

                                    <Language>EN-US, FR-FR, DE, FR</Language>

                                    <Scale>100</Scale>

                    </Qualifiers>

                   

                    <Candidate qualifiers="Language-FR-FR" type="String">

                                    <Value>Hello World! FR from resources.resjson</Value>

                    </Candidate>

                    <Candidate qualifiers="Language-FR" type="String">

                                    <Value>Hello World! FR</Value>

                    </Candidate>

                    <Candidate qualifiers="Language-EN-US" isDefault="true" type="String">

                                    <Value>Hello World!</Value>

                    </Candidate>

                    <Candidate qualifiers="Language-DE" type="String">

                                    <Value>Hello World! GERMAN</Value>

                    </Candidate>

    I am looking to why the translated string is not displaying when my Windows 8.1 user language preference is set to French (France).  I'll report back once I have more information

    Thursday, October 31, 2013 8:27 PM
  • This appears to be triggered when the project is retarget to Windows 8.1 option in VS.  Here is what I did:

    1. Created a localizable VS 2012 JavaScript project and added German using MAT.  German was displayed
    2. Opened the JavaScript project using VS 2013, cleaned and rebuild the solution.  German was displayed
    3. Retargetted the JavaScript project to Windows 8.1 (via VS 2013), cleaned and rebuild the solution.  German was NOT displayed.

    As indicated above, for now please use the workaround of adding the resource language attribute directly to your project's package.appxmanifest file manually (via the Right-Click -> View code)

    For example:

      <Resources>

        <Resource Language="x-generate" /> <!-- Ok to leave this in -->

        <Resource Language="EN-US" />

        <Resource Language="FR-FR" />

        <Resource Language="DE" />

        <Resource Language="FR" />

    </Resources>

    Thank you for reporting the via MSDN.  I will log a bug in my team's TFS server to get this fixed. 

    Cameron

    • Proposed as answer by Endorsay Friday, November 1, 2013 5:53 AM
    • Marked as answer by Fabien Nicollet Friday, November 1, 2013 10:16 AM
    Thursday, October 31, 2013 8:53 PM
  • Forgot to add that this only happened on retargeted JavaScript apps.  New Visual Studio 2013 JavaScript apps as well as retargeted C++, C# and VB apps continue to work correctly.
    Thursday, October 31, 2013 11:14 PM
  • This appears to be triggered when the project is retarget to Windows 8.1 option in VS.  Here is what I did:

    1. Created a localizable VS 2012 JavaScript project and added German using MAT.  German was displayed
    2. Opened the JavaScript project using VS 2013, cleaned and rebuild the solution.  German was displayed
    3. Retargetted the JavaScript project to Windows 8.1 (via VS 2013), cleaned and rebuild the solution.  German was NOT displayed.

    As indicated above, for now please use the workaround of adding the resource language attribute directly to your project's package.appxmanifest file manually (via the Right-Click -> View code)

    For example:

      <Resources>

        <Resource Language="x-generate" /> <!-- Ok to leave this in -->

        <Resource Language="EN-US" />

        <Resource Language="FR-FR" />

        <Resource Language="DE" />

        <Resource Language="FR" />

    </Resources>

    Thank you for reporting the via MSDN.  I will log a bug in my team's TFS server to get this fixed. 

    Cameron

    Thank you Fabien and Cameron for investigating.

    Thank you Cameron for logging the bug: let's hope this scenario does not break in future retargeting.


    http://endorsay.com

    Friday, November 1, 2013 5:59 AM
  • The Multilingual App Toolkit recently released a fix for this issue.  Please download and install the latest version (v2.1.2010.0).  You can find details at http://blogs.msdn.com/b/matdev/archive/2013/12/06/multilingual-app-toolkit-v2-1-service-release.aspx

    Thank you,

    Cameron

    Tuesday, December 10, 2013 6:07 PM
  • Hi,
    I am the one who noticed this issue and reported it in the MSDN forums
    I updated MAT to version 2.1.2010, rebuilt my project, replaced my ressource tags by "x-generated" tag in the manifest, even added a language (Russian). 

    I created a package for the Store and when I upload it, it still says that there was only one language. When I enter the languages manually, it works, but x-generated still doesn't.

    Is there something special I need to do ?

    Thanks,
    Fabien
    Thursday, December 12, 2013 2:34 PM
  • are you suppling images/tiles for different scales? then the mat isnt working. looks like a bug.

    Microsoft Certified Solutions Developer - Windows Store Apps Using C#

    Thursday, December 12, 2013 3:58 PM
  • No, just the plain obligatory one. Should I ? How is that connected to my issue?
    Thursday, December 12, 2013 4:00 PM
  • Brilliant. Thanks for this.

    Do you know why I get the message "You haven't uploaded any Windows 8.1 packages" on the additional language description pages?

    The main language for the app (English) works fine, I can edit the description for 8 and 8.1 but not for any other languages - is this normal?

    If I input the resources manually, it works fine but using the x-generate alone just fails.

    Also, can you talk to someone about the sharing of pictures between the language pages - or a way to upload a picture from an url instead of our own machine. For slow internet connections, uploading multiple (often the same) 2mb PNGs over and over is an extremely slow and tedious process.

    Maybe some sort of loading gif, so we know its still uploading? Bulk uploader? Anything please! Haha



    • Edited by ViralBeeb Saturday, December 14, 2013 12:09 PM .
    Thursday, December 12, 2013 11:27 PM
  • I commented on the blog as well.  I will pass on your posting image comment as well.

    After reading your comment, we tested this again.  Our tests worked both locally and when the app was uploaded to the store.  However, when we added a third language using a RESW file instead of XLF, I saw the issue you reported.  The team is still looking into the root issue, but it appears to be related how MAT works with the resource packs and bundling feature available for Windows 8.1 apps.  

    The problem happens when an app uses both rejson / resw and XLF file for translation resources.  For my example, I used en-US\Resources.resw (as my default language) and French_fr-FR.xlf as my MAT based language.  Everything was working as expected until I added de-DE\Resources.resw (or resjon for JavaScript).  At this point, the store no longer recognized the XLF languages (French) since it is expecting resource packs.

    We have tested three workarounds that work to overcome this issue. Each will result in creating an app without the resource packs to avoid the above issue.

    1. Use only RESW/RESJSON for your default language and XLF files for additional languages for Windows 8.1 resources.

    2. If you need to mix RESW/RESJSON, then select “Never’ for the Generate app bundle combo box when creating app packages.

    3. Manually add the languages into the manifest file directly.

    This will keep you publishing for now as we continue to look into the issue.

    Sunday, December 15, 2013 11:35 PM
  • I have manually added the language files for now although it appears some users are having issues (receiving some odd feedback comments in the latest reviews - a user asked for the app to be in their native language, it already is - so obviously it is showing them English when it shouldn't be). I cannot test it on my side yet though as the app isn't available for me in the Store - I am still getting the old version.

    I only have resources.resjson (English - in a folder named "en") and then all the other languages are in the MultilingualResources folder as .xlf - I added all the languages through the "Add translation languages..." in the menu.

    I don't have any Resw files, unless one of the reference files I am using does (Bing Maps)?

    I will try the Never generate app bundle and see what happens.

    ---

    Okay, I changed the app bundle generation to Never in the package manifest, but when I go to create the package it states that because I have already uploaded a packaged bundle previously, it will ignore whatever it is I am trying to do now.

    I searched my app folder for references to RESW and all I could find is this line:

    <indexer-config type="RESW" convertDotsToSlashes="true" />

    In the priconfig.xml files. I definitely have no resw files. 

    The default app language is set to "en" - that is the only difference I can make out from the working example you gave above.

    ---

    I changed the default language from "en" to "en-US" in the package appmanifest and the resources folder name - removed everything but x-generate.. No go, when its put on the store it turns off all the 8.1 language description pages which I assume means the foreign localisations are not generated. Back to using the manual inputted resource languages, it is the only thing that works but I am unsure just how well it is working - it added an extra 1mb to my app file having all these extra split languages which is a real shame as some of the countries this app is published in have really crappy internet.

    • Edited by ViralBeeb Monday, December 16, 2013 8:35 AM .
    Monday, December 16, 2013 7:35 AM
  • Hello and thanks for looking into this issue,

    Just like Tinsleworm I believe, my application has a resources.resjson file for the base language (en-US) and all the translations are XLIFF, including the one that I added. I never used RESW files.

    Thanks,

    Fabien

    Saturday, December 21, 2013 2:55 PM
  • I also noticed the same issue and I have tested this on two PC's:

    1. PC1: Windows 8.1, VS 2012 + Update 4 (VS2013 also installed but not used in this scenario) and MAT 2.1.2010.0
    2. PC2: Windows 8, VS 2012 + Update 4 and MAT also 2.1.2010.0


    I can see in the generated packages AppxManifest.xml that on PC 1 only the following is generated:

    <Resources>
        <Resource Language="EN" />
      </Resources>

    Doing the same on PC 2 generates this:
    <Resources>
        <Resource Language="EN" />
        <Resource Language="NL" />
        <Resource Language="IT" />
        <Resource Language="PT" />
        <Resource Language="ES" />
      </Resources>


    So the there is a bug in either MAT or Windows 8.1 or the combination, which ignores the x-generate attribute. (it's a Windows 8 app)

    Wednesday, February 5, 2014 8:47 AM
  • Hi Guys,

    even though this subject is quite old, I ran into the same issue today and figured out the following:

    - I am using MAT 3.1.1085 on VS 2013 Update 3

    - Added the <Recource Language=...> entries as suggested

    - Changed "Generate App Bundle" option to "Never" (which is a good idea anyway)

    Result: Nothing, no change, still no translation

    Then:

    - Disabled MAT under the Tools Menu

    - Enabled MAT again

    - Noticed that there is a new file xxx.qps-ploc.xlf under MultilingualResources

    And finally found everything working.

    Not sure if either or all of the previous tasks are still necessary. Doesn't matter. Have to hurry now as I already wasted way too much time with this unfortunate issue.

    G.L.

    Marcus



    Monday, November 3, 2014 7:30 PM