[etoys-notify] [JIRA] Updated: (SQ-695) Need to improve quality of translatable strings in etoys PO file

Bert Freudenberg (JIRA) tracker at squeakland.org
Thu Apr 22 06:38:14 EDT 2010


     [ http://tracker.squeakland.org/browse/SQ-695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bert Freudenberg updated SQ-695:
--------------------------------

      Component/s: translation
    Fix Version/s: etoys 5 and showcase
         Priority: Critical  (was: Normal)

> Need to improve quality of translatable strings in etoys PO file
> ----------------------------------------------------------------
>
>                 Key: SQ-695
>                 URL: http://tracker.squeakland.org/browse/SQ-695
>             Project: squeakland
>          Issue Type: Bug
>          Components: etoys, translation
>            Reporter: Clytie Siddall
>            Priority: Critical
>             Fix For: etoys 5 and showcase
>
>
> I have just submitted the first complete Vietnamese translation for eToys. During this task, I found that the etoys PO file has a great many strings with errors or other issues critical to translation quality. Please update the PO file to fix these issues. (Warning: multiple issues, long report!)
> 1.
> We need more translator comments, to explain what on earth the strings mean, especially the more cryptic ones involving terms from the programming language. The first 7 strings in the PO file have useful context:
> #: Language name as you'd like it to appear in the Languages menu
> msgid "Language-Name"
> msgstr "Tiếng Việt"
> #: Scale to apply font size (2 for twice as large)
> msgid "Font-Scale"
> msgstr "1"
> #: Directionality of language
> msgid "Language-Direction"
> msgstr "LTR"
> #: Use this if you do not want any of the text to be bolded, for legibility
> msgid "Suppress-Bold"
> msgstr "false"
> #: Font to use on a Windows system
> msgid "Win-Font"
> msgstr "Tahoma 12"
> #: Font to use on a Mac system
> msgid "Mac-Font"
> msgstr "Lucida Grande 12"
> #: Font to use on a Linux system
> msgid "Linux-Font"
> msgstr "DejaVuSans 12"
> and the other 4400 odd strings do not. Please review the file for clarity, especially for translators who have no programming background. Providing a technical glossary would also be a good idea (make sure it's linked to the project page on the OLPC Pootle). Even for supposedly simple items:
> #: ConnectorsTools,NCAttachmentPointAdjusterWindow>>addArray
> msgid "Enter the number of H and/or V APs to create; use 0 for none"
> I'm guessing that H and V mean Horizontal and Vertical, but and I suppose AP could be Attachment Point, but we need to be sure. Please supply a comment for every string which is not bleeding obvious. Many translators are discouraged by complex or cryptic English, and will either give up or supply a guessed (usually inaccurate) translation.
> Further examples:
>  (a)
> #: ConnectorsTools,NCGlyphEditor>>initialize
> msgid "Arrow scales"
> In a file which contains references to "swim lanes", you do need to explain which kind of "scales" you mean.
> (b)
> #: EToys-Kedama,KedamaPatchMorph>>additionsToViewerCategories
> msgid "sniff range"
> ??
> Do we have scratch-n-sniff icons now?
> (c)
> A very basic example of the need for translator comments or the use of msgctxt is:
> #: Morphic-Basic,SketchMorph_class>>defaultNameStemForInstances
> msgid "Sketch"
> Is this the noun or the verb? The translation will differ.
> #: Morphic-Basic,SketchMorph_class>>defaultNameStemForInstances
> msgctst "Noun"
> msgid "Sketch"
> (c_a)
> Does this mean "not far" or "shut"?
> #: Morphic-Stacks,StackMorph>>offerBookishMenu
> msgid "close"
> (c_b)
> And what on earth do these mean?
> #: Morphic-Widgets,StarMorph>>addTwinkleMenuItems:hand:
> msgid "twinkle fatter"
> #: Morphic-Widgets,StarMorph>>addTwinkleMenuItems:hand:
> msgid "twinkle thinner"
> See the gettext manual on using msgctxt: http://www.gnu.org/software/gettext/manual/html_node/Contexts.html#Contexts
> (d)
> #: Morphic-Books,BookMorph>>saveIndexOfOnly:
> msgid ".bo size mismatch.  Please tell Ted what you just did to this book."
> What is a '.bo' and who is Ted?
> (e)
> #: Morphic-Demo,BouncingAtomsMorph_class>>registerInFlapsRegistry,Flaps_class>>defaultsQuadsDefiningWidgetsFlap
> msgid "Atoms, mate"
> Do they? (As an Australian, I can assume this is a colloquial reference, but these are absolute error magnets in translation files. You can't expect speakers of another language to understand your idiom.)
> (f)
> #: Morphic-Flaps,Flaps_class>>defaultsQuadsDefiningToolsFlap,TranscriptStream_class>>registerInFlapsRegistry
> msgid ""
> "A Transcript is a window usable for logging and debugging; browse references "
> "to #Transcript for examples of how to write to it."
> Please quote items like "#Transcript", and give some context. Do you want this word translated? Also, use of hash marks can confuse translators who think they indicate comments or a munged header and string.
> #: Morphic-Kernel,TheWorldMenu>>debugMenu
> msgid "call #tempCommand"
> #: Morphic-Kernel,TheWorldMenu>>debugMenu
> msgid "define #tempCommand"
> #: System-Support,SmalltalkImage>>lastUpdateString
> msgid "latest update: #"
> (g)
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryColor
> msgid "Alpha value of my color from 0 to 1.0 as float"
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryColor
> msgid "Blue value of my color from 0 to 1.0 as float"
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryColor
> msgid "Green value of my color from 0 to 1.0 as float"
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryColor
> msgid "Red value of my color from 0 to 1.0 as float"
> #: Morphic-Widgets,ProgressBarMorph>>changeProgressValue:
> msgid "Enter new value (0 - 1.0)"
> Most non-English languages use a comma as a decimal separator. If this does not work for your software, you need to say so, e.g.
> # Must be '1.0', not '1,0'
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryColor
> msgid "Alpha value of my color from 0 to 1.0 as float"
> OR
> # Use the appropriate decimal separator for your language
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryColor
> msgid "Alpha value of my color from 0 to 1.0 as float"
> (h)
> #: Morphic-Kernel,TheWorldMenu>>helpMenu
> msgid "obtain some intriguing data about the vm."
> What is the "vm"?
> #: Morphic-Kernel,TheWorldMenu>>helpMenu
> msgid "vm statistics"
> (i)
> #: Sound-Scores,KeyboardMorphForInput>>addRecordingControls
> msgid "          rest          "
> ??
> Is this a noun or a verb? Is it the musical "rest" or the physical one? Does it mean "remaining"? There are at least four different translations for this word in Vietnamese, and that's without even considering what it actually means in the interface! Please supply a comment, and please remove the extra whitespace which is an interface function, not a translation function.
> (j)
> #: System-Support,Utilities_class>>trashTitle
> msgid "T R A S H"
> Why are these letters space-separated? Is this necessary? Many languages are more difficult to read in this style. Please supply a comment, or reform the original string.
> 2. Incorrect spacing:
> (a)
> #: Balloon-MMFlash_Import,FlashFileReader>>processHeader
> msgid ""
> "This file's version ({1}) is higher than \n"
> "the currently supported version ({2}). \n"
> "It may contain features that are not supported \n"
> "and it may not display correctly.\n"
> "Do you want to continue?"
> - version ({2}). \n"
> + version ({2}).\n"
> (b)
> #: Morphic-Books,BookMorph>>savePagesOnURL
> msgid ""
> "Each page will be a file on the server.  \n"
> "Do you want to page numbers be the names of the files? \n"
> "or name each one yourself?"
> Please remove the unnecessary spaces at the end of the first and second lines.
> (c)
> #: Morphic-Experimental,ButtonPropertiesMorph>>paneForActsOnMouseDownToggle
> msgid " Mouse-down action"
> - Mouse
> +Mouse
> Please don't use spacing at the beginning or ending of strings for interface positioning. This is not the function of translatable strings.
> #: Morphic-Games,Mines>>makeControls
> msgid "  New game  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow
> msgid "  Auto  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow,Mines>>makeControls
> msgid "  Help  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow
> msgid "  New  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow
> msgid "  Play  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow,Mines>>makeControls
> msgid "  Quit  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow
> msgid "  Redo  "
> #: Morphic-Games-Chess,ChessMorph>>addButtonRow
> msgid "  Undo  "
> #: Morphic-Experimental,ButtonPropertiesMorph>>paneForChangeMouseDownLook
> msgid " Mouse-down look "
> #: Morphic-Experimental,ButtonPropertiesMorph>>paneForChangeMouseEnterLook
> msgid " Mouse-enter look "
> #: Morphic-Experimental,ButtonPropertiesMorph>>paneForChangeVisibleMorph
> msgid " Change morph "
> #: Morphic-Experimental,ButtonPropertiesMorph>>paneForWantsFiringWhileDownToggle
> msgid " Mouse-down repeating "
> #: Morphic-Experimental,ButtonPropertiesMorph>>paneForWantsRolloverToggle
> msgid " Mouse-over highlighting"
> #: Morphic-Experimental,ObjectPropertiesMorph>>paneForCornerRoundingToggle
> msgid " Rounded corners"
> #: Morphic-Experimental,ObjectPropertiesMorph>>paneForDropShadowToggle
> msgid " Drop shadow color"
> #: Morphic-Experimental,ObjectPropertiesMorph>>paneForGradientFillToggle
> msgid " Gradient fill"
> #: Morphic-Experimental,ObjectPropertiesMorph>>paneForLockedToggle
> msgid " Lock"
> #: Morphic-Experimental,ObjectPropertiesMorph>>paneForRadialGradientToggle
> msgid " Radial gradient"
> and so on (again, too many to list).
> (d)
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryTests,StandardScriptingSystem>>wordingForOperator:
> msgid "color  sees"
> ??
> 3. Incorrect proper-noun capitalization (capitalization is important because it shows us which words are proper nouns and shouldn't be translated):
> (a)
> #: Balloon-MMFlash_Import,FlashMorphReader_class>>serviceOpenAsFlash
> msgid "open file as flash"
> - flash
> + Flash
> (b)
> #: Morphic-Books,BookMorph>>addBookMenuItemsTo:hand:,StackMorph>>addBookMenuItemsTo:hand:,StackMorph>>offerBookishMenu
> msgid "copy page url to clipboard"
> #: Morphic-Books,BookMorph>>copyUrl
> msgid "Page does not have a url.  Send page to server first."
> #: Morphic-Books,BookMorph>>getStemUrl
> msgid ""
> "url of the place to store a typical page in this book.\n"
> "Must begin with file:// or ftp://"
> #: Morphic-Books,BookMorph>>reload
> msgid ""
> "url of the place where this book's index is stored.\n"
> "Must begin with file:// or ftp://"
> #: Morphic-Books,BookPageThumbnailMorph>>objectForDataStream:
> msgid "page should already have a url"
> - url
> + URL
> (and yes, people could think this was a word, instead of an acronym). This error occurs in further strings.
> (c)
> #: Morphic-Kernel,Morph>>balloonHelpTextForHandle:
> msgid "Center of rotation (hold down shift key and drag to change it)"
> - shift
> + Shift
> There are several strings with this error. "shift key" is a key which shifts, the original meaning of the "Shift" key but now not so evident. "Shift" is the name of a key, and should be capitalized in translatable strings.
> (d)
> #: Morphic-Kernel,Morph>>balloonHelpTextForHandle:
> msgid "Make a scratch script"
> "scratch" or "Scratch"?
> (e)
> #: Morphic-Kernel,TheWorldMenu>>helpMenu
> msgid ""
> "if connected to the internet, use this to look up the definition of an "
> "English word."
> - internet
> + Internet
> #: Morphic-Kernel,TheWorldMenu>>helpMenu
> msgid "load latest code updates via the internet"
> (f)
> #: Morphic-Mentoring,EventRecordingSpace>>addMenuButtonItemsTo:
> msgid "add sugar navigator flap"
> - sugar
> + Sugar
> #: Morphic-Mentoring,EventRecordingSpace>>addMenuButtonItemsTo:
> msgid "remove sugar navigatorFlap"
> 4. Incorrect initial capitalization — some strings which look like a sentence, explanation or tooltip start with a capital letter, while many do not. Please capitalize the initial letter in any statement. The lack of an initial capital letter tells us the string may be part of a larger expression, so it's confusing. Examples of this inconsistency:
> #: Balloon-MMFlash_Morphs,FlashPlayerMorph>>additionsToViewerCategories,PasteUpMorph>>additionsToViewerCategories
> msgid "The first object in my contents"
> msgstr "Đối tượng thứ nhất trong nội dung của mình"
> #: Balloon-MMFlash_Morphs,FlashPlayerMorph>>additionsToViewerCategories,PasteUpMorph>>additionsToViewerCategories
> msgid "The index of the chosen element"
> msgstr "Chỉ mục của phần tử đã chọn"
> #: Balloon-MMFlash_Morphs,FlashPlayerMorph>>additionsToViewerCategories,PasteUpMorph>>additionsToViewerCategories
> msgid "the graphic worn by the object at the cursor"
> msgstr "ảnh thuộc về đối tượng dưới con trỏ"
> #: Balloon-MMFlash_Morphs,FlashPlayerMorph>>additionsToViewerCategories,PasteUpMorph>>additionsToViewerCategories
> msgid "the object currently at the cursor"
> msgstr "đối tượng đang nằm dưới con trỏ"
> 5. Incorrect word capitalization — please don't capitalize a word in a mixed capitalized and uncapitalized string, unless it's a proper noun or must be capitalized in the translation. If the latter, please supply a comment, e.g. ""Flap" must be capitalized because it's the name of a tool", which looks very unlikely in this case:
> #: ConnectorsTools,NCButtonBar_class>>supplementaryPartsDescriptions
> msgid "Class diagram Flap"
> It may apply in others:
> #: ConnectorsTools,NCButtonBar>>addButtonAndInform,NCButtonBar>>addButtonAndInformAt:,NCPartsBin>>addButtonAndInform,NCPartsBin>>addButtonAndInformAt:
> msgid "Drop a Morph on the button."
> but many strings just use "morph" for the noun.
> #: ConnectorsTools,NCGlyphEditor_class>>descriptionForPartsBin
> msgid "A tool that lets you edit Connectors arrow shapes."
> If "Connectors" needs to be capitalized, the string is still difficult to understand. Do you mean "arrow shapes which are Connectors", or "Connectors' arrow shapes"? Plural nouns do not make good adjectives.
> 6. Lack of placeholders — please use placeholders to indicate the position of a variable item in the program. This avoids translators omitting the final space, or being confused by final/lone quotation marks and broken strings.
> (a)
> #: Collections-Streams,PositionableStream>>fileIn
> msgid "Reading "
> - Reading 
> + Reading « %s »
> (b)
> #: Morphic-Books,BookMorph>>acceptSortedContentsFrom:
> msgid " objects vanished in this process."
> - objects
> + %d objects
> (c)
> #: Morphic-Books,BookMorph>>menuPageSoundFor:event:
> msgid ""
> "Choose a sound\n"
> "(it is now "
> - "(it is now "
> + "(it is now {1})"
> #: WS-Sound-Interface,WsWorldStethoscope>>setFFTSize
> msgid "FFT size (currently "
> #: WS-Sound-Interface,WsWorldStethoscope>>setSamplingRate
> msgid "Sampling rate (currently "
> (d)
> #: Morphic-Kernel,Morph>>dismissViaHalo
> msgid "dismiss "
> msgstr "hủy "
> #: Morphic-Kernel,Morph>>editBalloonHelpContent:
> msgid "Edit the balloon help text for "
> msgstr "Sửa chuỗi trợ giúp tự mở cho "
> #: Morphic-Kernel,Morph>>editMenuButtonDefinition
> msgid " menu definition"
> #: Morphic-Mentoring,EventRollMorph>>changeScale
> msgid "Milliseconds per pixel [currently "
> #: Morphic-Stacks,StackMorph>>deleteAllCardsExceptThisOne
> msgid " card(s) and all of their data?"
> #: Morphic-Worlds,PasteUpMorph>>abandonUnsituatedPlayers
> msgid " player named"
> All of these should include a placeholder, e.g. "%s" or "%d"
> (e)
> #: Morphic-Scripting_Tiles,ParameterTile>>bePossessive,Presenter>>reportPlayersAndScripts,TileMorph>>bePossessive,TileMorph>>emblazonPlayerNameOnReferenceTileWithin:,TileMorph>>retargetFrom:to:
> msgid "'s"
> I may have mentioned this in another bug, but this is a staggeringly bad example of a translation string. What is the context? Also, most languages do not use the possessive structure of English: they don't say "the dog's tail", they say "the tail of the dog". So this string is untranslatable in its current form. Use placeholders to allow people to use their own correct grammar (and to have some idea of what's going on).
> - 's
> + %s của %s
> I currently have a horrible workaround ("theirs") in place as the translation. Please fix this so I can do a correct translation!
> (f) split strings:
> #: Sound-Interface,AnonymousSoundMorph>>soundMorphHelpString
> msgid ""
> " seconds.\n"
> "Double-click to hear the sound.  \"add to sound library\" available in halo "
> "menu.  Also suitable for dropping into a piano-roll or into an event-roll"
> #: Sound-Interface,AnonymousSoundMorph>>soundMorphHelpString
> msgid "Holds a recorded sound of duration "
> These two strings should be combined with (e.g.) a %d placeholder to indicate the value. Split strings are severely deprecated in translation due to confusion, differing grammatic structures and the resulting low quality of translation.
> (g)
> #: Tools-ArchiveViewer,ArchiveViewer>>writePrependingFile
> msgid ""
> " is used by one or more members\n"
> "in your archive, and cannot be overwritten.\n"
> "Try writing to another file name"
> The beginning of the string is missing. Please supply a placeholder, e.g.
> -  is used by one or more members
> + %s is used by one or more members
> (h)
> #: Tools-FileList,FileList>>removeVersionNumberFromFileName
> msgid "do you want to clobber the existing"
> Again, a placeholder is necessary here, because most languages place the adjective *after* the noun. This means the translation of "existing" has to be placed after the thing it describes, which you haven't supplied in this string.
> - the existing"
> + the existing %s"
> 7. Grammatic weirdness
> (a)
> #: Collections-Text,Text>>askIfAddStyle:req:
> msgid ""
> "This method contains style for the first time (e.g. bold or colored text).\n"
> "Do you really want to save the style info?"
> - contains style
> + contains a style
> OR
> + contains styles
> (b)
> #: Connectors-Text-Base,NCLabelMorph>>additionsToViewerCategories,TextMorph>>additionsToViewerCategories
> msgid "The character at the my cursor position"
> I'm assuming:
> - the my
> + my
> (c)
> #: Connectors-Text-Base,NCLabelMorph>>additionsToViewerCategories,TextMorph>>additionsToViewerCategories
> msgid "The position among my characters that replacement text would go"
> - that
> + where
> (d)
> #: EToys-Kedama,KedamaMorph>>additionsToViewerCategories
> msgid "the mode of bottom edge"
> msgstr "chế độ của cạnh bên dưới"
> #: EToys-Kedama,KedamaMorph>>additionsToViewerCategories
> msgid "the mode of left edge"
> msgstr "chế độ của cạnh bên trái"
> #: EToys-Kedama,KedamaMorph>>additionsToViewerCategories
> msgid "the mode of right edge"
> msgstr "chế độ của cạnh bên phải"
> #: EToys-Kedama,KedamaMorph>>additionsToViewerCategories
> msgid "the mode of top edge"
> These should be "the mode of the X edge", since they are explanations/tooltips and contrast with the brevity of, e.g.
> #: EToys-Kedama,KedamaMorph>>additionsToViewerCategories
> msgid "top edge mode"
> This applies in many strings, e.g. the contrast between:
> #: EToys-Kedama,KedamaPatchMorph>>additionsToViewerCategories
> msgid "green component from"
> #: EToys-Kedama,KedamaPatchMorph>>additionsToViewerCategories
> msgid "merge green component from another patch"
> - merge green
> + merge the green
> While commands, labels and menu items need to be brief, explanations/tooltips should use correct grammar, because that helps make the information clear.
> Some strings use "the" inconsistently, e.g.
> #: EToys-Kedama,KedamaTurtleMorph>>additionsToViewerCategories
> msgid "The flag that governs the visibility of turtle"
> - of turtle
> + of the turtle
> #: Morphic-Buttons,ButtonProperties>>establishEtoyLabelWording,ScriptActivationButton>>establishLabelWording
> msgid "click to run the script \"{1}\" in player named \"{2}\""
> - in player
> + in the player
> #: Morphic-Demo,WatchMorph>>addCustomMenuItems:hand:
> msgid ""
> "Allows you to specify a new color for the hands of the watch.  Note that "
> "actual *watch* color can be changed simply by using the halo's recoloring "
> "handle."
> - actual watch color
> + the actual watch color
> #: Morphic-Experimental,TextPropertiesMorph>>paneForApplyToWholeText
> msgid "Whether to apply style changes to entire text or just selection"
> - apply style changes to entire text or just selection
> + apply the style changes to the entire text or just to the selection
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryAsObject
> msgid "Put up a pre-debug notifier"
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryAsObject
> msgid "Put up message box for the user"
> - up message
> + up a message
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryMoreGeometry
> msgid "The x coordinate of rotation center in parent's coordinate system."
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryMoreGeometry
> msgid "The y coordinate of rotation center in parent's coordinate system."
> - rotation centre
> + the rotation centre
> - parent's coordinate system
> + the parent's coordinate system
> #: Morphic-Kernel,Morph>>addStackItemsTo:
> msgid "be a card in an existing stack..."
> #: Morphic-Kernel,Morph>>addStackItemsTo:
> msgid "be default value on new card"
> - be default value on new card
> + be the default value on the new card
> (d)
> #: EToys-Kedama,KedamaPatchMorph>>additionsToViewerCategories
> msgid "clear all patch"
> - patch
> + patches
> (e) Do we need to remove small words like "it" from explanatory strings?
> #: Morphic-Basic,CurveMorph_class>>formerDescriptionForPartsBin,PolygonMorph_class>>supplementaryPartsDescriptions
> msgid ""
> "A smooth wiggly curve, or a curved solid.  Shift-click to get handles and "
> "move the points.  Using the halo menu, can be coverted into a polygon, and "
> "can be made \"open\" rather than closed."
> - can be coverted into a polygon, and can be madee
> + it can be coverted into a polygon, and it can be made
> (f)
> #: Morphic-Basic,SketchMorph>>additionsToViewerCategories
> msgid ""
> "The picture originally painted for this object, but can subsequently be "
> "changed via menu or script"
> - but can
> + which can
> The comma implies that "which" does not refer to "object".
> (g)
> #: Morphic-Worlds,PasteUpMorph>>playfieldOptionsMenu,PasteUpMorph>>presentViewMenu
> msgid "delete the graphic that forms the background for this me."
> "this me"?
> 8. Improve line-break positioning, to make the text easier to read.
> (a)
> #: Collections-Text,TextURL>>actOnClickFor:
> msgid ""
> "Couldn't find a web browser.  View\n"
> "page as source?"
> - Couldn't find a web browser.  View\n
> page as source?
> + Couldn't find a web browser.\n
> View page as source?
> (b)
> #: Morphic-Flaps,FlapTab>>changeFlapColor
> msgid ""
> "The flap itself needs to be open\n"
> "before you can change its\n"
> "color."
> - its\n"
> "color."
> + its color."
> If you really need a string to be a certain width or length, please tell us so in a comment.
> (c)
> #: Morphic-Flaps,FlapTab>>destroyFlap
> msgid ""
> "Caution -- this is permanent!  Do\n"
> "you really want to do this? "
> - permanent!  Do\n"
> "you really want to do this? "
> + permanent!\n
> "Do you really want to do this? "
> 9. Use of squished words — please supply comments to indicate if the translation MUST be one word, or not. In many languages (including mine), words squished together are very difficult to read. Please supply a comment, e.g. "MUST be translated as one word or words joined by underscore" or "can be translated as separate words". Examples:
> #: ConnectorsShapes,NCCurveMorph_class>>supplementaryPartsDescriptions
> msgid "CircleCurve"
> #: ConnectorsShapes,NCCurveMorph_class>>supplementaryPartsDescriptions
> msgid "Pointing Hand2"
> #: ConnectorsTools,NCButtonBar_class>>supplementaryPartsDescriptions
> msgid "A buttonBar for State Machine drawings
> 10. There's also the issue of whether we should translate unspaced and capitalized terms, or not. Please supply a comment: "Should be translated, can be separate words", "Should be translated as one word only or words joined by underscores" or "DO NOT TRANSLATE" (in the last case, the string should be removed from the PO file to avoid errors). Some examples:
> ConnectorsText,NCDisplayTextMorph_class>>initialize,NCTextMorph_class>>initialize
> msgid "acceptedTextContents"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "attachmentOwnerChanged"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "connectedTo"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "destinationConnected"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "destinationDisconnecting"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "disconnectedFrom"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "sourceConnected"
> #: Connectors-Base,NCAAConnectorMorph_class>>initialize
> msgid "sourceDisconnecting"
> #: Connectors-Base,NCAAConnectorMorph_class>>newRandomButton
> msgid "RandomConnector"
> #: Kernel-Objects,Object>>descriptionForPartsBin
> msgid "MaybePutAnotherCategoryHere"
> #: Kernel-Objects,Object>>descriptionForPartsBin
> msgid "PutACategoryHere"
> #: Kernel-Objects,Object>>descriptionForPartsBin
> msgid "PutFormalNameHere"
> #: Kernel-Objects,UndefinedObject>>descriptionForPartsBin
> msgid "ClipboardText"
> #: Morphic-Books,BookMorph_class>>registerInFlapsRegistry,BookMorph_class>>registerInFlapsRegistry,Flaps_class>>defaultsQuadsDefiningSuppliesFlap,Morph_class>>supplementaryPartsDescriptions
> msgid "NextPage"
> #: Morphic-Books,BookMorph_class>>registerInFlapsRegistry,BookMorph_class>>registerInFlapsRegistry,Flaps_class>>defaultsQuadsDefiningSuppliesFlap,Morph_class>>supplementaryPartsDescriptions
> msgid "PreviousPage"
> #: Morphic-Books,BookMorph>>printPSToFile
> msgid "MyBook"
> #: Morphic-Buttons,ButtonProperties>>setActWhen,StandardScriptingSystem>>standardEventStati,StandardScriptingSystem>>statusHelpStringFor:
> msgid "mouseDown"
> #: Morphic-Buttons,ButtonProperties>>setActWhen,StandardScriptingSystem>>standardEventStati,StandardScriptingSystem>>statusHelpStringFor:
> msgid "mouseStillDown"
> #: Morphic-Buttons,ButtonProperties>>setActWhen,StandardScriptingSystem>>standardEventStati,StandardScriptingSystem>>statusHelpStringFor:
> msgid "mouseUp"
> #: Morphic-Components,MouseDownMorph>>addCustomMenuItems:hand:
> msgid "plug mouseMove to model"
> #: Morphic-Components,MouseDownMorph>>addCustomMenuItems:hand:
> msgid "plug mouseMove to model slot"
> #: Morphic-Components,MouseDownMorph>>addCustomMenuItems:hand:
> msgid "set mouseDown selector..."
> #: Morphic-Components,MouseDownMorph>>addCustomMenuItems:hand:
> msgid "set mouseMove selector..."
> #: Morphic-Components,MouseDownMorph>>addCustomMenuItems:hand:
> msgid "set mouseUp selector..."
> #: Morphic-Demo,BouncingAtomsMorph_class>>descriptionForPartsBin
> msgid "BouncingAtoms"
> #: Morphic-Demo,DoubleClickExample_class>>descriptionForPartsBin
> msgid "DoubleClick"
> #: Morphic-Demo,FishEyeMorph_class>>descriptionForPartsBin
> msgid "FishEye"
> #: Morphic-Demo,FrameRateMorph_class>>descriptionForPartsBin
> msgid "FrameRate"
> #: Morphic-Demo,MagnifierMorph_class>>supplementaryPartsDescriptions
> msgid "RoundGlass"
> #: Morphic-Demo,MovingEyeMorph_class>>descriptionForPartsBin
> msgid "MovingEye"
> and so on (I intended to list them all here, but there are just too many).
> 11. Incorrect use of the first person singular and anthropomorphism
> #: ConnectorsTools,NCMakerButton>>doButtonAction
> msgid "Drop a Morph on me so that I can have something to make!"
> Human Interface Guidelines disparage the use of the first person singular to refer to the computer, a program or any piece therein. One reason for this is that while it's cute in Engish and a few other languages, it simply doesn't make sense in many languages. Asian languages, for example, have very specific pronouns. How old is the "person" speaking? Which gender is this "person"? 
> - Drop a Morph on me so that I can have something to make!
> + Drop a Morph here so there's something to make!"
> Please modify all use of the first person singular "me, my, mine" which doesn't apply to sentient beings. (Yup, once we have real AI, we can revisit this issue.)
> Also please avoid using idiom of any kind. It is very difficult to translate.
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryMotion
> msgid "follow the yellow brick road"
> Not everyone has seen The Wizard of Oz, and if translators have seen it, they are unlikely to have seen it in English.
> Also:
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryEmbeddings
> msgid "A count of my embedded objects that want to act as pins for connections"
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryEmbeddings
> msgid ""
> "Send a message to all of my embedded objects that want to act as pins for "
> "connections"
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryEmbeddings
> msgid "wants connection when embedded"
> Without true AI, it is doubtful if the objects want anything. I suggest:
> - my embedded objects that want to act as pins
> + my embedded objects intended to act as pins
> - wants connection
> + intended to have connection
> 12. Simple typos
> (a)
> #: DAVServerDirectory,DAVClient>>isRetryNeeded
> msgid "An Internal Server Error Occured ({1})"
> - Occured
> + Occurred
> (b)
> #: Morphic-Basic,PolygonMorph>>specifyDashedLine
> msgid ""
> "Enter a dash specification as\n"
> "{ major dash length. minor dash length. minor dash color }\n"
> "The major dash will have the normal border color.\n"
> "A blank response will remove the dash specification.\n"
> "[Note: You may give 5 items as, eg, {10. 5. Color white. 0. 3}\n"
> "where the 4th ityem is zero, and the 5th is the number of pixels\n"
> "by which the dashes will move in each step of animation]"
> - ityem
> + item
> (c)
> #: Morphic-Basic,SketchMorph>>callThisBaseGraphic,SketchMorph>>restoreBaseGraphicFromMenu
> msgid ""
> "oops, this menu is a for a morph that\n"
> "has been replaced, probably because a\n"
> "\"look like\" script was run.  Please dismiss\n"
> "the menu and get a new one!.  Sorry!"
> - one!.
> + one!
> OR
> + one.
> (d)
> #: Morphic-Books,BookMorph>>addBookMenuItemsTo:hand:,StackMorph>>offerBookishMenu
> msgid "sound effect this page only"
> #: Morphic-Books,BookMorph>>addBookMenuItemsTo:hand:,StackMorph>>offerBookishMenu
> msgid "visual effect this page only"
> - effect this
> + effect for this
> (e)
> #: Morphic-Books,BookMorph>>addBookToggleItemsTo:
> msgid ""
> "If set, stop-step-go buttons within the page's interior will govern only "
> "scripts for objects  residing within the page"
> - objects  residing
> + objects residing
> (f)
> #: Morphic-Books,BookMorph>>additionsToViewerCategories
> msgid "How many pages here are in the book"
> - pages here are
> + pages there are
> (g)
> #: Morphic-Books,BookMorph>>bookMenu
> msgid "add a new page just like this one to0 the book."
> - to0
> + to
> (h)
> #: Morphic-Demo,BouncingAtomsMorph>>addCustomMenuItems:hand:
> msgid "startInfection"
> - startinfection
> + start infection
> (i)
> #: Morphic-Demo,DoubleClickExample_class>>descriptionForPartsBin
> msgid "An example of how to use double-click in moprhic"
> - moprhic
> + morphic
> (j)
> #: Morphic-Flaps,Flaps_class>>defaultsQuadsDefiningStackToolsFlap,TextMorph_class>>registerInFlapsRegistry
> msgid "A text field with a rounded shadowed border, with a fancy font."
> - border, with
> + border and
> (k)
> #: Morphic-Flaps,Flaps_class>>defaultsQuadsDefiningToolsFlap,PackagePaneBrowser_class>>registerInFlapsRegistry
> msgid ""
> "Package Browser:  like a System Browser, except that if has extra level of "
> "categorization in the top-left pane, such that class-categories are further "
> "organized into groups called \"packages\""
> - except that if has extra level
> + except that it has an extra level
> (l)
> #: Morphic-Flaps,FlapTab>>addCustomMenuItems:hand:
> msgid ""
> "If checked, this flap will be available in all morphic projects; if not, it "
> "will be private to this project.,"
> - project.,"
> + project."
> (m)
> #: Morphic-Flaps,FlapTab>>destroyFlap
> msgid ""
> "Caution -- this would permanently\n"
> "remove this flap, so it would no longer be\n"
> "available in this or any other project.\n"
> "Do you really want to this? "
> - want to this?
> + want to do this?
> (n)
> #: Morphic-Games,CipherPanel>>showHintsWindow
> msgid ""
> "Most bodies of english text follow a general pattern of letter usage.  The "
> "following are the most common letters, in approximate order of frequency:\n"
> "\tE  T  A  O  N  I  R  S  H\n"
> "The following are the most common digraphs:\n"
> "\tEN  ER  RE  NT  TH  ON  IN\n"
> "\n"
> "The message you are trying to decode has the following specific statistics:"
> - english
> + English
> Also, what's the point in translating a game if it's only going to deal with English text?
> (o)
> #: Morphic-Games,CrosticPanel>>initializeToStandAlone,CrosticPanel_class>>newFromFile:
> msgid "mal-formed crostic file"
> - mal-formed
> + malformed
> (p)
> #: Morphic-Games,FreeCell>>promptForSeed
> msgid ""
> "Pick a game number between 1 and 32000.\n"
> "or\n"
> "set the hardness of the next game by typing 'H 30'.\n"
> "Above 100 is very hard.  Zero is standard game.\n"
> "Current hardness is: "
> - "Pick a game number between 1 and 32000.\n"
> "or\n"
> "set the hardness of the next game by typing 'H 30'.\n"
> "Above 100 is very hard.  Zero is standard game.\n"
> "Current hardness is: "
> + "Pick a game number between 1 and 32000,\n"
> "or set the difficulty level of the next game by typing, e.g. 'H 30'.\n"
> "Over 100 is very difficult. 0 is the standard game."
> "Current difficulty:"
> (q)
> #: Morphic-Kernel,Morph>>additionsToViewerCategoryEmbeddings
> msgid ""
> "Whether I should be act as a pin for connections when embedded in another "
> "object"
> - should be act
> + should act
> (r)
> #: Morphic-Kernel,Morph>>addPlayerItemsTo:
> msgid "momentarily show, by flashing , all of my visible siblings."
> - by flashing ,
> + by flashing,
> (s)
> #: Morphic-Kernel,Morph>>addToggleItemsToHaloMenu:
> msgid "whether I should be reistant to easy deletion via the pink X handle"
> - reistant
> + resistant
> (t)
> #: Morphic-Kernel,Morph>>putOnForeground
> msgid ""
> "Caution -- every card of this background\n"
> "formerly had its own value for this\n"
> "item.  If you put it on the foreground,\n"
> "the values  of this item on all other\n"
> "cards will be lost"
> - values  of
> + values of
> (u)
> #: Morphic-Kernel,TheWorldMenu>>formulateFlapsMenu:
> msgid "install classic etoy flaps"
> "etoy" or "etoys" ?
> Strings also contain "EToys", "EToy" and "eToy": we need a consistent name. 
> #: Morphic-Kernel,TheWorldMenu>>formulateFlapsMenu:
> msgid "install olpc etoy flaps"
> (olpc -> OLPC)
> #: Morphic-Kernel,TheWorldMenu>>formulateFlapsMenu:
> msgid ""
> "Put up the default etoy flaps: a custom Supplies flap and the Navigator flap"
> #: Morphic-Kernel,TheWorldMenu>>fullScriptingMenu
> msgid ""
> "Displays a summary of all the pre-defined commands and properties in the pre-"
> "defined EToy vocabulary."
> #: Morphic-Kernel,TheWorldMenu>>fullScriptingMenu
> msgid "etoy vocabulary summary"
> and there are more strings with this issue.
> (v)
> #: Morphic-Mentoring,EventRecordingSpace>>addMenuButtonItemsTo:
> msgid ""
> "open a horizontal piano-roll-like tool for the viewing and editing the "
> "events of this event theatre."
> - for the viewing
> + for viewing
> (w)
> #: Morphic-Navigators,ProjectNavigationMorph>>publishProject
> msgid ""
> "You seem to be painting a sketch.\n"
> "Do you continue and publish the project with the paint tool?"
> - Do you continue
> + Do you want to continue
> (x)
> #: Morphic-Stacks,StackMorph_class>>stackHelpWindow
> msgid ""
> "A \"stack\" is a place where you can create, store, view and retrieve data "
> "\"fields\" from a set of \"cards\".  Data that you want to occur on every "
> "card (such as a name and an address in an Address Stack) are represented by "
> "objects such as \"Simple Text\", \"Fancy Text\", and \"Scrolling Text\" that "
> "you obtain from the Stack Tools flap.\n"
> ...
> "The normal sequence to define a Stack's structure is to obtain a blank "
> "Stack, then create your fields by grabbing what you want from the Stack "
> "Tools flap and dropping it where you want it in the stack.  For easiest use, "
> "give a name to each field (by editing the name in its halo) *before* you put "
> "it onto the background..  Those fields that you want to represent the basic "
> "data of the stack need to be given names, placed on the background, and then "
> "told to hold separate data.\n"
> - background..
> + background.
> OR
> + background...
> (y)
> #: Morphic-Worlds,PasteUpMorph_class>>supplementaryPartsDescriptions
> msgid "A place for storing alternative pictures in an animation, ec."
> - ec.
> + etc.
> (z)
> #: Morphic-Worlds,PasteUpMorph>>presentCardAndStackMenu
> msgid "card und stack"
> It looks we're phasing into German in the English strings: the string ID says "CardAndStack":
> - und
> + and
> (aa)
> #: Sound-Interface,RecordingControls>>addMenuButtonItemsTo:
> msgid ""
> "hands you a lozenge representing the current sound,  which you can drop into "
> "a piano-roll or an event-roll, or later add to the sound library.  Double-"
> "click on it to hear the sound"
> - sound,  which
> + sound, which
> (ab)
> #: System-Support,BooleanPreferenceView>>offerPreferenceNameMenu:with:in:
> msgid ""
> "This will open a method-list browser on all methods that the send the "
> "preference \""
> - that the send the
> + that send the
> Also, this is a split string: the preference name should be included as a placeholder, e.g.
> - that the send the preference \"
> + that send the preference \"%s\"
> (ac)
> #: System-Support,Preferences_class>>addPreferenceForCelesteShowingAttachmentsFlag
> msgid ""
> "If true, Celeste (e-mail reader) annotates messages in it's list that have "
> "attachments.  This is a performance hit and by default is off."
> - in it's list
> + in its list
> his, hers, its
> he's, she's, it's
> (ad)
> #: System-Support,Preferences_class>>rebuildFontConfigurationMenu:
> msgid "Choose the font to be used titles in etoys"
> - to be used titles
> + to be used in titles
> ?
> (ae)
> #: System-Support,Preferences_class>>rebuildFontConfigurationMenu:
> msgid ""
> "If any font settings have changed since you pinned this menu up, this will "
> "allow the menu to rebuilt to reflect current font choices."
> - allow the menu to rebuilt
> + allow the menu to be rebuilt
> OR
> + allow the menu to rebuild
> (af)
> #: System-Support,Project>>displayFontProgress
> msgid "$\tFixing fonts\t$\t"
> This is just messy. Only the translatable part "Fixing fonts" should be displayed as a translatable string in the PO file. Interface spacing is not a function of translation. If the dollar sign is a placeholder, please use conventional placeholders.
> http://translate.sourceforge.net/wiki/guide/translation/variables
> (ag)
> #: System-Support,SecurityManager>>enterRestrictedMode
> msgid "Load it anyways"
> - anyways
> + anyway
> (ah)
> #: Tools-Browser,MessageNames_class>>windowColorSpecification
> msgid ""
> "A tool finding, viewing, and editing all methods whose names contiane a "
> "given character sequence."
> - A tool finding
> + A tool for finding
> - contiane
> + contain
> It looks like this string has already been corrected:
> #: Morphic-Flaps,Flaps_class>>defaultsQuadsDefiningToolsFlap,MessageNames_class>>registerInFlapsRegistry
> msgid ""
> "A tool for finding, viewing, and editing all methods whose names contain a "
> "given character sequence."
> so please remove the incorrect string, adding its source reference to the correct string.
> (ag)
> #: Tools-File_Contents_Browser,FileContentsBrowser>>infoViewContents
> msgid "Existing method removed  by this change-set"
> - removed  by
> + removed by
> (ai)
> #: Tools-FileList,FileList>>addNew:byEvaluating:
> msgid "{1}Name"
> Should there be a space between these two elements in the string?
> - {1}Name
> + {1} Name
> (aj)
> #: Tools-FileList,FileList>>serviceAddNewFile
> msgid "create a new,. empty file, and add it to the current directory."
> - new,. empty
> + new, empty
> (ak)
> Possibly duplicate strings?
> #: Tools-FileList,FileList>>serviceRemoveVersionNumber
> msgid "remove version number from file name"
> #: Tools-FileList,FileList>>serviceRemoveVersionNumber
> msgid "remove version number from filename"
> (al)
> #: VideoForSqueak-Core,V4LDeviceImplementor>>palettes
> msgid "DEFAULT - The palette the camera liknes most"
> - liknes
> + likes
> I translated this as "The palette most suitable to the camera". I doubt if the camera has a personal preference.
> (am)
> #: VideoForSqueak-Morphic,VideoMorph_class>>descriptionForPartsBin
> msgid "A player for video devices like cameras, video capturers, etc."
> "like" and "etc." are mutually exclusive.
> - devices like cameras, video capturers, etc.
> + devices like cameras and video capturers
> OR
> + devices: cameras, video capturers etc.
> There is no comma before "etc." because it means "and the rest" (there is no comma before the final "and" in a list of items).
> (an)
> #: VideoForSqueak-Morphic,VideoMorph>>createConfigurationDialog
> msgid "the video device has not parameters to configure"
> I assume:
> - has not parameters
> + has no parameters
> (ao)
> #: WS-Sound-Interface,WsGraphMorph>>additionsToViewerCategories,WsSonogram>>additionsToViewerCategories
> msgid "The color hue of the data"
> "color hue" is incorrect in this context.
> - The color hue of
> + The color of
> OR (if you want more explanation)
> + The color in which the data is displayed
> (ap)
> #: WS-Sound-Interface,WsGraphMorph>>additionsToViewerCategories
> msgid "The maximum of the range drawn in the graph"
> #: WS-Sound-Interface,WsGraphMorph>>additionsToViewerCategories
> msgid "The minimum of the range drawn in the graph"
> - The maximum of the range
> + The maximum range
> - The minimum of the range
> + The minimum range
> (aq)
> #: WS-Sound-Interface,WsSonogram>>additionsToViewerCategories
> msgid "The horizontal scrolling stride when data is going off the edget."
> - edget
> + edge
> OR
> + edges
> (ar)
> #: WS-Sound-Interface,WsWorldStethoscope>>rangeFinderModeOn
> msgid "You should adjust 'cut off level' to find range well."
> - adjust 'cut off level' to find range well.
> + adjust the 'cut off level' to find an effective range.
> 13. If a string itself is a name, please supply a comment (e.g. "This is a name"), then we only transliterate it into different scripts, not translate it when we use a Latin alphabet. For example:
> #: EToys-Kedama,KedamaMorph_class>>defaultNameStemForInstances
> msgid "KedamaWorld"
> 14. Inappropriate escaping
> (a)
> #: Morphic-Experimental,EToyCommunicatorMorph_class>>instanceReport
> msgid "IP Address\\Project\\Owner"
> #: Morphic-Support,SketchEditorMorph>>deliverPainting:evt:
> msgid "throw it away\\keep painting it"
> #: Morphic-Worlds,PasteUpMorph>>checkCurrentHandForObjectToPaste
> msgid "Delete\\Keep"
> #: Nebraska-Morphic-Collaborative,EToySenderMorph>>checkOnAFriend
> msgid "Get his status now\\Send my status now"
> #: Network-Protocols,HTTPSocket_class>>retry:asking:ifGiveUp:
> msgid "Retry\\Give Up"
> #: System-Files,StandardFileStream_class>>fileExistsUserHandling:
> msgid "overwrite that file\\choose another name\\cancel"
> #: System-Support,AutoStart_class>>processUpdates
> msgid "Yes, Update\\No, Not now\\Don't ask again"
> #: System-Support,Project>>decideAboutCreatingBlank:
> msgid "Yes, make it up\\No, skip it"
> #: System-Support,Project>>loadFromServer:
> msgid "Load it\\Cancel"
> #: System-Support,Project>>loadFromServer:
> msgid "Reload anyway\\Cancel"
> #: System-Support,Project>>storeOnServerInnards
> msgid "Store anyway\\Cancel"
> #: System-Support,Project>>tryToFindAServerWithMe
> msgid "Try to find a server\\Cancel"
> #: System-Support,Utilities_class>>readServerUpdatesThrough:saveLocally:updateImage:
> msgid "Stop looking\\Try next server"
> These should be divided into separate strings.
> (b)
> #: Morphic-Experimental,EtoyDAVLoginMorph>>buildPanel
> msgid ""
> "Etoys is trying to open your web browser.\\If it does not work, you can sign "
> "up at:\\\\"
> #: Morphic-Worlds,PasteUpMorph>>checkCurrentHandForObjectToPaste
> msgid "Hand is holding a Morph in its paste buffer:\\"
> #: Nebraska-Morphic-Collaborative,EToySenderMorph>>checkOnAFriend
> msgid "\\Last message in: "
> #: Nebraska-Morphic-Collaborative,EToySenderMorph>>checkOnAFriend
> msgid "\\Last status check at: "
> msgstr ""
> #: Nebraska-Morphic-Collaborative,EToySenderMorph>>checkOnAFriend
> msgid "\\Last status in: "
> #: Network-Url,TextMessageLink>>actOnClickFor:
> msgid "\\save this attachment"
> #: System-Support,AutoStart_class>>processUpdates
> msgid "Do you want to check for updates\\or maintenance fixes on the server?"
> #: System-Support,Project>>decideAboutCreatingBlank:
> msgid "I cannot locate the project\\"
> #: System-Support,Project>>decideAboutCreatingBlank:
> msgid "\\Would you like me to create a new project\\with that name?"
> #: System-Support,Project>>enter:revert:saveForRevert:
> msgid ""
> "Are you sure you want to destroy this Project\\ and revert to an older "
> "version?\\\\(From the parent project, click on this project's thumbnail.)"
> #: System-Support,Project>>exportSegmentWithChangeSet:fileName:directory:withoutInteraction:
> msgid "\\Project's own world is not in the segment."
> #: System-Support,Project>>storeOnServerInnards
> msgid "\\Please cancel, rename this project, and see what is there."
> #: System-Support,Project>>storeOnServerInnards
> msgid "\\Project: "
> #: System-Support,Project>>storeOnServerInnards
> msgid "\\THIS PROJECT HAS NEVER BEEN SAVED"
> #: System-Support,Project>>storeOnServerInnards,Project>>storeOnServerWithNoInteractionInnards
> msgid "\\There are newer version(s) in the local directory"
> #: System-Support,Project>>storeOnServerInnards,Project>>storeOnServerWithNoInteractionInnards
> msgid "\\There are newer version(s) on the server"
> #: Tools-Debugger,Debugger>>preDebugNotifierContentsFrom:
> msgid ""
> "An error has occurred in\\{3} of {2}.\\Fix your script(s), hit 'Abandon' and "
> "try again."
> Are these supposed to be line-breaks? Please fix.
> #: Morphic-Windows,ProjectViewMorph>>showMenuForProjectView
> msgid "Project Named \\\"{1}\""
> ??
> #: Sound-Interface,RecordingControls>>chooseCodec
> msgid "Compression method\\Currently: {1}"
> I'm not sure if this should be a line-break, or if you're trying to insert spacing. If the former, please use a line-break, and if the latter, don't do it! Translation strings are not designed for interface adjustments. Divide this into separate strings and apply interface adjustments in the code, not in the translatable strings.
> 15. Inappropriate use of angle brackets
> (a)
> #: Morphic-Games,Mines>>helpString
> msgid ""
> "Mines is a quick and dirty knock-off of the Minesweeper game found on "
> "Windows. I used this to teach myself Squeak. I liberally borrowed from the "
> "<SameGame> example, so the code should look pretty familiar, though like any "
> "project it has rapidly ...morphed... to reflect my own idiosyncracies. Note "
> "especially the lack of any idiomatic structure to the code - I simply "
> "haven't learned them yet.\n"
> ...
> We get quite a bit of HTML and other code in translations nowadays, so our tools look for code matching. Use of angle brackets in this way will mean extra manual checks for translators, so it is deprecated.
> (b)
> #: Morphic-Navigators,InternalThreadNavigationMorph>>destroyThread
> msgid "Destroy thread <{1}> ?"
> Use \"{1}\" or « {1} »
> #: Morphic-Navigators,InternalThreadNavigationMorph>>jumpWithinThread
> msgid "jump to <{1}>"
> #: Morphic-Navigators,InternalThreadNavigationMorph>>moreCommands
> msgid "switch to <{1}>"
> (c)
> #: Multilingual-Editor,LanguageEditor>>translation
> msgid "<select a phrase from the upper list>"
> #: Nebraska-Morphic-Remote,NebraskaServerMorph>>updateCurrentStatusString
> msgid "<Nebraska not active>"
> #: System-Support,Utilities_class>>authorInitialsToStamp
> msgid "<no author>"
> #: VideoForSqueak-Core,ParameterDescription>>wordingForOption,VideoPropertiesMorph>>getLabelFor:readSelector:options:
> msgid "<unknown option>"
> Use other delimiters, e.g. « », or don't include the angle brackets in the translatable string.
> 16. Incorrect use of interface string
> (a)
> The menu command (from Stacks/Cards) "place onto background" is quoted in one too-long string (cf. SQ-675):
> #: Morphic-Stacks,StackMorph_class>>stackHelpWindow
> msgid ""
> "A \"stack\" is a place where you can create, store, view and retrieve data "
> "\"fields\" from a set of \"cards\".  Data that you want to occur on every "
> "card (such as a name and an address in an Address Stack) are represented by "
> "objects such as \"Simple Text\", \"Fancy Text\", and \"Scrolling Text\" that "
> "you obtain from the Stack Tools flap.\n"
> ...
> "\n"
> "Use the \"stack/cards\" menu (in an object's halo menu) to change the "
> "designation of any object.  For example, if you have an object that is "
> "private to just one card, and you want to make it visible on all cards, use "
> "\"place onto background\".  If you further want it to hold a separate value "
> "for each separate card, use \"start holding separate data for each instance"
> "\".\n"
> This quoted item does not exist anywhere else in the PO file. Such an omission indicates that an interface item has been incorrectly described, which leads to unusable translations. It looks like this item has been confused with the existing string:
> #: Morphic-Kernel,Morph>>addStackItemsTo:
> msgid "put onto Background"
> Please fix.
> (b)
> #: Sound-Interface,AnonymousSoundMorph>>soundMorphHelpString
> msgid ""
> " seconds.\n"
> "Double-click to hear the sound.  \"add to sound library\" available in halo "
> "menu.  Also suitable for dropping into a piano-roll or into an event-roll"
> The interface item is not "add to sound library", it is:
> #: Sound-Interface,EnvelopeEditorMorph>>addCustomMenuItems:hand:
> msgid "put sound in lib"
> but in this case I'd recommend changing the interface string: it's unnecessarily cryptic.
> (c)
> #: System-Support,Preferences_class>>giveHelpWithPreferences
> msgid ""
> "Many aspects of the system are governed by the settings of various "
> "\"Preferences\".  \n"
> "\n"
> ...
> "Also, you can use \"themes\" to set multiple preferences all at once; click "
> "on the \"change theme...\" button in the Squeak flap or in the Preferences "
> "panel, or seek out the themes item in the Appearance menu."
> There is no interface string with "Appearance" in it, other than this one. What is this menu actually named? We need an accurate reference.
> Clytie Siddall
> Vietnamese Free-Software Translation Team
> clytie at riverland.net.au

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tracker.squeakland.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       


More information about the etoys-notify mailing list