I just tried to submit my new Windows Phone 7 app to the Market Place and realized that apparently I have set English as my project language instead of German. In the app hub application submission walkthrough - step 2 it says
Provide the following information to submit your application. You'll repeat these steps for each language that your XAP package supports.
And in the next page as the only "supported language" English is shown.
How can I put German instead?
Thanks
PS: Does it even matter? What if I just provide a German description even though it says English?
Your changing the native language of the app. Open properties of your project, get the assembly info and you should see a list of languages (I'm not exactly sure as dont have VS on this machine).
The other option is to add / change the NeutralResourcesLanguageAttribute in the assemblyinfo file. The new version would look like:
[NeutralResourcesLanguageAttribute("de")]
Related
I've created an app, but I got rejected because of some language problems. What I did was that I've created an app in my own language.
So how can I pass the certification, as it must be possible to create an app to my marketplace in my language? It's content is dynamic so it makes no sence having an english translation. Possible steps:
AssemblyInfo.cs
set [assembly: NeutralResourcesLanguageAttribute("no")] (my is "no"/"no-NO")
Project settings (application)
add Your suported cultures (i have 5, Norwegian is hard :P)
deselected English
Select only my marketplace (1, deselect 190 :D)
Provide Norwegian store description
Provide English description for the testers
Should make them happy right? If I try to upload the xap now I get the following:
3010: The [NeutralResourceLanguage] attribute is invalid on the entry assembly. Update the assembly and then try again.
So how can I successfully create a app for my own langauge and pass certification, I only want my app available in my marketplace?
According to How do I localize for a language that isn't supported? section in following blog poost:
http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/04/02/globalizing-and-localizing-a-windows-phone-app.aspx
You have to set as neutral a language which is a supported by the Store:
Set your neutral language to one of the supported display languages. For example, 'English (United States)'.
In the description section, when uploading to the DevCenter, you have to write a note in the neutral language saying that the app is actually in an unsupported languate, the description in the language (not supported) of the app and a description in the selected neutral language (supported). I.e. you don't only have to write a description in supported language for testers, but for everyone:
On App Hub, you will be prompted to input metadata and a description for the neutral language you chose (for the above example, you'll be prompted for English). You must include the following three items in the 'Detailed description' field to pass certification:
A note, such as ‘The language of this application is [unsupported language name]’. This note must be written in the same language as the neutral language. For example, if you chose 'English (United States)' as your neutral language, the note must be written in English (United States). This note must be the first item in the ‘Detailed description’ field.
Your app description, in the same language as the neutral language.
Your app description, in the unsupported language.
Is there a way to change the current language to another one at runtime ?
For example: be able to switch when a button is clicked or when starting the app, get the user language and switch.
How to tell the plugin to check the user language at startup ?
Thanks in advance for your help.
Is there a way to change the current language to another one at runtime ?
yes, call builder.LoadResources(whichLanguage) on your MvxTextProviderBuilder.cs
For example: be able to switch when a button is clicked
The UI framework isn't really setup to perform switching live. When you switch between languages then the new JSON resource files will all be loaded OK - but existing displayed text will not be updated. This is a bit like most mobile operating systems - if you want to switch language you often need to reboot!
If you wanted to add dynamic switching then you'd have to find a way to tell the UI to completely refresh all text - I suspect this wouldn't be hard to do, but it might require some manual coding on every page/View which has already been created and displayed :/
or when starting the app, get the user language and switch.
This is a much more straight-forward way to do i18n. It's normally OK because MvvmCross mainly targets phones - and phones are normally single user devices which don't switch languages very often.
You could, for example, use some variable (e.g. System.Globalization.CultureInfo.CurrentUICulture) to work out the best language to display.
Or you detect on load whether the user has picked a language yet - if they have, then show HomeViewModel - if they haven't then show a LanguagePickerViewModel - this is what we did in StarWarsKinect - the StartNavigationObject is a perfect place for this sort of logic!
How to tell the plugin to check the user language at startup ?
Currently, you'll have to code this logic as part of your app startup.
I'd definitely be open to providing an improved plugin on this - perhaps with a demo!
If you are looking at i18n, then one alternative implementation to consider is Vernacular - the team at Rdio have a very good offering for Mono and MS platforms - https://github.com/rdio/vernacular
I finished a new WP7 app and I made it possible to switch to different languages via custom code.
I'd like to add English and French, currently it is only set to German.
When I try to submit it to the marketplace, I only have the option to fill out the german info, but how can I declare my app to be also available in EN and FR?
See the HowTo: on MSDN.
The idea: If you have resources for supported languages, you need to declare them in .csproj file
<SupportedCultures>de-DE;fr-FR;us-EN;</SupportedCultures>
Thanks to Anton I came to the solution:
If you end up like me, do this to add different language support for your app manually (without filling out resources):
Create new resource items in your project and call them AppResources.en-GB.resx etc. It should fit to the syntax. You don't need to fill out or explicitly use those resource files.
After that, you go to your .csproj file of your project and add (see above posts) those language infos into it. Then, you'll see that the marketplace recognizes those languages.
I have noticed that when i change phone settings, that some of the applications on the phone change their name based on selected language.
eg. Where you change phone settings is Settings (english), Parametres (french), Configuracion (spanish)
Does anyone know how to do this for my own application?
I can change the strings inside my application. I want to change the application name that is displayed beside (or overtop) the application tile.
Microsoft wrote a detailed guide on how.
And yes, it's a C++ satellite DLL. You're not reading it wrong.
Consider using Patrick Getzmann's Tool to automate the satellite generation
I have an application in Windows Phone 7.0 and now I want to make it multilingual supporting both English and French languages.
Could anybody guide me through the approach I should follow for supporting it in multilingul.
Thanks
SAM
The recommended approach is to expose any ResourceManager instances as XAML Resources (via a wrapper class, since the resources are only available at runtime). You can then bind to the properties of the strongly typed ResourceManager in XAML.
Here is some documentation that might help:
How to: Build a Localized Application for Windows Phone
Globalization and Localization for Windows Phone
And some other resources to help:
PhoneCommonStrings contains strings commonly used in WP7 applications, localized to all available languages (disclaimer: I'm the author of the library)
BindableApplicationBar allows you to bind the text (and command) of your application bar buttons
Look at my blog: I just wrote about this very subject a couple weeks ago. It gives you step-by-step instructions.
Basically:
Create the project
Edit the .csproj file in notepad to add the desired cultures to the tag.
Select a neutral culture in the project's properties
Add Resources to the project in Solution Explorer
Create a class to access those resources
Add that class to the tag of the App.xaml file
Put your strings into the Resources file
Bind to those strings using the resource binding in your xaml.
If using an ApplicationBar, you must do so in code, as it cannot be bound in xaml.
Create another resource file for each supported culture.
Create dll files for each supported language, so the title will be correct on the tile and program list.