public void Save(DefaultLocalizationSet localizationSet) { if (localizationSet == null) { throw new NullReferenceException(nameof(DefaultLocalizationSet)); } string json = JsonUtility.ToJson(localizationSet); string path = Path.Combine(LocalizationEditorEnvironmentManager.TempFolder, EditorInternalConfig.DEFAULT_LOCALIZATION_FILE_NAME); File.WriteAllText(path, json); Debug.Log("Default localization set saved!"); }
private void BeforeGetSetUp(LocalizationProviderBase localizationProvider) { if (this._defaultLocalizationSet == null) { this._defaultLocalizationSet = this._defaultLocalizationRepository.Get(); } if (this._typesToLocalization == null) { this.SetTypesToLocalization(); } localizationProvider.TypesToLocalization = this._typesToLocalization; localizationProvider.LocalizationProviderCache = this._localizationProviderCache; }
public DefaultLocalizationSet Get() { string defaultLocFile = Path.Combine(LocalizationEditorEnvironmentManager.TempFolder, EditorInternalConfig.DEFAULT_LOCALIZATION_FILE_NAME); DefaultLocalizationSet result; if (!File.Exists(defaultLocFile)) { result = new DefaultLocalizationSet(); } else { string json = File.ReadAllText(defaultLocFile); result = JsonUtility.FromJson <DefaultLocalizationSet>(json); } result.Init(); return(result); }
public void Export(TranslationInfo translationInfo, DefaultLocalizationSet defaultLocalizationSet) { string translationDirectory = Path.Combine(LocalizationEditorEnvironmentManager.TempFolder, translationInfo.TranslationName); StringBuilder sb = new StringBuilder(); sb.AppendLine(this._msgid.F(string.Empty)); sb.AppendLine(this._msgstr); sb.AppendLine("\"Language: " + translationInfo.CultureInfo.TwoLetterISOLanguageName + "\\n\""); sb.AppendLine(); int pluralsCount = PluralFormGenerator.CreateForm(translationInfo.CultureInfo).PluralsCount; foreach (StoredString s in defaultLocalizationSet.Strings) { sb.AppendLine(this._comment.F(s.Id)); if (s.Strings.Length == 1) { sb.AppendLine(this._msgid.F(s.Strings[0])); sb.AppendLine(this._msgstr); } else { sb.AppendLine(this._msgid.F(s.Strings[0])); sb.AppendLine(this._msgid_plural.F(s.Strings[1])); for (int i = 0; i < pluralsCount; i++) { sb.AppendLine(this._msgstr_plural.F(i)); } } sb.AppendLine(); } File.WriteAllText(Path.Combine(translationDirectory, translationInfo.TranslationName + ".po"), sb.ToString()); Debug.Log("Gettext translation export - Complete."); }
public void DoExport(TranslationInfo translationInfo) { DefaultLocalizationSet defaultSet = this._defaultLocalizationRepository.Get(); this._translationExport.Export(translationInfo, defaultSet); }