From e1c8d38f3e08cdc9ff4c5f3077cd7cea561f66cd Mon Sep 17 00:00:00 2001
From: Michael Kirk <michael.code@endoftheworl.de>
Date: Wed, 20 Sep 2017 13:52:11 -0400
Subject: [PATCH] update translations doc

---
 Signal/translations/TRANSLATIONS.md | 40 +++++++++++++++++------------
 1 file changed, 24 insertions(+), 16 deletions(-)

diff --git a/Signal/translations/TRANSLATIONS.md b/Signal/translations/TRANSLATIONS.md
index 200651f58..1d0532602 100644
--- a/Signal/translations/TRANSLATIONS.md
+++ b/Signal/translations/TRANSLATIONS.md
@@ -5,13 +5,11 @@ upload our source language (US English) to Transifex, where our
 translators can submit their translations. Before the app is released,
 we pull their latest work into the code base.
 
-## Fetch
+## Fetch Translations
 
-You should always fetch the latest translations before pushing new
-source translations, as any newly updated source strings will blow away
-the existing translated strings. Generally when a source string is
-updated, it's preferred to have the previous translation vs an english
-string.
+Generally you wan to fetch the latest translations whenever releasing. The
+exception being if you have recently uploaded lots of new source strings 
+that haven't had a chance to be translated.
 
 To fetch the latest translations:
 
@@ -21,12 +19,10 @@ This imposes some limits on what localizations we include. For example,
 we don't want to include languages until a substantial portion of the
 app has been translated.
 
-## Source Strings
-
-Run `bin/auto-genstrings` to extract the latest translatable strings and
-comments from our local files (Signal-iOS and SignalServiceKit). The
-script assumes Signal-iOS and SignalServiceKit have the same parent
-directory. e.g. `~/src/Signal-iOS` and `~/src/SignalServiceKit`
+Sometimes you'll pull down a translation which isn't yet tracked by git.
+This means that translation recently became sufficiently complete to
+include in the project. As well as adding it to git, you need to update
+the Xcode project to include the new localization.
 
 ### Writing Good Translatable Strings
 
@@ -35,6 +31,7 @@ example:
 
     /* Tab button label which takes you to view all your archived conversations */
     ARCHIVE_HEADER="Archive"
+    
     /* Button label to archive the current conversation */
     ARCHIVE_ACTION="Archive"
 
@@ -53,11 +50,22 @@ provided. For example, is it an alert title, which can be a few words, a
 button, which must be *very* short, or an alert message, which can be a
 little longer?
 
-### Upload
+## Extract Source Strings
+
+To extract the latest translatable strings and comments from our local source files
+(Signal-iOS and SignalServiceKit):
+
+    bin/auto-genstrings
+
+### Upload Strings to be Translated
 
 Make new source strings available to our translators by uploading them
-to transifex. Make sure you've fetched the latest translations first,
-otherwise you could overwrite some useful translations on Transifex.
+to transifex. Immediately after uploading we also need to pull down the 
+updated translations. Granted, at this point the new strings will be in 
+English until translated, but English is preferable to the string name 
+like ARCHIVE_HEADER which we'd otherwise see.
+
+To push the new source strings and then fetch the resultant translations:
 
-    tx push --source
+    bin/sync-translations