From e71d1d38adbca2ca1e12450a74a15750af6f6b40 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Fri, 23 Feb 2018 16:35:16 +0000
Subject: [PATCH] Getopt: Add new translations Add instructions in .tx/config
 for conversion Fix checkutf8.sh for getopt translations

---
 .tx/config                                    | 36 +++++++++++-----
 .../gnu/getopt/MessagesBundle_gl.properties   | 31 ++++++++++++++
 .../gnu/getopt/MessagesBundle_nl.properties   | 18 ++++----
 .../gnu/getopt/MessagesBundle_pt.properties   | 31 ++++++++++++++
 .../getopt/MessagesBundle_pt_BR.properties    | 41 ++++++++++++++-----
 .../gnu/getopt/MessagesBundle_sq.properties   | 31 ++++++++++++++
 .../gnu/getopt/MessagesBundle_sr.properties   | 31 ++++++++++++++
 .../gnu/getopt/MessagesBundle_sv.properties   | 31 ++++++++++++++
 .../gnu/getopt/MessagesBundle_tr.properties   | 31 ++++++++++++++
 .../getopt/MessagesBundle_zh_TW.properties    | 25 +++++------
 installer/resources/checklist.md              |  3 +-
 tests/scripts/checkutf8.sh                    |  4 +-
 12 files changed, 269 insertions(+), 44 deletions(-)
 create mode 100644 core/java/src/gnu/getopt/MessagesBundle_gl.properties
 create mode 100644 core/java/src/gnu/getopt/MessagesBundle_pt.properties
 create mode 100644 core/java/src/gnu/getopt/MessagesBundle_sq.properties
 create mode 100644 core/java/src/gnu/getopt/MessagesBundle_sr.properties
 create mode 100644 core/java/src/gnu/getopt/MessagesBundle_sv.properties
 create mode 100644 core/java/src/gnu/getopt/MessagesBundle_tr.properties

diff --git a/.tx/config b/.tx/config
index edf62ffc95..79e5e972cf 100644
--- a/.tx/config
+++ b/.tx/config
@@ -348,6 +348,22 @@ trans.uk_UA = installer/resources/locale/po/messages_uk.po
 trans.zh_CN = installer/resources/locale/po/messages_zh.po
 
 [I2P.getopt]
+;;
+;; Java properties files (when not read with our DataHelper methods) must be ISO-8859-1 encoded.
+;; See https://docs.oracle.com/javase/6/docs/api/java/util/Properties.html
+;; Several getopt translations from Transifex are ISO-8859-1 encoded.
+;; So that all our source files are consistently UTF-8 encoded,
+;; you may optionally convert them to ASCII with Unicode escapes after downloading.
+;; Convert files with:
+;;   native2ascii -encoding iso-8859-1 foo.properties foo.properties.new
+;; Then review that it looks right:
+;;   native2ascii -reverse -encoding UTF-8 foo.properties.new
+;; Then copy it over:
+;;   mv foo.properties.new foo.properties
+;; The following files from Transifex are known to be ISO-8859-1 encoded,
+;; and should be escaped using native2ascii after downloading:
+;;   gl, pt, pt_BR, sq, sv, tr
+;;
 source_file = core/java/src/gnu/getopt/MessagesBundle.properties
 source_lang = en
 type = PROPERTIES
@@ -356,30 +372,28 @@ trans.de = core/java/src/gnu/getopt/MessagesBundle_de.properties
 trans.es = core/java/src/gnu/getopt/MessagesBundle_es.properties
 trans.fi = core/java/src/gnu/getopt/MessagesBundle_fi.properties
 trans.fr = core/java/src/gnu/getopt/MessagesBundle_fr.properties
-;; currently corrupt, non-UTF-8
-;;trans.gl = core/java/src/gnu/getopt/MessagesBundle_gl.properties
+trans.gl = core/java/src/gnu/getopt/MessagesBundle_gl.properties
 trans.hu = core/java/src/gnu/getopt/MessagesBundle_hu.properties
 ;; Java converts id to in
 trans.id = core/java/src/gnu/getopt/MessagesBundle_in.properties
 trans.it = core/java/src/gnu/getopt/MessagesBundle_it.properties
 trans.ja = core/java/src/gnu/getopt/MessagesBundle_ja.properties
 trans.ko = core/java/src/gnu/getopt/MessagesBundle_ko.properties
-trans.nl = core/java/src/gnu/getopt/MessagesBundle_nl.properties
 trans.nb = core/java/src/gnu/getopt/MessagesBundle_nb.properties
+trans.nl = core/java/src/gnu/getopt/MessagesBundle_nl.properties
 trans.pl = core/java/src/gnu/getopt/MessagesBundle_pl.properties
-;; currently corrupt, non-UTF-8
-;;trans.pt = core/java/src/gnu/getopt/MessagesBundle_pt.properties
-;; currently corrupt, non-UTF-8
-;;trans.pt_BR = core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
+trans.pt = core/java/src/gnu/getopt/MessagesBundle_pt.properties
+trans.pt_BR = core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
 trans.ro = core/java/src/gnu/getopt/MessagesBundle_ro.properties
 trans.ru_RU = core/java/src/gnu/getopt/MessagesBundle_ru.properties
 trans.sk = core/java/src/gnu/getopt/MessagesBundle_sk.properties
-;; currently corrupt, non-UTF-8
-;;trans.sq = core/java/src/gnu/getopt/MessagesBundle_sq.properties
-;; currently corrupt, non-UTF-8
-;;trans.tr_TR = core/java/src/gnu/getopt/MessagesBundle_tr.properties
+trans.sq = core/java/src/gnu/getopt/MessagesBundle_sq.properties
+trans.sr = core/java/src/gnu/getopt/MessagesBundle_sr.properties
+trans.sv_SE = core/java/src/gnu/getopt/MessagesBundle_sv.properties
+trans.tr_TR = core/java/src/gnu/getopt/MessagesBundle_tr.properties
 trans.uk_UA = core/java/src/gnu/getopt/MessagesBundle_uk.properties
 trans.zh_CN = core/java/src/gnu/getopt/MessagesBundle_zh.properties
+trans.zh_TW = core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
 
 [I2P.streaming]
 source_file = apps/ministreaming/locale/messages_en.po
diff --git a/core/java/src/gnu/getopt/MessagesBundle_gl.properties b/core/java/src/gnu/getopt/MessagesBundle_gl.properties
new file mode 100644
index 0000000000..a228861583
--- /dev/null
+++ b/core/java/src/gnu/getopt/MessagesBundle_gl.properties
@@ -0,0 +1,31 @@
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: a opci\u00f3n ''{1}'' \u00e9 ambigua
+getopt.arguments1={0}: a opci\u00f3nn ''--{1}'' non permite argumento
+getopt.arguments2={0}: a opci\u00f3nn ''{1}{2}'' non permite argumento
+getopt.requires={0}: a opci\u00f3n ''{1}'' require un argumento
+getopt.unrecognized={0}: opci\u00f3n non reco\u00f1ecida ''--{1}''
+getopt.unrecognized2={0}: opci\u00f3n non reco\u00f1ecida ''{1}{2}''
+getopt.illegal={0}: opci\u00f3n ilegal -- {1}
+getopt.invalid={0}: opci\u00f3n non v\u00e1lida -- {1}
+getopt.requires2={0}: a opci\u00f3n require un argumento -- {1}
+getopt.invalidValue=Valor non v\u00e1lido {0} para o par\u00e1metro 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_nl.properties b/core/java/src/gnu/getopt/MessagesBundle_nl.properties
index be2e1f201d..c415ab34e5 100644
--- a/core/java/src/gnu/getopt/MessagesBundle_nl.properties
+++ b/core/java/src/gnu/getopt/MessagesBundle_nl.properties
@@ -19,13 +19,13 @@
 #* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
 #* Boston, MA  02111-1307 USA
 #**************************************************************************/
-getopt.ambigious={0}\: optie ''{1}'' is ambigu
-getopt.arguments1={0}\: optie ''--{1}'' staat geen argumenten toe
-getopt.arguments2={0}\: optie ''{1}{2}'' staat geen argumenten toe
-getopt.requires={0}\: optie ''{1}'' heeft een argument nodig
-getopt.unrecognized={0}\: onbekende optie ''--{1}''
-getopt.unrecognized2={0}\: onbekende optie ''{1}{2}''
-getopt.illegal={0}\: niet toegestane optie -- {1}
-getopt.invalid={0}\: onjuiste optie -- {1}
-getopt.requires2={0}\: optie heeft een argument nodig -- {1}
+getopt.ambigious={0}: optie ''{1}'' is ambigu
+getopt.arguments1={0}: optie ''--{1}'' staat geen argumenten toe
+getopt.arguments2={0}: optie ''{1}{2}'' staat geen argumenten toe
+getopt.requires={0}: optie ''{1}'' heeft een argument nodig
+getopt.unrecognized={0}: onbekende optie ''--{1}''
+getopt.unrecognized2={0}: onbekende optie ''{1}{2}''
+getopt.illegal={0}: niet-toegestane optie -- {1}
+getopt.invalid={0}: onjuiste optie -- {1}
+getopt.requires2={0}: optie heeft een argument nodig -- {1}
 getopt.invalidValue=Ongeldige waarde {0} voor parameter 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_pt.properties b/core/java/src/gnu/getopt/MessagesBundle_pt.properties
new file mode 100644
index 0000000000..a111b29b90
--- /dev/null
+++ b/core/java/src/gnu/getopt/MessagesBundle_pt.properties
@@ -0,0 +1,31 @@
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: op\u00e7\u00e3o ''{1}'' \u00e9 amb\u00edgua
+getopt.arguments1={0}: op\u00e7\u00e3o ''--{1}'' n\u00e3o permite um argumento
+getopt.arguments2={0}: op\u00e7\u00e3o ''{1}{2}'' n\u00e3o permite um argumento
+getopt.requires={0}: op\u00e7\u00e3o  ''{1}'' requer um argumento
+getopt.unrecognized={0}: op\u00e7\u00e3o desconhecida ''--{1}''
+getopt.unrecognized2={0}: op\u00e7\u00e3o desconhecida ''{1}{2}''
+getopt.illegal={0}: op\u00e7\u00e3o ilegal -- {1}
+getopt.invalid={0}: op\u00e7\u00e3o inv\u00e1lida -- {1}
+getopt.requires2={0}: op\u00e7\u00e3o requer um argumento -- {1}
+getopt.invalidValue=Valor inv\u00e1lido {0} para o par\u00e2metro 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties b/core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
index 05ad4de757..eb64580ff6 100644
--- a/core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
+++ b/core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
@@ -1,10 +1,31 @@
-getopt.ambigious={0}\: op\u00E7\u00E3o ''{1}'' \u00E9 amb\u00EDgua
-getopt.arguments1={0}\: op\u00E7\u00E3o ''--{1}'' n\u00E3o permite um argumento
-getopt.arguments2={0}\: op\u00E7\u00E3o ''{1}{2}'' n\u00E3o permite um argumento
-getopt.requires={0}\: op\u00E7\u00E3o ''{1}'' requer um argumento
-getopt.unrecognized={0}\: op\u00E7\u00E3o n\u00E3o reconhecida ''--{1}''
-getopt.unrecognized2={0}\: op\u00E7\u00E3o n\u00E3o reconhecida ''{1}{2}''
-getopt.illegal={0}\: op\u00E7\u00E3o ilegal -- {1}
-getopt.invalid={0}\: op\u00E7\u00E3o inv\u00E1lida -- {1}
-getopt.requires2={0}\: op\u00E7\u00E3o requer um argumento -- {1}
-getopt.invalidValue=valor inv\u00E1lido {0} para o par\u00E2metro 'has_arg'
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: a op\u00e7\u00e3o ''{1}'' \u00e9 amb\u00edgua
+getopt.arguments1={0}: a op\u00e7\u00e3o ''--{1}'' n\u00e3o permite um argumento
+getopt.arguments2={0}: a op\u00e7\u00e3o ''{1}{2}'' n\u00e3o permite um argumento
+getopt.requires={0}: a op\u00e7\u00e3o ''{1}'' requer um argumento
+getopt.unrecognized={0}: op\u00e7\u00e3o n\u00e3o reconhecida ''--{1}''
+getopt.unrecognized2={0}: op\u00e7\u00e3o n\u00e3o reconhecida ''{1}{2}''
+getopt.illegal={0}: op\u00e7\u00e3o ilegal -- {1}
+getopt.invalid={0}: op\u00e7\u00e3o inv\u00e1lida -- {1}
+getopt.requires2={0}: a op\u00e7\u00e3o requer um argumento -- {1}
+getopt.invalidValue=Valor inv\u00e1lido {0} para o par\u00e2metro 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_sq.properties b/core/java/src/gnu/getopt/MessagesBundle_sq.properties
new file mode 100644
index 0000000000..841d544baa
--- /dev/null
+++ b/core/java/src/gnu/getopt/MessagesBundle_sq.properties
@@ -0,0 +1,31 @@
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: opsioni ''{1}'' \u00ebsht\u00eb i dykuptimt\u00eb
+getopt.arguments1={0}: opsioni ''--{1}'' nuk lejon argument
+getopt.arguments2={0}: opsioni ''{1}{2}'' nuk lejon argument
+getopt.requires={0}: opsioni ''{1}'' lyp nj\u00eb argument
+getopt.unrecognized={0}: opsion q\u00eb s\u2019njihet ''--{1}''
+getopt.unrecognized2={0}: opsion q\u00eb s\u2019njihet ''{1}{2}''
+getopt.illegal={0}: opsion i paligjsh\u00ebm -- {1}
+getopt.invalid={0}: opsion i pavlefsh\u00ebm -- {1}
+getopt.requires2={0}: opsioni lyp nj\u00eb argument -- {1}
+getopt.invalidValue=Vler\u00eb e pavlefshme {0} p\u00ebr parametrin 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_sr.properties b/core/java/src/gnu/getopt/MessagesBundle_sr.properties
new file mode 100644
index 0000000000..969b296d3c
--- /dev/null
+++ b/core/java/src/gnu/getopt/MessagesBundle_sr.properties
@@ -0,0 +1,31 @@
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: \u043e\u043f\u0446\u0438\u0458\u0430 ''{1}'' \u0458\u0435 \u0434\u0432\u043e\u0441\u043c\u0438\u0441\u043b\u0435\u043d\u0430
+getopt.arguments1={0}: \u043e\u043f\u0446\u0438\u0458\u0430 ''--{1}'' \u043d\u0435 \u0434\u043e\u043f\u0443\u0448\u0442\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442
+getopt.arguments2={0}: \u043e\u043f\u0446\u0438\u0458\u0430 ''{1}{2}'' \u043d\u0435 \u0434\u043e\u043f\u0443\u0448\u0442\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442
+getopt.requires={0}: \u043e\u043f\u0446\u0438\u0458\u0430 ''{1}'' \u0437\u0430\u0445\u0442\u0435\u0432\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442
+getopt.unrecognized={0}: \u043d\u0435\u043f\u043e\u0437\u043d\u0430\u0442\u0430 \u043e\u043f\u0446\u0438\u0458\u0430 ''--{1}''
+getopt.unrecognized2={0}: \u043d\u0435\u043f\u043e\u0437\u043d\u0430\u0442\u0430 \u043e\u043f\u0446\u0438\u0458\u0430 ''{1}{2}''
+getopt.illegal={0}: \u043d\u0435\u0434\u043e\u0437\u0432\u043e\u0459\u0435\u043d\u0430 \u043e\u043f\u0446\u0438\u0458\u0430 -- {1}
+getopt.invalid={0}: \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u0430 \u043e\u043f\u0446\u0438\u0458\u0430 -- {1}
+getopt.requires2={0}: \u043e\u043f\u0446\u0438\u0458\u0430 \u0437\u0430\u0445\u0442\u0435\u0432\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 -- {1}
+getopt.invalidValue=\u041d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u0430 \u0432\u0440\u0435\u0434\u043d\u043e\u0441\u0442 {0} \u0437\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0430\u0440 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_sv.properties b/core/java/src/gnu/getopt/MessagesBundle_sv.properties
new file mode 100644
index 0000000000..14a173390e
--- /dev/null
+++ b/core/java/src/gnu/getopt/MessagesBundle_sv.properties
@@ -0,0 +1,31 @@
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: alternativ ''{1}'' \u00e4r tvetydig
+getopt.arguments1={0}: alternativ ''--{1}'' till\u00e5ter inte n\u00e5gra argument
+getopt.arguments2={0}: alternativ ''{1}{2}'' till\u00e5ter inte n\u00e5gra argument
+getopt.requires={0}: alternativ ''{1}'' kr\u00e4ver ett argument
+getopt.unrecognized={0}: ok\u00e4nd alternativ ''--{1}''
+getopt.unrecognized2={0}: ok\u00e4nd alternativ ''{1}{2}''
+getopt.illegal={0}: otill\u00e5ten alternativ -- {1}
+getopt.invalid={0}: ogiltig alternativ -- {1}
+getopt.requires2={0}: alternativ kr\u00e4ver ett argument -- {1}
+getopt.invalidValue=Ogiltigt v\u00e4rde {0} f\u00f6r parameter 'has_arg'
diff --git a/core/java/src/gnu/getopt/MessagesBundle_tr.properties b/core/java/src/gnu/getopt/MessagesBundle_tr.properties
new file mode 100644
index 0000000000..b0db424fee
--- /dev/null
+++ b/core/java/src/gnu/getopt/MessagesBundle_tr.properties
@@ -0,0 +1,31 @@
+#**************************************************************************
+#* MessagesBundle.properties -- English language error messages
+#*
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU Library General Public License as published
+#* by  the Free Software Foundation; either version 2 of the License or
+#* (at your option) any later version.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#* GNU Library General Public License for more details.
+#*
+#* You should have received a copy of the GNU Library General Public License
+#* along with this program; see the file COPYING.LIB.  If not, write to
+#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
+#* Boston, MA  02111-1307 USA
+#**************************************************************************/
+getopt.ambigious={0}: se\u00e7ene\u011fi ''{1}'' belirsiz
+getopt.arguments1={0}: se\u00e7ene\u011fi ''--{1}'' bir de\u011fi\u015fken kabul etmiyor
+getopt.arguments2={0}: se\u00e7ene\u011fi ''{1}{2}'' bir de\u011fi\u015fken kabul etmiyor
+getopt.requires={0}: se\u00e7ene\u011fi ''{1}'' i\u00e7in bir de\u011fi\u015fken gerekli
+getopt.unrecognized={0}: anla\u015f\u0131lamayan se\u00e7enek ''--{1}''
+getopt.unrecognized2={0}: anla\u015f\u0131lamayan se\u00e7enek ''{1}{2}''
+getopt.illegal={0}: kural d\u0131\u015f\u0131 se\u00e7enek -- {1}
+getopt.invalid={0}: ge\u00e7ersiz se\u00e7enek -- {1}
+getopt.requires2={0}: se\u00e7enek i\u00e7in bir de\u011fi\u015fken gerekli -- {1}
+getopt.invalidValue='has_arg' parametresi i\u00e7in {0} de\u011feri ge\u00e7ersiz
diff --git a/core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties b/core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
index 4dd5ba4bc3..40ab6d8111 100644
--- a/core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
+++ b/core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
@@ -1,7 +1,8 @@
 #**************************************************************************
-#* MessagesBundle.properties  - Triditional  Chinese language error messages
+#* MessagesBundle.properties -- English language error messages
 #*
-#* Copyright (c) 2012 by David Zhang (david290@qq.com)
+#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
+#*                       Aaron M. Renn (arenn@urbanophile.com)
 #*
 #* This program is free software; you can redistribute it and/or modify
 #* it under the terms of the GNU Library General Public License as published
@@ -18,13 +19,13 @@
 #* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
 #* Boston, MA  02111-1307 USA
 #**************************************************************************/
-getopt.ambigious={0}: \u9078\u9805 ''{1}'' \u6709\u6B67\u7FA9
-getopt.arguments1={0}:\u9078\u9805''--{1}'' \u4E0D\u80FD\u5E36\u53C3\u6578
-getopt.arguments2={0}:\u9078\u9805''{1}{2}''\u4E0D\u80FD\u5E36\u53C3\u6578
-getopt.requires={0}: \u9078\u9805 ''{1}'' \u8981\u6C42\u5E36\u6709\u53C3\u6578
-getopt.unrecognized={0}: \u7121\u6CD5\u8B58\u5225\u7684\u9078\u9805 ''--{1}''
-getopt.unrecognized2={0}:\u7121\u6CD5\u8B58\u5225\u7684\u9078\u9805''{1}{2}''
-getopt.illegal={0}: \u975E\u6CD5\u9078\u9805 -- {1}
-getopt.invalid={0}: \u7121\u6548\u9078\u9805 -- {1}
-getopt.requires2={0}:\u9078\u9805\u9700\u8981\u6709\u53C3\u6578 -- {1}
-getopt.invalidValue=\u9078\u9805 'has_arg'\u7684\u503C {0} \u975E\u6CD5
+getopt.ambigious={0}: \u9078\u9805 ''{1}'' \u4e0d\u660e
+getopt.arguments1={0}: \u9078\u9805''--{1}'' \u53c3\u6578\u4e0d\u5408\u6cd5
+getopt.arguments2={0}: \u9078\u9805''{1}{2}'' \u53c3\u6578\u4e0d\u5408\u6cd5
+getopt.requires={0}: \u9078\u9805''{1}'' \u9700\u8981\u4e00\u500b\u53c3\u6578
+getopt.unrecognized={0}: \u4e0d\u660e\u7684\u9078\u9805 ''--{1}''
+getopt.unrecognized2={0}: \u4e0d\u660e\u7684\u9078\u9805  ''{1}{2}''
+getopt.illegal={0}: \u975e\u6cd5\u9078\u9805-- {1}
+getopt.invalid={0}: \u7121\u7528\u9078\u9805-- {1}
+getopt.requires2={0}: \u9078\u9805\u9700\u8981\u4e00\u500b\u53c3\u6578 -- {1}
+getopt.invalidValue=\u7121\u6548\u7684\u503c {0} \u5c0d\u65bc\u53c3\u6578'has_arg'
diff --git a/installer/resources/checklist.md b/installer/resources/checklist.md
index 285447be26..9788d1d24a 100644
--- a/installer/resources/checklist.md
+++ b/installer/resources/checklist.md
@@ -72,7 +72,8 @@
   - `ant testcripts` to verify that all updated translations are valid
   - For any invalid that break the test, fix up the po file manually, or fix on
     tx and pull again, or (if new) comment out in .tx/config (add a comment why)
-    and delete the po file
+    and delete the po file.
+    See instructions in .tx/config for fixing up getopt properties files.
   - `installer/resources/poupdate-man.sh` to generate new man page translations
     (requires po4a package)
   - `mtn add` for any new po files
diff --git a/tests/scripts/checkutf8.sh b/tests/scripts/checkutf8.sh
index fa325036d8..99904e321d 100755
--- a/tests/scripts/checkutf8.sh
+++ b/tests/scripts/checkutf8.sh
@@ -55,11 +55,13 @@ do
 	fi
 done
 
+# Java properties files (when not using our DataHelper methods) must be ISO-8859-1
+# https://docs.oracle.com/javase/6/docs/api/java/util/Properties.html
 echo "Checking getopt properties files ..."
 for i in `find core/java/src/gnu/getopt -name \*.properties -type f`
 do
 	#echo "Checking $i ..."
-	iconv -f UTF8 -t UTF8 $i -o /dev/null
+	iconv -f ISO-8859-1 -t ISO-8859-1 $i -o /dev/null
         if [ $? -ne 0 ]
 	then
 		echo "********* FAILED CHECK FOR $i *************"
-- 
GitLab