iOS: Локализация и версионирование данных с Firebase Database

02 июня 2021

Firebase сейчас стал одной из основных зависимостей, которую iOS разработчик добавляет в свой проект. И если AnalyticsCrashlytics, и даже Performance работают из коробки или с минимальной настройкой, есть один инструмент, вызывающий куда больше вопросов. Это Firebase Realtime Database.

Как настроить ее для работы с разными локализациями?

Как настроить ее для работы в production?

Что насчет cреды и версионирования?

И главное, как сделать все это без костылей, и получить масштабируемый и тестируемый результат?

Мы кратко рассмотрим, как вообще работать с текстовыми значениями, от простейшего случая без локализации, до полноценной локализованной базы на Firebase.

 

Часть 1. У вас есть файл Labels?

 

Работая над iOS проектом вам, рано или поздно, будет необходимо решить, как организовать и хранить все Strings, используемые в лэйблах, кнопках и текстах. Сегодня уже никто не хардкодит тексты прямо в UI:

welcomeLabel.text = "Welcome to my cool App!"

Только не говорите, что вы все еще так делаете

Вероятнее всего, у вас где-нибудь в проекте есть файл Labels.swift , в котором все stings хранятся в организованном и легкодоступном виде:

struct Labels { static let welcomeLabel = "Welcome to my cool App!" static let loginButton = "log in" }

Вот так уже лучше!

Вероятнее всего, у вас где-нибудь в проекте есть файл Labels.swift , в котором все stings хранятся в организованном и легкодоступном виде:

 

Содержание