Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crossgeeks/multilingualplugin
Multilingual Plugin for Xamarin and Windows
https://github.com/crossgeeks/multilingualplugin
culture device-culture language nuget resx specific-cultures xamarin-forms
Last synced: 4 days ago
JSON representation
Multilingual Plugin for Xamarin and Windows
- Host: GitHub
- URL: https://github.com/crossgeeks/multilingualplugin
- Owner: CrossGeeks
- License: mit
- Created: 2017-08-09T01:51:31.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-20T21:02:12.000Z (over 4 years ago)
- Last Synced: 2025-01-23T18:06:48.263Z (11 days ago)
- Topics: culture, device-culture, language, nuget, resx, specific-cultures, xamarin-forms
- Language: C#
- Homepage:
- Size: 1.72 MB
- Stars: 99
- Watchers: 10
- Forks: 40
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Multilingual Plugin (DEPRECATED)
Simple cross platform plugin for handling language localization.# **IMPORTANT NOTE**:
**THIS PLUGIN IS DECPRECATED - NOT UNDER DEVELOPMENT AND NOT SUPPORTED**
**This plugin is no longer needed. More information here:**
https://xamgirl.com/handle-multilingual-in-xamarin-forms-without-any-plugin/
## Features
- Get and set current culture
- Get device culture
- Get culture list
- Get specific culture by name**Platform Support**
|Platform|Version|
| ------------------- | :------------------: |
|Xamarin.iOS|iOS 7+|
|Xamarin.Android|API 10+|
|Windows 10 UWP|10+|
|Xamarin.Mac|All|
|watchOS|All|
|tvOS|All|### Setup
* Available on NuGet: http://www.nuget.org/packages/Plugin.Multilingual [![NuGet](https://img.shields.io/nuget/v/Plugin.Multilingual.svg?label=NuGet)](https://www.nuget.org/packages/Plugin.Multilingual/)
* Install into your PCL project and Client projects.### Getting Started
1. Add your Resx files
Add one resx file per each language you want to support. "It must follow a specific naming convention: use the same filename as the base resources file (eg. AppResources) followed by a period (.) and then the language code".
2. Set the culture of your resource class file when initializing your application.
For example:
```csharp
AppResources.Culture = CrossMultilingual.Current.DeviceCultureInfo;
```
If you are using Xamarin Forms it would be in your App.cs### Xamarin Forms Specifics
When installing the plugin it will create a **TranslateExtension.txt** file in folder Helpers, rename the extension for this file to **TranslateExtension.cs**.
In **TranslateExtension.cs** file in the constant **ResourceId** by default it will assume your resource file is added in the root of the project and the resx file is named as AppResources. If you added it to a folder or named the resx file differently you can change it there.
XAML sample usage:
### iOS Considerations
In the Info.plist file add the keys **Localizations** & **Localization native development region** to change the user interface OS elements. It will take the device language.
### API Usage
Call **CrossMultilingual.Current** from any project or PCL to gain access to APIs.
**CurrentCultureInfo**
Gets and set the current culture. By default will be set to the device culture.
Usage sample:
```csharp
CrossMultilingual.Current.CurrentCultureInfo = new CultureInfo("en");
```
Note: After changing the current culture is important to update your resx class culture. As follows:```csharp
AppResources.Culture = CrossMultilingual.Current.CurrentCultureInfo;
```**DeviceCultureInfo**
Gets the device culture
Usage sample:
```csharp
CrossMultilingual.Current.DeviceCultureInfo;
```**CultureInfoList**
Gets all cultures supported in .NET Framework (neutral & specific cultures)
Usage sample:
```csharp
CrossMultilingual.Current.CultureInfoList;
```**NeutralCultureInfoList**
Gets all cultures associated with a language (not specific to a country/region).
Usage sample:
```csharp
CrossMultilingual.Current.NeutralCultureInfoList;
```**GetCultureInfo**
Gets a specific culture by language code.
Usage sample:
```csharp
CrossMultilingual.Current.GetCultureInfo("es");
```In case you want to know more about localization:
https://developer.xamarin.com/guides/xamarin-forms/advanced/localization/
### Contributors
* [Charlin Agramonte](https://github.com/char0394)
* [Rendy Del Rosario](https://github.com/rdelrosario)