[squeak-dev] The Trunk: GetText-tfel.40.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Aug 30 10:03:45 UTC 2016


Tim Felgentreff uploaded a new version of GetText to project The Trunk:
http://source.squeak.org/trunk/GetText-tfel.40.mcz

==================== Summary ====================

Name: GetText-tfel.40
Author: tfel
Time: 5 August 2016, 3:52:12.522259 pm
UUID: 7a16aac5-9583-3b49-8c90-2d5b6eed882e
Ancestors: GetText-tfel.39

update the exporter to also catch dynamic translations

=============== Diff against GetText-ul.38 ===============

Item was changed:
  Object subclass: #GetTextExporter
  	instanceVariableNames: 'stream'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'GetText-Editor'!
  
+ !GetTextExporter commentStamp: 'tfel 8/4/2016 16:18' prior: 0!
- !GetTextExporter commentStamp: '<historical>' prior: 0!
  Export translations to gettext format divided into categories.
  
  "Export gettext template files"
  GetTextExporter new exportTemplate.
  
  "Export translation files for current locale"
+ GetTextExporter new exportTranslator: (NaturalLanguageTranslator current).
- GetTextExporter new exportTranslator: (InternalTranslator newLocaleID: LocaleID current).
  
  "Export all gettext template and po files."
  GetTextExporter exportAll.
  
  !

Item was added:
+ ----- Method: GetTextExporter>>appendTranslationsAlreadyIn:to: (in category 'exporting') -----
+ appendTranslationsAlreadyIn: translator to: domains
+ 	| d |
+ 	translator moFiles keysAndValuesDo: [:domain :mo |
+ 		mo ifNotNil: [
+ 			d := domains at: domain ifAbsentPut: [Dictionary new].
+ 			mo translations keysAndValuesDo: [:key :translation |
+ 				d at: key asString ifAbsentPut: [{MethodReference class: Object selector: #yourself}]]]]!

Item was changed:
  ----- Method: GetTextExporter>>createExtraInformation (in category 'private') -----
  createExtraInformation
  	| extras |
  	extras := OrderedCollection new.
  	#(
+ 		'ATTENTION TRANSLATORS!! This should be the name of your language as you would like it to appear in the Languages menu, e.g. "Español" or "English"' 'Language-Name'
+ 		'ATTENTION TRANSLATORS!! Put in the directionality of your language, that is "LTR" for left-to-right or "RTL" for right-to-left' 'Language-Direction'
- 		'Language name as you''d like it to appear in the Languages menu' 'Language-Name'
- 		'Directionality of language' 'Language-Direction'
  		) pairsDo: [:first :second |
  			extras add: (Array with: '' with: first with: second).
  	].
  	^ extras!

Item was changed:
  ----- Method: GetTextExporter>>exportTag:msg: (in category 'private') -----
  exportTag: tag msg: aString 
  	stream nextPutAll: tag.
  	stream space.
+ 	aString ifEmpty: [stream nextPutAll: '""'; cr. ^ self].
  	aString lineIndicesDo: [:start :endWithoutDelimiters :end |
  		| line |
  		line := (end = endWithoutDelimiters)
  			ifTrue: [aString copyFrom: start to: endWithoutDelimiters]
  			ifFalse: [(aString at: endWithoutDelimiters + 1) = Character cr
  				ifTrue: [aString copyFrom: start to: endWithoutDelimiters + 1]
  				ifFalse: [(aString copyFrom: start to: endWithoutDelimiters) copyWith: Character cr]].
  		stream
  			nextPut: $";
  			nextPutAll: (self formatString: line);
  			nextPut: $";
  			cr].!

Item was changed:
  ----- Method: GetTextExporter>>exportTranslator: (in category 'exporting') -----
  exportTranslator: translator 
  	"Export translation files. the file extention is 'po', or 'pot' if translator is nil "
  	"GetTextExporter2 new exportTranslator: NaturalLanguageTranslator current "
  	| domains |
  	domains := Dictionary new.
  	self appendTranslations: domains.
+ 	self appendTranslationsAlreadyIn: translator to: domains.
  	domains
  		keysAndValuesDo: [:domainName :value |
  			self
  				export: value
  				translator: translator
  				domain: domainName]!

Item was changed:
  ----- Method: GetTextExporter>>translationFor:in: (in category 'private') -----
  translationFor: aKey in: translator
  	| translation |
  	translator ifNil: [^ ''].
  	TextDomainManager allKnownDomains do: [:domain |
  		translation := translator translate: aKey inDomain: domain.
  		aKey = translation ifFalse: [^translation]
  	].
+ 	^ ''!
- 	^ aKey!



More information about the Squeak-dev mailing list