Exemple #1
0
        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!");
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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.");
        }
Exemple #5
0
        public void DoExport(TranslationInfo translationInfo)
        {
            DefaultLocalizationSet defaultSet = this._defaultLocalizationRepository.Get();

            this._translationExport.Export(translationInfo, defaultSet);
        }