@@ -35,27 +35,39 @@ NaturalLanguageTranslationScanner class >> forProjectNamed: aProjectName [
3535{ #category : ' exporting' }
3636NaturalLanguageTranslationScanner >> export [
3737
38- ^ self exportTo: targetRepository repositoryDirectory / ' locales' / ' en'
38+ ^ self exportTo:
39+ self repositoryLocalesDirectory
3940 / ( ' <1s>.json' expandMacrosWith: self projectName asLowercase )
4041]
4142
43+ { #category : ' exporting' }
44+ NaturalLanguageTranslationScanner >> export: stringsToTranslateByCategory on: writeStream [
45+
46+ | translator output |
47+ translator := MonoglotNaturalLanguageTranslator for: ' en' asLanguageRange.
48+ output := OrderedDictionary new .
49+ stringsToTranslateByCategory keysAndValuesDo: [ :category :stringsToTranslate |
50+ | translations |
51+ translations := OrderedDictionary new .
52+ stringsToTranslate do: [ :string |
53+ translations at: ( translator hashCodeFor: string ) hex put: string ].
54+ output at: category put: translations
55+ ].
56+ STONJSON put: output onStreamPretty: writeStream.
57+ writeStream lf
58+ ]
59+
4260{ #category : ' exporting' }
4361NaturalLanguageTranslationScanner >> exportOn: writeStream [
4462
45- | stringsToTranslate translator translations |
63+ | stringsToTranslate |
4664 stringsToTranslate := SortedCollection new .
4765 self scanProjectMethodsCollectingTranslationsIn: stringsToTranslate.
48- translator := MonoglotNaturalLanguageTranslator for: ' en' asLanguageRange.
49- translations := OrderedDictionary new .
50- stringsToTranslate do: [ :string |
51- translations at: ( translator hashCodeFor: string ) hex put: string ].
52-
53- STONJSON
54- put: ( OrderedDictionary new
55- at: self projectName put: translations;
66+ self
67+ export: ( OrderedDictionary new
68+ at: self projectName put: stringsToTranslate;
5669 yourself )
57- onStreamPretty: writeStream.
58- writeStream lf
70+ on: writeStream
5971]
6072
6173{ #category : ' exporting' }
@@ -87,6 +99,12 @@ NaturalLanguageTranslationScanner >> projectName [
8799 ^ targetRepository name
88100]
89101
102+ { #category : ' accessing' }
103+ NaturalLanguageTranslationScanner >> repositoryLocalesDirectory [
104+
105+ ^ targetRepository repositoryDirectory / ' locales' / ' en'
106+ ]
107+
90108{ #category : ' private' }
91109NaturalLanguageTranslationScanner >> scanProjectMethodsCollectingTranslationsIn: stringsToTranslate [
92110
0 commit comments