Visual Studio C# Updating Localized Languages resx - c#

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.

Related

Windows Phone 8.1 (WinRT) Localization Problems (MakePRI)

I have a question regrading the localization of WinRT-Apps.
As far as I know the system works like that:
Strings || Resources
de-DE
Resources.resw
en-US
Resources.resw
etc.
Resources.resw
So far, this folder structure is implemented in my project.
In my Package.appxmanifest the "Default Language" is set to "en-US", so everything should be okay from my point of view, if language is not supported it should fall back to "en-US", since it's set there.
But if I compile the stuff, in the Output-Box from VS I get a warning from MakePRI
2>MakePRI : warning 0xdef01051: No default or neutral resource given for 'Resources/String'. The application may throw an exception for certain user configurations when retrieving the resources.
I searched so far and found only things that are related to the Advertising SDK from MS, which I don't use in my project, so the problem shouldn't be there.
Why is MakePRI giving me this message, where I'm wrong?
Just for the records: I had the same warning when building a Windows 8.1 Store Universal App (Windows + Windows Phone). My project contains a folder with images which are used as pinpoint markers on a map. The folder names were
Assets/marker/yes/foo.png
Assets/marker/yes/bar.png
Assets/marker/yes/baz.png
...
Assets/marker/no/foo.png
Assets/marker/no/bar.png
Assets/marker/no/baz.png
...
The separation in yes/no subfolders is appliation-specific. My program uses markers inidicating the presence/absence of something on a map.
For each element under Assets/marker I got twice the warning below - one for the Windows project and the other for the Windows Phone project.
MakePRI : warning 0xdef01051: No default or neutral resource given for ...
According to the MakerPRI documentation the resource indexing system tries to recognize language identifiers in folder and file names. I figured that the reason for the warning was the folder name "no". MakerPRI interpreted it as "Norwegian" and rightfully complaint that my project contains resources which are available in one language but not for all languages.
I changed the folder name "no" to something else and the warnings were gone. So bottomline is that one should be careful with file names and folder names which could be misinterpreted as language tags. Here is a list of all available language tags.
This error means that you have a localized string named "String" which is not defined in your default "en-US\Resources.resw" file.
If you look in your "de-DE\Resources.resw" file you should find the entry. You will have to report it to the default file or delete it if it is not needed.
All the strings which exist in your non-default localization files must have a default value in the default language file.

Confusing C# code with Confuser does not work with language resource files (DLLs)

I have a C# project (WinForms) in Visual Studio 2012, running Windows 7 Professional 64bit.
My WinForms app comes with two languages - English and German.
Thus, in my Visual Studio project, I have two resource files (.resx) lang.resx (containing my default language, German) and lang.en-GB.resx (containing my optional language, English).
When I compile my project for .NET 3.5, VS creates two folders in my app project folder, "de_DE" and "en_GB", and copies DLL files containing the language stuff into those two folders (both files are named "app.resources.dll").
So far, so good. My app works well, when not "confused". When run on an English copy of Windows, it shows English text, when run on a German or any other language copy of Windows, it shows German text... As expected.
Now, I am confusing my code with Confuser (found on CodePlex: https://confuser.codeplex.com/), using Confusor version 1.9 (the latest, pre-compiled, downloadable .exe version).
When I add my "app.exe" and "de-DE\app.resources.dll" and "en-GB\app.resources.dll" to confuser, the confusor will only generate 1 confused app.resources.dll - not 2 (one for each language / resource DLL).
That means, I cannot switch between languages as only ONE app.resources.dll seems to be considered by confuser (not both).
I guess my project setup is nothing special or outstanding (plain olde WinForm app with more than one language).
My question is:
How do I have to configure the confuser so that it confuses my app.exe and the two app.resources.dll files correctly?
Any help (or even hint) is greatly appreciated!
On the confuser patch listings it addresses your exact issue:)
http://confuser.codeplex.com/sourcecontrol/list/patches
Patch ID 14664 is about your issue, and it looks like you need to set the entries in the project file (taking an excerpt of their own site):
An example with language files, showing what the output should be:
Executables\Common.resources.dll -> targetfolder\common.resources.dll
Executables\de\Common.resources.dll -> targetfolder\de\common.resources.dll
Executables\fi\Common.resources.dll -> targetfolder\fi\common.resources.dll
etc.
After patching this can now be achieved with the following kind of project file:
...
<assembly path="..\Executables\Common.resources.dll" />
<assembly path="..\Executables\de\Common.resources.dll" toSubFolder="de" />
<assembly path="..\Executables\fi\Common.resources.dll" toSubFolder="fi" />
Cannot you merely rename DLLs ?
de-DE\app.resources.dll => de-DE_app.resources.dll
en-GB\app.resources.dll => en-GB_app.resources.dll

MFC / C#.NET mixed mode localization (multi language / multilingual application)

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.

Windows 8 Multilingual App Toolkit

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

Updating resource-files in multiple languages ASP.Net

I have a bunch of of ASP.Net pages, which I need to localize into Danish and English. I took over the project, and for some pages the ascx.resx and ascx.da.resx files already exists. Some controls have been added since the resource file was created.
I can update the standard resource file (XXXX.ascx.resx) with the missing entries, by "Tools"- -> "Generate Local Resources" (Using Visual Studio 2010).
But, and here comes my question, How can I update the ascx.da.resx?
You can use Resharper and select option Generate Ressource
Link : http://www.jetbrains.com/resharper/features/internationalization.html

Categories

Resources