I've added english language to my app written originally in polish, set the default language to en-us but for some reason people from non-english speaking countries still get the polish translation, any ideas?
You have to modify the project file manually:
<PropertyGroup>
<SupportedCultures>en;pl</SupportedCultures>
You don't have to add your default language to SupportedCultures
Related
When trying to export XLIFF for my development language there is no way to include translations.
I have a development language set to Czech like this
When I want to export existing translations for Czech - there is no checkbox for that
I can select 'Development Language Only' but it does not give me current translations I already have in Localizable.strings (Czech).
Everything is working fine for Slovak though. I also want to have Czech language to be a default one for English, France etc. That's why I set it up as a development language.
So I understand how Multilingual App Toolkit 4.0 works and it works great for my Xamarin.Android project. The default language is English, and with MAT we've translated it to Dutch and German.
Then comes the translator along and asks about how to make changes to the English texts, which is my source texts and the basis of all translations. The source texts (English) are in a file Resources\values\Strings.xml. Alter a string there, would invalidate all translations (Dutch and German).
Besides invalidation, I can't send my translator the normal .xlf file, because all source texts are in the Strings.xml file.
So my question is, how can my translator alter the source language texts in the most easy way (preferably with an .xlf file)?
The short answer is that you can't. The design of the Multilingual App Toolkit focused on providing easy support for translation into other languages. The concept of providing source content editing was not considered.
That said, as a workaround you could add another variant of English. For Android apps, the default is English Neutral (en), so adding en-US or en-UK would create the XLIFF file that your translator / proofer could edit using the same tooling (e.g.: Multilingual Editor) to provide source content proofing. If using the same translator for proofing and translating, they could apply the translation based on the update English string to the Dutch and German files.
When you receive the XLF files back ensure all the resource in the proofing English XLF (e.g.: en-US) are marked as need review, translated or final (basically anything except 'New'). The reason is that the Multilingual App Toolkit does not include untranslated resource in the generated target resource file. (The reason is for language fallback purposes in Windows apps).
Now you can import the proofed English file with the other XLF file and build. Copy the entire contents from the proofed English resource file(s) overtop the original source files (recommend Comparing first). When you next build, you will receive warnings that the source resources have changed after the translation, but you can just review and clear those warning in the editor, or clear them globally within the Visual Studio IDE.
I have created a Firefox Add-on using jpm and I have added a number of localization files such as:
locale/da.properties
locale/en-GB.properties
locale/en-US.properties
locale/fi.properties
And so on...
In my HTML files I use attributes to set these values, for example: data-l10n-id="ext_panel_heading_text".
I know the translations are working, because changes I make to values in en-GB.properties are reflected in my add-ons HTML page.
I've tried navigating to Options > Content > Choose... (under languages), removing English and adding another language (such as Finnish), however it doesn't seem to have an affect on the .properties file loaded by my extension. I also tried restarting Firefox after changing the language.
My question is: How do I test the different languages?
The language of Firefox is dependent on the activated language pack, or for Windows and Mac I believe it is hard coded into the build.
Language packs are available from https://addons.mozilla.org/en-US/firefox/language-tools/
The only way I know is to change general.useragent.locale to the locale you want to use (en-GB, da, en-US, fi) in about:configand then restarting your browser: that way your add-on should show localized texts.
As an alternative, you can use Quick Locale Switcher, which does the same but it's a little more friendly.
Although I have created a resource file for simplified chinese AppResources.zh-CH.resx, and i have added it in the supported culture in the csproj, the chinese text is not displayed. Instead the default english text is shown when i change the language to simplified chinese.
Though those text such as the month name which is obtained from the WP OS is shown in chinese.
The other languages such as spanish and german works like a charm. I have created the generic german and spanish( AppResources.de.resx, and AppResources.es.resx)
Am i missing? Do i have to make changes for any other changes for chinese?
Your entering the wrong (unsupported) culture for in the supported culture.
Please check the following link for the supported language and culture.
I am trying to localize my wp7 application and I need to have different strings for de-DE and de-AT because there are some language differences between those two cultures even though the basic settings are the same.
I did the following to achieve this:
Created an AppResources.resx file for the default English text
Created an AppResources.de-DE.resx file for the German text
Created an AppResources.de-AT.resx file for the German text for Austrian sub culture
in the Assembly Information... in the project properties I set English as my Neutral Language
I closed the solution, opened up my project.csproj file and changed the <SupportedCultures/> to the following: <SupportedCultures>de-AT;de-DE</SupportedCultures>
I added a new Class LocalizedStrings, registered it in Application.Resources in App.xaml and changed the output string accordingly.
Both the Emulator as the handset are set to Austrian Locale, System.Globalization.CultureInfo.CurrentCulture.ToString(); returns de-AT, but regardless of that the texts defined in AppResources.de-DE.resx are used and not the ones defined in the file for the Austrian culture.
Any idea how I might solve this issue?
You should check the CultureInfo.CurrentUICulture, not the CurrentCulture!
That is the property that controls what resources get loaded for interface!
The value of CurrentUICulture should match the one selected in the phone/emulator Settings -> Region+Language -> Display Language.
Ideally, you can always override the system imposed CurrentUICulture by setting a different CultureInfo on Thread.CurrentUICulture.