Внутри вашего php.ini:
display_errors = on
Затем перезапустите веб-сервер.
Есть несколько решений для достижения этой цели. Я рекомендую вам базовое решение,
Вот интерфейс для языковой службы (опционально, если вы используете Dependency Injection):
blockquote>public interface ILanguageService { string GetString(string text); void ChangeLanguage(bool isALang); bool IsALanguage(); }
Вы можете создать службу для локализации:
namespace Service.Language { public sealed class LanguageService : ILanguageService { List<LanguageRow> LanguageList; private bool IsFirstLang; public LanguageService() { LanguageList = JsonHelper.ReadJSON<List<LanguageRow>>("Service.Language.MultiLanguage.json", typeof(LanguageService)); IsFirstLang = true; } public void ChangeLanguage(bool IsFirstLang) { IsFirstLang = !IsFirstLang; } public bool IsALangueage() { return IsFirstLang; } public string GetString(string text) { string result; try { var row = LanguageList.FirstOrDefault(i => i.Code.Equals(text)); result = IsFirstLang? row.Values[0] : row.Values[1]; } catch { result = text; } return result; } } }
Вот модель для сериализации для json:
public class LanguageRow { public LanguageRow() { Values = new List<string>(); } public string Code { get; set; } public List<string> Values { get; set; } }
Наконец, вот файл json: (EN-FR)
< blockquote>[ { "Code": "VitalSignsViewPage_Title", "Values": [ "Page Title", "Titre de la page" ] }, { "Code": "VitalSignsViewPage_SubTitle", "Values": [ "Sub Title", "Sous-titre" ] }, { "Code": "VitalSignsViewPage_SubSubTitle", "Values": [ "Sub Sub Title", "Sous sous-titre" ] } ]
Вы можете получить доступ к таким переводам, как:
blockquote>ILanguageService _langService = new LangService() _langService.GetString(AppResources.VitalSignsViewPage_Title);