So i'm trying to localise my app but the toolkit doesn't seem to be doing anything. I've been following this guide:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj572370.aspx
I followed the guide and when I build I get this in the output:
1> Multilingual App Toolkit build started.
1> Multilingual App Toolkit build completed successfully.
but the .xlf files are empty. I have "English.xlf", "English (United Kingdom).xlf" and "Pseudo Language (Pseudo).xlf" and none of them have anything in it. I do have text in my app, written in English.
I don't know what I'm doing wrong as there is no error message. I also found this guide:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965329.aspx
which doesn't even use the toolkit.
Any help appreciated, thanks.
The Multilingual App Toolkit needs a resource file to work with. Did you create the proper resource file for your apps culture as described in the link Translating UI Resources?
If you created that file, you need to enter your strings there. On compile the translator will then copy those strings to each of your selected language files.
After that you will then have to:
translate the strings manually in each file
use the translation tools
automatic translation feature (it's good but not perfect!)
send the file to a translator
Related
monodoc is the only C# system, which work on mono on linux. Sandcastle fails - https://github.com/ArsenShnurkov/sandcastle-tools/issues/1
The goal is to get multilanguage HTML documentation for API.
How to setup development with monodoc and transefix.com (which is opensource translation platform) for hello-world project?
Interesting question; The best course of action would be to extract the strings from the various XML nodes (those inside Docs/) and put them on a .po file, translate that, and then produce a translated version out of it.
Accoding to Andy Wigley on this video https://www.microsoftvirtualacademy.com/en-US/training-courses/a-developer-s-guide-to-windows-10-12618 (look in additional resources -> Localization), UPW apps download only the culture resources they need.
I'm writing an app that uses resource files not only to translate UI but also generate files for the user. User may want to generate files in different culture than the one the OS uses. How I can assure that e.g. if my system is in en-US I will be able to get resources in french?
I may use own XML files that all will be included in the app. But some of the resource for sure will be needed also in UI, so I don't want to duplicate the resources and have to translate them twice.
Rob's answer would work great for a new app, but it didn't work for me, as I had already shipped a previous version of the app as a bundled package. If you then try to switch to a non-bundled package, the store submission portal gives the error:
A previous submission for this app was released with a Windows 10 appxbundle. Subsequent submissions must continue to contain a Windows 10 appxbundle.
After reverse-engineering far too much of the build system, I found enough clues to discover this well-hidden documentation: https://msdn.microsoft.com/en-us/library/dn482043.aspx
Following the steps there, you'll still create a bundled package, but the toolchain won't use Language as a qualifier on which to separate out different bundles. In other words, the neutral package will have all the languages in it, while still bundling satellite packages for Scale (or whatever you like).
In case the MSDN page vanishes, the punchline is that you can override <AppxBundleAutoResourcePackageQualifiers> in your msbuild file to remove the Langauge qualifier:
<AppxBundleAutoResourcePackageQualifiers>Scale</AppxBundleAutoResourcePackageQualifiers>
If you do not want to separate out resources into separately downloadable bundles then you don't need to. When you build the app package you can choose to never create bundles so all resources are included in the main package.
See step six in Create an app package at https://msdn.microsoft.com/en-us/library/hh454036.aspx , but choose "never" instead of "always".
I have multi Language Application, first it was made in English only,
than one time i added support for German and Russian version and send resx files for translation to mates.
But while they do translation, i added few more checkboxes in GUI
and now when i copy their files and load German \ Russian GUI version those not translated checkboxes do not shown in in those languages.
My Question is:
Is there a way to update localized .resx files to version of main, as i can see it:
in Localized files if controls are missing - they will display in default language.
For translation they used: Zeta Resource Editor
Found answer by myself :) Maybe someone need it:
In this free program (Zeta Resource Editor) You can Add group of existing resources from Your VS Project - just select them an add, Zeta Resource Editor will auto show which strings are missing, so you can easily find them.
we have a complex application here which is written in MFC and C# and running in mixed-mode. We're now trying to set up a multi-lingual version of this application. So I created English resource files (in the .NET part) for every existing resource file and translated all necessary strings. E. g.: MyResource.resx and MyResource.en.resx. Original language is German.
Now if I start the solution containing only the .NET-Projects with the Thread.CurrentThread.CurrentUICulture set to 'en-US' all the dialogs and texts appear in English as expected. The MFC part (the compiled code in the .exe file) is translated with a tool called Lingobit which replaces the strings in that .exe file and it works fine. So far, so good.
But when it comes to start the full mixed-mode application all the English resource files of the .NET part are ignored and it falls back to the German ones.
I additionally tried to use Lingobit to translate the .NET-DLLs. Lingobit creates a separate mylib.resource.dll of my original mylib.dll which seems to be ignored, too.
I'm running out of ideas here how to create an English version of this application. Any suggestion how to make my mixed-mode application use the English resource files?
Thanks in advance.
The solution itself was quite simple, but it took me a while to find it. If you compile the .Net project Visual Studio creates a "en"-Folder in your output folder (e. g.: bin/Debug/). This folder is not created with the compilation of the mixed mode version, so just copy it from your .Net output folder to your mixed mode output folder.
In addition I'll create a little script to copy it to the needed location after the build.
Have a good one everybody.
In our company we have a software program that operates the machines that we produce. The application (HMI) that is running on a WES7 OS is programmed in C#. Because our machines are shipped all over the world, the language of the HMI can be adjusted by clicking on a language button.
The HMI software is written by a third company but we have it in our own control now. The machine's we deliver might have project specific "fault" messages and must be added to the HMI. This means that these specific "fault messages" must be added to the resources.resx file. But for as far as I know, this can only be done from Visual Studio, do a build and a new file ExternalResources.xap file is created with all translations (Multilanguage).
We don't want a specific application for each customer or do a build on the project for only creating the ExternalResources.xap file. So I'm wondering if there are tools available that run standalone (no Visual Studio needed) and that can create the ExternalResources.xap file.
We don't need to add sources to the resources file, but only change the value of a source on project wish. I hope I made my point clear and someone knows a solution.
Edit:
I need to generatoe the ExternalResources.xap file. When you open this file, all locations available are shown in folders, and within this folders, there are *.recourses.dll files. Those files do I need to generate!
You may use Resgen.exe
Or develop some tool for that, here is a useful sample Extended Strongly Typed Resource Generator
Hope this helps.