1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/*
* ConnectBot: simple, powerful, open-source SSH client for Android
* Copyright 2015 Kenny Root, Jeffrey Sharkey
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
def localeDir = file('locale')
def launchpadImportBasename = 'launchpad-import'
def launchpadExportFile = getRootProject().file('launchpad-export.tar.gz')
def android2poExec = 'a2po'
def android2poArgs = ['--groups', 'strings',
'--android', getProjectDir().getPath() + '/src/main/res',
'--gettext', localeDir,
'--template', 'fortune/fortune.pot',
'--layout', 'fortune/fortune-%(locale)s.po']
task ensureLocalDirExists {
localeDir.mkdirs()
}
task untarTranslations(type: Copy) {
from tarTree(resources.gzip(launchpadExportFile))
into localeDir
}
task translationsImport(type: Exec, dependsOn: 'untarTranslations') {
description "Import translations into ConnectBot from Launchpad's export function"
executable = android2poExec
args = ['import'] + android2poArgs
// Save the output to print out.
standardOutput = new ByteArrayOutputStream()
errorOutput = new ByteArrayOutputStream()
ext.output = {
return standardOutput.toString()
}
ext.errs = {
return errorOutput.toString()
}
doLast {
println()
println("Translations import output:")
println("${translationsImport.output}")
println("${translationsImport.errs}")
}
}
task exportFromAndroid(type: Exec) {
executable = android2poExec
args = ['export'] + android2poArgs
// Save the output to print out.
standardOutput = new ByteArrayOutputStream()
ext.output = {
return standardOutput.toString()
}
}
task translationsExport(type: Tar, dependsOn: 'exportFromAndroid') {
description "Export translations from ConnectBot in a format suitable to import into Launchpad"
baseName = launchpadImportBasename
from localeDir
compression = Compression.GZIP
doLast {
println()
println('Import file into Launchpad:')
println(getArchivePath())
println()
}
}
|