Commit Graph

16 Commits

Author SHA1 Message Date
Max Radermacher
2af2d50a84
Add Marathi, Urdu, Gujarati, & Bangla to App Store 2026-05-15 18:19:40 -05:00
Max Radermacher
47571ffe5b
Add Bulgarian & Lithuanian localizations 2026-04-08 14:27:34 -05:00
Max Radermacher
d0cc6f70f2 Show duration for Smartling resource file requests 2026-04-08 13:28:10 -05:00
Max Radermacher
1186154049 Fix Smartling parallelization for resource files 2026-04-08 13:28:10 -05:00
Max Radermacher
c850df3db3 Increase Smartling request timeout 2026-04-08 13:28:10 -05:00
Sasha Weiss
45f63da0ec
Introduce swiftformat 2025-12-19 14:36:47 -08:00
Max Radermacher
d98aa6a328
Add Belarusian localizations 2024-05-02 16:56:15 -05:00
Max Radermacher
dd8ac136dc Add support for Uyghur 2023-03-02 14:46:56 -08:00
Max Radermacher
fd3888caaf
Add support for Cantonese 2023-02-23 10:51:54 -08:00
Max Radermacher
3053fe6b63 Keep PluralAware alphabetized
Always sort it, even if there aren’t any strings to remove. This will
ensure that newly-added strings go to the right spot.
2022-11-21 10:13:51 -08:00
Nora Trapp
62759daa60 Properly handle unregistered recipients during sender key sends 2022-10-20 15:39:05 -07:00
Max Radermacher
6f24be6b6a Remove unused plurals when running auto-genstrings
Several strings appear to be unused. As far as I can tell, these were
added in 54b743de2d but never used.

Script output:
PluralAware.stringsdict: Removed THREAD_DETAILS_MORE_MUTUAL_GROUP_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_DAYS_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_DAYS_SHORT_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_HOURS_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_HOURS_SHORT_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_MINUTES_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_MINUTES_SHORT_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_SECONDS_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_SECONDS_SHORT_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_WEEKS_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_WEEKS_SHORT_%d
PluralAware.stringsdict: Removed TIME_AMOUNT_YEARS_%d
2022-10-20 09:57:30 -07:00
Max Radermacher
09ff755cc5
Ignore .DS_Store when syncing translations
(Also, ignore all files -- we only care about directories.)
2022-10-19 16:28:46 -07:00
Evan Hahn
370ff654e7
Change license to AGPL
Change license to AGPL

This commit:

- Updates the `LICENSE` file

- Start every file with something like:

      // Copyright YEAR_FIRST_PUBLISHED Signal Messenger, LLC
      // SPDX-License-Identifier: AGPL-3.0-only

---

First, I removed existing license headers with this Ruby 3.1.2 script:

    require 'set'

    EXTENSIONS_TO_CHECK = Set['.h', '.hpp', '.cpp', '.m', '.mm', '.pch', '.swift']

    same = 0
    different = 0

    all_files = `git ls-files`.lines.map { |line| line.strip }
    all_files.each do |relative_path|
      if relative_path == 'Pods'
        next
      end

      unless EXTENSIONS_TO_CHECK.include? File.extname(relative_path)
        next
      end

      path = File.expand_path(relative_path)

      contents = File.read(path)
      new_contents = contents.sub(/\/\/\n\/\/  Copyright .*\n\/\/\n\n/, '')

      if contents == new_contents
        same += 1
      else
        different += 1
      end

      File.write(path, new_contents)
    end

    puts "updated #{different} file(s), left #{same} untouched"

I'm sure this script could be improved, but it worked well enough.

Then, I created `Scripts/lint/lint-license-headers` and ran it to auto-
fix a lot of files. This changed the mode of some files, but I think
that's actually desirable. For example,
`SignalServiceKit/src/Util/AppContext.m` previously had a mode of
`0755/-rwxr-xr-x`, and it's now `0644/-rw-r--r--`.

Then I fixed some stragglers and updated the precommit script.

See [a similar change in the Desktop app][0].

[0]: 8bfaf598af
2022-10-13 08:25:37 -05:00
Max Radermacher
51b1e96f2b Remove reference to sr-RS
Per the localization team, we’ll use sr-YR for Serbian.
2022-10-05 09:37:12 -07:00
Max Radermacher
39135003a4 Fetch translations from Smartling
Smartling exposes a simple REST API that’s fairly easy to adopt.

Some differences from the old approach:

- We get UTF-8 back instead of UTF-16, so there’s no need to use iconv.

- We don’t support “nb_NO”, so we don’t need to remove it each time we
  fetch translations.

- We get back English fallbacks for .stringsdict files, so there’s no
  need to merge them manually ourselves.

- We no longer support country-specific locales *and* the root language,
  so we don’t need to merge, for example, “es” into “es-MX”.

- We handle language mapping & duplication inside the Swift script,
  which will hopefully be more reliable than cp’ing directories.
2022-09-29 16:13:06 -07:00