Как поменять локаль в гугл таблицах
Перейти к содержимому

Как поменять локаль в гугл таблицах

  • автор:

Базовые советы для удобной работы в Google Spreadsheets

Александр Максименюк, основатель и CVO Ringostat, еще со времен университета активно работает с таблицами. Поэтому к нему обращаются за советом, как написать формулу или обработать данные. По его словам, самая частая ошибка — это слишком «тяжелые» решения для задач, которые можно решить проще. Или когда вручную делается то, что можно автоматизировать. Для тех, кто работает с таблицами Google и хотел бы делать это лучше, Александр подготовил подборку советов — от простых к сложным.

Базовые советы для удобной работы в Google Spreadsheets

Время чтения 14 минут

Вы можете перейти сразу к интересующему разделу:

Здесь мы не будем разбирать, как создать Google Таблицу или вписывать в нее информацию. Инструкции на эту тему можно легко найти. В этой статье мы поговорим про неочевидные лайфхаки при работе с Google Sheets.

Английский интерфейс и американская локаль

Русскоязычный интерфейс для большинства понятней, но в нем кроется подвох — разделителем аргументами функции здесь является точка с запятой. В английском же языке — запятая. При этом все решения, о которых поговорим ниже, настроены под запятую. Локаль также влияет на разделитель дробной части в цифрах — в англоязычной версии точка, в русскоязычной запятая. Из-за чего появляются проблемы при импорте, например, из базы данных.

Почему именно американская локаль: в ней точно будут точки, она является нативной и самой распространенной — так что в ней минимум багов. Но есть и пара недостатков: дата представлена в формате месяц, число, год, а разделителем выступает слеш.

Проверка данных (валидация)

Особенно важна, когда разные сотрудники вручную вносят данные в документ — а значит, могут делать ошибки. Валидация настраивается в разделе DataData Validation и бывает двух типов:

  • нестрогая валидация — если ввести данные в некорректном формате, появится окошко с сообщением об ошибке;
  • строгая валидация — неправильные данные вообще не получится ввести.

Гугл таблица, выбор валидации — Google Sheets

Нейминг

Называйте таблицу максимально понятно — причем не только вам, но и тем людям, которым к ней откроете доступ. Так вы избежите ситуации, когда вам нужно что-то срочно найти, а в списке открываются сплошные «новые документы». Пример названия: «Отчет об эффективности сотрудников / Иванов / Май 2018 / Компания N».

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

Ringostat для маркетолога

  • Докажите руководству, что настроенная вами реклама эффективна — покажите отчеты коллтрекинга и сквозной аналитики.
  • Узнайте, как сделать кампании еще эффективней — анализируйте, что спрашивают потенциальные клиенты и что стоит добавить в объявления.
  • Контролируйте, как отдел продаж обрабатывает приведенных вами лидов — слушайте аудиозаписи звонков и смотрите отчеты о пропущенных вызовах;
  • Получите больше отдачи при том же бюджете — узнайте, какие кампании не работают и отключайте их или оптимизируйте, а освободившиеся деньги вложите в самые успешные активности.

Ringostat для маркетолога

Оформление

  • цифры и деньги размещаем по правому краю столбца с одинаковым округлением и разделителем между разрядами — так легко определить цифры другого порядка;
  • текст по левому краю столбца — мы читаем слева направо, поэтому так удобней;
  • дата по центру;
  • закрепляем верхние строки столбца, если документ не помещается на один экран;
  • удаляем пустые ячейки и столбцы с помощью Crop Sheet — так вы будете уверены, что в документе точно нет других данных, которые просто не видны, и не достигните лимита в 400 000 ячеек на лист.

Советы, описанные в этой статье, могут показаться сложными. Особенно, если вы владелец бизнеса или маркетолог, которому отчеты нужны, чтобы понимать эффективность рекламы и окупаемость вложений в нее. В этом случае вам подойдет готовый инструмент — сквозная аналитика. Она сама подтягивает ключевые данные и автоматически рассчитывает окупаемость вложений в рекламу — ROI.

При необходимости вы также можете загружать расходы вручную. Это полезно, если вы продвигаетесь не только в тех системах, с которыми у Ringostat есть готовые интеграции. Например, вы можете оценить рентабельность вложений в SEO, баннерную рекламу и т. д

Работа с формулами

Приучайте себя делать все расчеты с использованием формул — даже если нужно посчитать 2+2. Расчетные (зависимые) величины могут быть без формул только в двух случаях:

  • если импортируете готовые данные из других источников;
  • когда в документе слишком много данных и он становится очень «тяжелым» — тут придется удалить часть формул, чтобы он загружался быстрее.

Общие советы для начинающих

  1. Смотрите на подсказки. Они появляются, как только начинаешь набирать формулу, а при нажатии на подсказку появляется более развернутое описание. В нем описаны примеры и описания условий и значений.
  2. Придумывайте формулы, используя базовые знания. Необязательно помнить сотни формул — иногда можно самостоятельно «собрать» то, что вам нужно. Для этого достаточно знать английский на уровне Pre-Intermediate. Например, есть документ с данными по блогу — общие (general), русскоязычная версия (ru), англоязычная (en). Необходимо транспонировать массив (об этом будет ниже) только по общим данным. Тогда формула будет выглядеть так: =TRANSPOSE(FILTER(A1:X22,A1:А = «general»)). Где: A1:X22 — весь; A1:A = blog_general — условие 1).
  3. Ищите готовое решение наStack Overflow. Там есть решения для большинства задач в нескольких вариантах, и оптимальный вариант обычно отмечен галочкой. И еще один аргумент в пользу англоязычного интерфейса — в Stack Overflow все заточено под него. Если вставите решение оттуда в русскую локаль, то придется разбираться, где запятая, а где все же точка с запятой.
  4. Используйте F4, чтобы быстрее менять фиксированные ссылки в в формулах . Если выделить относительную ссылку и нажать один раз эту клавишу, знак $ проставится автоматически. Но учитывайте, что это не подойдет для смешанных ссылок — пример, $A1 или A$1, они наполовину относительные, наполовину абсолютные .

Название всех формул и их описания читайте в справке Google .

Модификаторы формул

IF и IFS работают для множества функций, но нужно помнить хотя бы основные:

  • SUM — сумма;
  • AVERAGE — среднее значение;
  • COUNT — подсчет количества, например, ячеек, символов в строке, но не их содержимого.

Если добавить к ним IF, то будет проверка на одно определенное условие, а если IFS, то таких условий может быть много. И только при выполнении всех из них будут выводиться значения.

Еще одна полезная формула — UNIQUE, которая возвращает уникальные строки в указанном диапазоне, убирая дубликаты. На примере ниже таблица с источниками и каналами, названия которых дублируются. Нужно посчитать количество сессий и коэффициент конверсии для каждого из них. При этом нам нужно суммировать данные по каждому из каналов — например, все сессии из google cpc. Что мы делаем:

  • выбираем уникальные значения с помощью UNIQUE;
  • с помощью SUMIF проставляем условие, что суммируются все значения, если utm_source — google, а utm_medium — cpc;
  • используем $, чтобы закрепить диапазон.

ARRAYFORMULA

Отображает значения, полученные с помощью формулы массива, в нескольких строках и столбцах. При своей простоте, сильно упрощает работу с таблицами. Допустим, есть большой массив данных, который нужно обработать — посчитать conversion rate на примере ниже. Мы могли бы значение одной ячейки поделить на другую и растянуть.

В чем преимущество ARRAYFORMULA:

  • скорость;
  • не расходуется лимит на количество формул — об этом будет ниже;
  • удобство — вписываем диапазоны, нажимаем Enter, и формула все посчитала и растянула.

ARRAYFORMULA можно использовать и для более сложных задач. Допустим, нужно посчитать сумму и сделать проверку по REGEX — точному соответствию определенному тексту. Если делать проверку на соответствие регулярному выражению, то не существует формулы, которая работает с массивом.

Представим, документ, где приведено количество переходов из всех источников. Нас интересуют именно переходы из Facebook. При этом в документе есть пять меток со словом Facebook (например, Facebook_buisness) и еще три с сокращением Fb (Fb_123). Благодаря подвиду этой формулы REGEXMATCH, мы можем суммировать показатели, где в тексте есть упоминание слова Facebook и Fb.

С ARRAYFORMULA можно использовать любые формулы, кроме INDEX, SEARCH, QUERY, в некоторых случаях некорректно работает SUM и т. д.. Когда выделяете два или несколько массивов, они должны быть одинакового размера.

Еще одно применение ARRAYFORMULA — перенос данных с одного листа на другой в рамках одного документа. Допустим, в документе формируется дэшборд, в котором в котором 200 строк и тридцать столбцов. Импортируем данные на отдельный лист в том же документе, и с помощью ARRAYFORMULA затягиваем огромный диапазон — горизонтально и вертикально. Например, так можно затянуть одной формулой пять строк данных за три года.

Формулы, которые важно помнить

  1. IMPORTRANGE — позволяет импортировать диапазон данных из документа, к которому есть доступ.
  2. SPLIT — разбивает текстовые данные по определенному разделителю. Например, у нас есть документ для калькуляции приоретизации features Ringostat. В одной ячейке забит ID задачи и ее описание из системы для управления проектами. В соседнюю ячейку мы затягиваем все до пробела — т. е. только ID. Дополнительно по нему можно сформировать ссылку (формула HYPERLINK) с помощью формулы CONCATENATE .
  3. UNIQUE — возвращает уникальные строки в указанном диапазоне, убирая дубликаты. Результат является массивом. В UNIQUE можно вставить двумерный массив и выбрать в нем уникальные строки.
  4. VLOOKUP и HLOOKUP — находит значения по ключу в определенной ячейке диапазона. Вернемся к примеру из пункта 2. Есть документ с ID, названием и описанием feature, ее score. Формула позволяет оттуда вытянуть название feature по списку ключей.
  5. TRANSPOSE — транспонировать массив, т. е. развернуть. Допустим, есть массив, в котором заголовки в первой строке, а нужно сделать так, чтобы они были столбцом. Так, данные которые располагались слева направо, перемещаются в столбец — сверху вниз. Транспонировать диапазон можно также с помощью специальной вставки paste special.
  6. IF — нужен в случаях, когда SUMIF и SUMIFS недостаточно.
  7. SORT — сортировка. Например, данные на листе нужно отсортировать по определенному критерию. В том же документе с калькуляцией скоринга features мы затягиваем массив из другого документа. Сначала убираем из него дубликаты с помощью UNIQUE, а потом сортируем по score.

Полезные фишки

  1. — дают единый массив, при этом результат зависит от разделителя. Вернемся к примеру с таблицей для приоритизации features. Нас интересуют стоблцы A, B и M. Проблема в том, что нельзя импортировать этот диапазон и вставить без столбцов — а объединение массивов это позволяет. Но опять-таки оба варианта работают в английской локали. Вариант с запятой даст горизонтальное объединение массивов, а при точке с запятой объединит данные в один столбец. В русской локали варианта с запятой не существует.
  2. A1&B1 — объединяет значения из нескольких строк в одну. Можно еще и так A1&» «&B1.
  3. «Some text» — текст оформляется двойными кавычками. Если вдруг вы используете апострофы в качестве «одинарных кавычек», учитывайте, что в Google Spreadsheets они применяются для других целей.
  4. Если при FALSE результате в рамках функции IF нужно вывести пустую строку, не забывайте добавить в конце разделитель =if(D2>20,true,) иначе будет подставляться FALSE.
  5. Если формула проставляется наперед и содержит деление, в пустых ячейках отобразится NA/0. Чтобы сделать «красивее» и вывести вместо этого пустую ячейку, формулу заворачивают в IFERROR =iferror(ARRAYFORMULA(E2:E/D2:D)) .
  6. CTRL(CMD — для Mac) + SHIFT + V — вставить значения. Нужен, если копируете ячейки, где есть формулы, и хотите вставить просто значение. Также убирается форматирование при вставке.
  7. Строка редактирования формул растягивается по высоте. Для переноса строк при создании или редактировании формул используется CTRL(CMD) + Enter , перенос строки не считается символом. Так намного удобнее редактировать, особенно когда большая формула.
  8. F2 на ячейке открывает ее редактирование. Это особенно применимо, если вы работаете на клавиатуре и не хотите постоянно тянуться за мышкой.
  9. записывается как <>. Например, если вам нужно найти все значения, которые не равны определенному содержимому. Например, google cpc.
  10. =sum(arrayformula(if(REGEXMATCH(C2:C10,»some regEx»),D2:D10,0))) — это нужно понять для того, чтобы открылся третий глаз при работе в Spreadsheets �� Александр говорит, что уже встречал много подобных кейсов.

Если документ тяжелый и с ним неудобно работать

  1. Используйте более легкие функции. Например, QUERY очень тяжелая. Да, у нее больше возможностей, но во многих случаях можно обойтись и VLOOKUP для тех же целей.
  2. Уменьшите количество IMPORTRANGE. При импорте данных из нескольких документов, каждый раз когда рендерится документ, формула берет данные оттуда, вставляет, пересчитывает и т. д. С точки зрения нагрузки, куда проще сформировать в первом документе итоговый лист со всеми значениями для импорта. А во втором создать такой же лист и импортировать туда все нужные данные. В итоге данные затянутся за один раз, и не будет пяти открытий исходного документа. Дальше эту информацию можно поместить на нужные листы для работы, например, пользуюсь ARRAYFORMULA.
  3. Используйте оптимальные решения. Тут помогают выводы из собственной практики. Например, при большом количестве данных =IFERROR(B1/A1) «легче», чем =IF(B17<>0,C17/B17,).
  4. Перейдите на внешнюю агрегацию данных. Перенесите их в BigQuery или другую базу данных, там вы можете обрабатывать данные, а Google Spreadsheets импортировать готовые значения. Для этого удобно использовать Google Apps Script (GScript).
  5. Уберите формулы из ячеек, которые не должны пересматриваться. Например, данные старше трех месяцев. Нажимаем CTRL + C, а потом CTRL + SHIFT + V на тех же ячейках — документ стал «легче».

Лимиты

  • 400 000 ячеек, максимум 256 столбцов на лист;
  • 40 000 ячеек, содержащих формулы;
  • 200 листов в документе;
  • 1 000 формул GoogleFinance;
  • 1 000 формул GoogleLookup;
  • ImportRange: 50 формул для импорта из других документов;
  • 50 формул ImportData, ImportHtml, ImportFeed или ImportXm.

Рекомендуем конспект доклада с примерами дашбордов для техподдержки и отдела продаж — все они построены с помощью Spreadsheets.

LocoLaser: переводим приложения в Google Sheets

На практике часто приходится выпускать приложения сразу на Android и iOS, а иногда и на Windows Phone. В этом случае некоторые разработчики решают проблему локализации напролом, переводя каждую платформу по отдельности. Согласитесь, не самый лучший поход. На момент, когда я задался решением этой проблемы, в сети уже можно было найти утилиты по загрузке строковых ресурсов из Google Sheets, но большая их часть выглядела как минимум топорно. Меня такой расклад категорически не устраивал. В результате на свет появился LocоLaser — простая в использовании, но очень умная утилита на Java. На протяжении пары лет я использовал её исключительно в своих рабочих проектах. За это время она успела обрасти достаточно богатым функционалом, и теперь готова быть представленной на суд общественности.

В этой статье я расскажу о том что из себя представляет LocoLaser и как как интегрировать его в свой проект. Для начала разберем возможности утилиты, а затем перейдем к более конкретным вещам, таким как Gradle плагин для Android и Bash скрипты для iOS. Я достаточно ленивый программист, чтобы из раза в раз делать одни и те же действия, поэтому все сделано так, что после первоначальной настройки ваша дальнейшая работа будет сводиться лишь к запуску нужной задачи, когда это потребуется. Для переводчиков же, перевод выглядит совсем просто, мы расшариваем для них гугл таблицу со строками и они вписывают перевод в соответствующие колонки. Если нужно добавить язык, просто добавляется еще одна колонка с новым языком. Google Sheets позволяет индивидуально настроить доступ к редактированию таблицы, поэтому каждый переводчик имеет доступ только к колонкам со своими языками.

Файл конфигурации

Но вернемся к утилите. Если чересчур упростить, сама она представляет из себя обычный jar файл. Скачать его можно с Bintray репозитория. Самым простым способом запуска утилиты будет запуск из консоли. Консольная команда может выглядеть следующим образом:

После выполнения команды будут созданы соответствующие файлы ресурсов и разложены по нужным папкам. В качестве первого параметра должен быть передан путь к файлу конфигурации. В приведенном выше примере это файл «localization_config.json» . Именно он отвечает за настройку всех тонкостей импорта и экспорта. Файл представляет из себя текстовый JSON который может выглядеть, например, вот так:

Этот пример содержит минимум параметров для запуска. Давайте разберем что же они означают.

Параметр «platform» указывает платформу для которой будет произведен импорт. Возможен один из 2-х вариантов: «android» и «ios» (Windows Phone пока не поддерживается, но это лишь вопрос времени). Помимо формата, платформа отвечает за расположение файлов с ресурсами, их имена, а также место для складирования временных файлов.

Параметр «source» — это JSON объект. Его содержимое отвечает за то, откуда и как будут загружены строки. Минимальным набором параметров для него будет: «id» , «column_key» и «column_locales» .

В качестве «source.id» должен быть указан идентификатор Google таблицы. Для того чтобы найти этот идентификатор нужно взглянуть на URL к таблице. Он должен выглядеть следующим образом docs.google.com/spreadsheets/d/1JZxUcu30BjxLwHg12bdHTxjDgsGFX9HA9zC4Jd8cuUM. В данном примере идентификатором будет «1JZxUcu30BjxLwHg12bdHTxjDgsGFX9HA9zC4Jd8cuUM» . Кстати, ссылка кликабельна и по ней вы можете увидеть реальный пример таблицы.

С остальными параметрами все достаточно просто, «source.column_key» содержит имя колонки с ключами, а «source.column_locales» массив имен колонок со значениями, где название колонки также является локалью. Для базовой локали зарезервировано слово «base» .

Тут стоит сделать небольшое отступление и определиться со структурой таблицы и заодно разобраться с тем, что такое имена колонок. Если просто, то LocoLaser воспринимает первую «не вычеркнутую» строку как строку с именами колонок. Вы спросите «Что еще за вычеркнутая строка?». Дело в том, что самая первая колонка в таблице используется для служебных целей. В настоящий момент можно «вычеркнуть» строку добавив в первой колонке символ «-« . «Вычеркнутая» строка полностью игнорируется и никак не участвует в локализации. Если посмотреть на таблицу по ссылке выше то вы увидите, что первая строка с «человеческими» заголовками «вычеркнута» и является лишь декоративным элементом таблицы. Также можно «вычеркивать» строки с ресурсами, например, когда строка нигде не используется, а удалять жалко.

Полный перечень параметров

Вышеописанных параметров достаточно для работы утилиты. Однако, есть и другие. Я не буду подробно описывать каждый, а лишь приведу их полный перечень в виде таблиц.

Source

Параметр Тип Описание
id String ID таблицы Google Sheet. URL к таблице содержит этот идентификатор (https://docs.google.com/spreadsheets/d/*sheet_id*). Обязательный параметр.
column_key String Имя колонки с ключами. Обязательный параметр.
column_locales Strings array Массив имен колонок со значениями, где название колонки также является локалью. Для базовой локали следует использовать колонку с именем «base» . Обязательный параметр.
column_quantity String Имя колонки с количественными значениями. Ячейки в таблице должны содержать одно из следующих значений: zero , one , two , few , many , other . Пустая строка воспринимается как other. Необязательный параметр. По умолчанию количественные значения не используются.
column_comment String Имя колонки с комментариями. Необязательный параметр. По умолчанию комментарии в ресурсный файл не записываются.
worksheet_title String Название листа в Google Sheet таблице. Необязательный параметр. По умолчанию используется первый лист.
credential_file String Путь к файлу содержащему идентификационные данные для OAuth авторизации. При использовании относительного пути, путь к файлу указывается относительно рабочей директории. Необязательный параметр.
type String Тип источника данных. Должен быть «googlesheet» . Необязательный параметр. Однако, если вы хотите быть уверенным, что конфигурационный файл и утилита работаю с одним и тем же типом источника, вам стоит указать его тип.

Platform
Как я говорил ранее, платформа задает ряд параметров специфичных для нее. Эти параметры можно изменить, если определить платформу не в виде строки, как делалось выше, а в виде JSON объекта. Вот перечень возможных свойств этого объекта:

Параметр Тип Описание
type String Тип платформы. Возможны следующие значения: «android» или «ios» . Обязательный параметр.
res_name String Имя ресурсного файла без расширения. Расширение выбирается в зависимости от типа файла. Необязательный параметр.
Значения по умолчанию:
Android — «strings»
iOS — «Localizable»
res_dir String Путь к директории с ресурсами. Необязательный параметр.
Значения по умолчанию:
Android — «./src/main/res/»
iOS — «./»
temp_dir String Путь к директории для хранения временных файлов. Необязательный параметр.
Значения по умолчанию:
Android — «./build/tmp/»
iOS — «../DerivedData/LocoLaserTemp/»
  • remove_platform — Удаляет локальные ресурсы платформы полностью заменяя их ресурсами из Google Sheets.
  • keep_new_platform — Сохраняет строки платформы если они отсутствуют в Google Sheet.
  • export_new_platform — Сохраняет новые строки платформы и загружает их на Google Sheet.

Консольные аргументы

При запуске локализатора из консоли можно изменить некоторые параметры конфигурации. Для этого добавьте соответствующие аргументы. Важно: путь к файлу конфигурации всегда указывается первым. Порядок остальных аргументов не имеет значения.

Аргумент Описание
—force или —f Флаг. Устанавливает «force_import = true»
-cs *string conflict strategy* Переопределяет свойство «conflict_strategy»
-delay *long delay* Переопределяет свойство «delay»

Пример команды

Android и Gradle Plugin

При работе с LocoLaser в Android стоит использовать специальный Gradle плагин. Он добавляет в проект несколько задач объединеных в группу «localization». Есть 2 варианта подключения плагина, «классический» и «альтернативный».

Откройте файл «build.gradle» корневого проекта и добавьте следующие строки:

После этого откройте файла «build.gradle» модуля приложения и добавьте одну строку в начало файла:

Этот способ подходит для проектов с версией Gradle выше 2.1 и использует так называемый «incubating» функционал (используйте его на свой страх и риск, предупреждает нас команда Gradle). Для него не нужно ничего прописывать в корневой «build.gradle» . Откройте «build.gradle» нужного вам модуля и в самом верху файла добавьте следующую строку

Еще раз замечу строка должна быть в САМОМ верху. Ничего другого перед ней быть не должно. Иначе проект даже не синхронизируется.

После подключения плагина, одним из вышеописанных способов, в этом же файле, добавьте следующую зависимость:

Теперь остается лишь положить файл конфигурации в папку модуля приложения и можно начинать работу. По умолчанию, в качестве файла конфигурации, плагин использует файла с именем «localize_config.json» . После синхронизации проекта в списке Gradle задач появится группа «localization», в ней 3 задачи.

localize — Запускает LocoLaser со стандартными параметрами;
localizeForce — Запускает LocoLaser с флагом «—force» ;
localizeExportNew — Запускает LocoLaser с флагом «—force» и «conflict_strategy» = «export_new_platform» .

Если вы хотите, чтобы локализация запускалась при каждой сборке, добавите зависимость к задаче preBuild:

Пример Android проекта на GitHub: github.com/PocketByte/locolaser-android-example
Используется Gradle плагин. Локализация встроена в процесс сборки.

Локализация iOS приложений

В отличии от Android в iOS нет такой мощной системы сборки как Gradle, так что приходится использовать обходные методы, благо их предостаточно и они прекрасно вписываются в iOS идеологию. Файл конфигурации я предлагаю хранить в папке с исходниками, обычно название этой папки совпадает с названием проекта (это единственное расположение при котором есть возможность использовать значения по умолчанию).

Итак, файл конфигурации вы создали, и положили в папку с исходниками. Как же его использовать? Поскольку артефакты утилиты расположены на удаленном maven репозитории я пошел по пути написания bash скрипта, имитирующего систему управления зависимостями. Вот он:

Этот скрипт скачивает jar файл с удаленного maven репозитория и помещает его в папку «../DerivedData/LocoLaserTemp/artifacts/» , после чего запускает на выполнение. В качестве файла конфигурации используется файл с именем «localize_config.json» , как и в Android. Решение достаточно грубое, придется точно указывать версию используемого артефакта. Однако, со своей задачей оно прекрасно справляется и не нужно хранить в проекте jar файл утилиты. Как можно догадаться по относительным путям, скрипт следует сохранить в ту же папку что и файл конфигурации. У меня в проекте несколько таких скриптов: localize.command, localizeForce.command и localizeExportNew.command. Все эти команды повторяют задачи из Gradle плагина выше.

Если вы хотите, чтобы локализация выполнялась при каждом билде, добавьте соответствующий Run scrip:

Run script должен идти сразу за фазой Target Dependencies. Это важно, так как если импорт новых строк произойдет, например, уже после фазы Copy Bundle Resources, нужный результат вы получите с запозданием, только в следующем билде.

Пример iOS проекта на GitHub: github.com/PocketByte/locolaser-ios-example
Используется bash скрипт. Локализация встроена в процесс сборки.

Windows Phone и другие платформы

К сожалению у меня совершенно нет опыта разработки под эту платформу, и в организации, в которой я в настоящий момент работаю, разработка Windows Phone приложений давно не практикуется. Я искренне извиняюсь за размещение статьи в хабе Windows Phone. Однако, я не нашел лучшего способа привлечь внимание Windows Phone разработчиков. Так что если вы разработчик под Windows Phone с большим опытом, и вам есть что мне рассказать по этой теме, пожалуйста, свяжитесь со мной. Также, если у кого-то из читателей появилась идея о применения LocoLaser в других платформах или сервисах, пишите не стесняйтесь, я открыт к предложениям.

Credential file

Для доступа к Google таблицам необходимо пройти OAuth авторизацию. Если в файле конфигурации не задан параметр «source.credential_file» , при запуске локализатора автоматически откроется браузер со страницей Google аутентификации. После успешной авторизации утилита продолжит свою работу. В следующий раз производить вход для этой таблицы не потребуется.

Так как вышеописанный подход требует вмешательства пользователя, он не подходит для ситуаций, когда процесс локализации должен проходить в автоматическом режиме. Для того чтобы процесс всегда проходил автоматически, следует указать credential_file . В качестве credential файла подойдет файл Сервисного аккаунта Google. Для его создания в Google Developers консоли нужно проделать следующие действия:

  1. Создать новый проект, если для вашего приложения он еще не создан.
  2. Открыть список Сервисных аккаунтов. Если будет предложено выбрать проект, выберите проект своего приложения.
  3. Кликнуть Создать сервисный аккаунт.
  4. В окне «Создание сервисного аккаунта» ввести имя нового сервисного аккаунта, включить флаг «Создать новый закрытый ключ», выбрать тип ключа JSON. Роль аккаунту выбирать не нужно. Кликнуть Create.

Заключение

Еще раз замечу, что архитектура утилиты разработана таким образом, что может быть легко расширена или дополнена, источник и платформа работают независимо. Например, при желании, можно дополнить список источников и в качестве source использовать базу данных или какой либо Web сервис, имеющий подходящее для этого API. Так что на Google Sheets свет клином тут не сошелся, и сторонники «антигуглизации» смогут найти для себя подходящее решение.

Также хотелось бы поблагодарить Инну(Foenix) за помощь в написании статьи. Без нее статья получилась бы не такой доходчивой и понятной. Инна, спасибо тебе за твои советы и замечания.

На этом закончу. Спасибо, что уделили время и ознакомились с моим творением. Буду рад познакомиться с вашим мнением, предложениями или критикой в комментариях. И не забываем жать стрелки вверх или вниз, для меня это очень важно, уж очень хочется знать как Хабр сообщество приняло мою работу.

Как изменить региональные настройки и параметры расчетов

Вы можете в любой момент изменить региональные настройки таблицы, а также выбрать часовой пояс, частоту обновления расчетов и язык функций.

Изменения применяются ко всему файлу и видны другим пользователям, которые с ним работают (независимо от их местоположения).

При изменении региональных настроек и часового пояса по умолчанию меняется формат валюты, даты и чисел.

  1. Откройте файл в Google Таблицах на компьютере.
  2. Нажмите ФайлНастройки таблицы.
  3. Выберите нужные варианты в разделах «Региональные настройки» и «Часовой пояс».
  4. Нажмите Сохранить настройки.

Региональные настройки не влияют на язык интерфейса Google Таблиц. Его можно изменить на странице Язык.

В Google Таблицах работать с функциями можно на любом из поддерживаемых языков (сейчас их 22, включая английский).

  1. Убедитесь, что в настройках аккаунта Google выбран не английский язык.
  2. Откройте файл в Google Таблицах на компьютере.
  3. Нажмите ФайлНастройки таблицы.
  4. В разделе «Язык интерфейса» снимите флажок «Всегда использовать названия функций на английском языке».
  5. Нажмите Сохранить настройки.
Какие языки поддерживаются

Ниже перечислены языки, на которых доступны функции в Google Таблицах.

  • Чешский
  • Датский
  • Нидерландский
  • Английский
  • Эстонский
  • Финский
  • французский;
  • Немецкий
  • Венгерский
  • Итальянский
  • Японский
  • Малайзийский
  • Норвежский (букмол)
  • Польский
  • Португальский (Португалия)
  • Португальский (Бразилия)
  • Русский
  • Словенский
  • Испанский
  • Шведский
  • Турецкий
  • Украинский

Если изменить то или иное значение на листе, это может автоматически привести к перерасчету в некоторых формулах.

Предположим, в ячейке A1 находится значение 5 и на нее не ссылаются другие вкладки, ячейки или формулы. Если изменить значение в ячейке A1 с 5 на 7, никаких перерасчетов не будет.

Если же на ячейку A1 ссылаются другие вкладки, ячейки или формулы, то изменение значения в ней автоматически приведет к перерасчету. Пример: ячейка B1 содержит формулу =A1+10.

Для некоторых функций необходимо отдельно указать, как часто должен выполняться перерасчет. В частности, речь идет о функциях СЕГОДНЯ , ТДАТА , СЛЧИС и СЛУЧМЕЖДУ , значения которых постоянно меняются. Значение функции СЕГОДНЯ меняется каждый день, ТДАЧАТ – каждую секунду, а значения функций RAND и RANDBETWEE N постоянно колеблются.

Это может приводить к возникновению ошибок на всем листе. Чтобы установить частоту перерасчетов в формулах, выполните следующие действия:

  1. Откройте файл в Google Таблицах на компьютере.
  2. Нажмите ФайлНастройки таблицыВычисления.
  3. Задайте нужные настройки:
    • Обновление расчетов. Позволяет указать, как часто необходимо пересчитывать значения формул.
    • Итеративные вычисления. Позволяет указать, сколько раз может пересчитываться формула с циклической зависимостью.
  4. Нажмите Сохранить настройки.

Функции, использующие внешние данные, обновляются с определенной периодичностью:

Как изменить формат даты по умолчанию в Google Таблицах

Логотип Google Таблиц

Если вам нужно работать с другим форматом даты в Google Таблицах, легко изменить формат листа по умолчанию, чтобы он соответствовал стандарту в любом месте. Вот как.

Представьте, что вы работаете с листом от клиента из Великобритании. В Великобритании используется формат «ДД / ММ / ГГГГ», что означает, что сначала идет значение дня, за которым следуют месяц и год. Но если вы из Северной Америки, вы, вероятно, используете другой формат, например «ММ / ДД / ГГГГ». Вы хотите, чтобы ваша электронная таблица соответствовала этому формату, чтобы даты были понятны для вас.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Пример форматов даты Великобритании и США в Google Таблицах.

Google Таблицы используют типичные соглашения вашего региона, чтобы определить, стоит ли день или месяц первым в метке времени. Чтобы изменить формат даты для конкретной электронной таблицы, вам необходимо переключить настройку «Locale» на настройку области с форматом даты, который вы предпочитаете использовать.

Для этого откройте электронную таблицу в Google Таблицы и нажмите Файл> Настройки электронной таблицы.

В раскрывающемся меню «Локаль» выберите альтернативное местоположение. Например, установка языкового стандарта на «Великобритания» переключит вашу электронную таблицу в формат «ДД / ММ / ГГГГ» и установит валюту по умолчанию на GBP, и так далее.

Чтобы изменить формат даты по умолчанию на «ММ / ДД / ГГГГ», установите для параметра «Локаль» значение «США» или другой регион, в котором используется этот формат. Чтобы сохранить изменение, нажмите «Сохранить настройки».

в "Настройки для этой таблицы" меню, измените "Locale" значение в другое место с форматом даты, отличным от вашего, затем нажмите "Сохранить настройки" чтобы сохранить изменения.

После изменения языкового стандарта любые даты, уже введенные в лист, будут автоматически переведены в формат даты выбранного вами языкового стандарта, а любые значения даты, которые вы вставляете после этой точки, будут соответствовать соглашениям для этого местоположения. И помните: это изменение относится только к этой таблице.

В некоторых случаях вам может потребоваться вручную изменить числовой формат для некоторых ранее введенных дат, если они не распознаются автоматически. Для этого выделите эти ячейки и выберите в меню «Формат»> «Число»> «Дата».

Добавить комментарий

Ваш адрес email не будет опубликован.