From 79f5c2f0cf8327d54ab5c091e93c6f42712454bd Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 28 Mar 2013 15:17:03 +1000 Subject: [PATCH 01/28] WIP arranging l10n strings by page --- .../src/main/resources/messages.properties | 600 ++++++++++++------ .../WEB-INF/layout/project_edit_form.xhtml | 2 +- .../main/webapp/WEB-INF/layout/statsbar.xhtml | 20 +- .../main/webapp/iteration/copy_trans.xhtml | 2 +- .../src/main/webapp/iteration/files.xhtml | 20 +- .../main/webapp/iteration/source_files.xhtml | 9 +- .../src/main/webapp/iteration/view.xhtml | 8 +- zanata-war/src/main/webapp/project/home.xhtml | 24 +- zanata-war/src/main/webapp/search.xhtml | 10 +- 9 files changed, 469 insertions(+), 226 deletions(-) diff --git a/zanata-war/src/main/resources/messages.properties b/zanata-war/src/main/resources/messages.properties index 8efc109598..7da074ef68 100644 --- a/zanata-war/src/main/resources/messages.properties +++ b/zanata-war/src/main/resources/messages.properties @@ -1,3 +1,384 @@ +#------ General Zanata strings (used in several places) ------ + +! the name of this web application +jsf.Zanata=Zanata + +jsf.Help=Help +jsf.Description=Description +jsf.CreationDate=Creation Date +# FIXME more descriptive key. May be used for different concepts +jsf.Status=Status +#FIXME this is used for name of project, version, group, label and people +# different terms may be required in some languages +jsf.Name=Name +jsf.projectType=Project Type +jsf.projectType.Description=Determines how the project is treated for upload and download by clients or through the website. +jsf.projectType.DefaultBehaviour=The default type will be applied to versions under this project that do not specify their own type. +jsf.projectType.NotSpecifiedBehaviour=If no project type is specified, the type from containing project is used. +#FIXME extract URL to separate property. +# Note that descriptions of project types in different languages could be provided +jsf.projectType.MoreInfo=For more information, see https://github.com/zanata/zanata/wiki/Project-Types +jsf.projectType.NoSelection=-- No selection -- + +jsf.HomepageContent=Homepage Content +jsf.Save=Save +jsf.Update=Update +jsf.Cancel=Cancel +jsf.Version=Version +jsf.Edit=Edit +jsf.Username=Username +jsf.Email=Email +jsf.Remove=Remove +jsf.Add=Add +jsf.Close=Close + +#FIXME change keys to indicate that these are project statuses +! project/version status +jsf.Active=Active +! project/version status +jsf.ReadOnly=Read-only +! project/version status +jsf.Obsolete=Obsolete + +jsf.Actions=Actions +jsf.Language=Language +jsf.RequestToJoinVersionGroup=Request To Join Group +jsf.AlreadyInGroup=Already in Group +jsf.Search=Search +jsf.Upload=Upload +jsf.Delete=Delete + + + + +#------ Main template (menus, footer and search on all pages) ------ + +#--- Menus (all pages) --- +jsf.Projects=Projects +jsf.Languages=Languages +jsf.Groups=Groups +jsf.More=More +! used in menu and footer +jsf.ReportAProblem=Report problem +! used in menu and footer +jsf.KnownIssues=Known issues +jsf.Register=Register +jsf.SignIn=Sign In +jsf.SignOut=Sign Out +jsf.MyProfile=My Profile + +#--- Project search (all pages) --- +jsf.SearchProjects=Search Projects +jsf.project.search.IncludeObsoleteTooltip=Include Obsolete Projects in Search + +#--- Footer (all pages) --- +#Footer also uses:- +# - jsf.Help under 'General', +# - jsf.ReportAProblem under 'Menus' +# - jsf.KnownIssues under 'Menus' +jsf.AboutZanata=About Zanata +jsf.Documentation=Documentation +jsf.Wiki=Wiki +jsf.Blog=Blog +jsf.Support=Support +jsf.IrcHelp=IRC Help +jsf.FAQ=FAQ +jsf.SiteMap=Site map +#FIXME this is a fragmented sentence. Should be combined to a single string (copyright symbol is an issue) +jsf.RunningVersionInfo=version #{applicationConfiguration.version} (#{applicationConfiguration.buildTimestamp}). +jsf.CopyrightYearInfo=2008-12 +jsf.ManufacturerInfo=Red Hat, Inc +jsf.AndOthers=and others. +## End Footer Strings +### END main template + + + +#------ [home] > Projects ------ +! 'Action' button +jsf.CreateProject=Create project + +jsf.FilterActiveProjects=Filter active projects +jsf.FilterReadOnlyProjects=Filter read-only projects +jsf.FilterObsoleteProjects=Filter obsolete projects +jsf.ProjectName=Project Name + + + +#------ [home] > Search Projects ------ +jsf.SearchResultsForProjectSearch=Search Results for '#{projectSearch.searchQuery}' +jsf.FoundResultsizeProjectsMatchingQuerySearchquery=Found #{projectSearch.resultSize} Projects matching query '#{projectSearch.searchQuery}' +jsf.OnlyShowingFirstPagesizeResults=Only showing first #{projectSearch.pageSize} results. + + + +# 4 pages share most of the same strings so they are all grouped together here +#------ [home] > Projects > Create a New Project ------ +#------ [home] > Projects > [project-id] > Edit Project ------ +#------ [home] > Projects > [project-id] > Create Version ------ +#------ [home] > Projects > [project-id] > [version-id] > Edit Version ------ +jsf.CreateANewProject=Create a New Project +jsf.EditProject=Edit Project +jsf.ProjectId=Project ID +jsf.ProjectIdExample=Example: my-project +#FIXME make example keys exact extension of label keys so it is obvious that they are related +jsf.viewSourceFiles=View source files +jsf.SourceUrlHumanReadableExample=Link to human-readable source, e.g. https://github.com/zanata/zanata +jsf.SourceCheckoutUrl=Source Download/Checkout +jsf.SourceUrlMachineReadableExample=URL for checkout of source by version control software, e.g. git@github.com:zanata/zanata.git +jsf.customizedLocaleMessage=Would you like to add a customized list of locales? +!FIXME misleading key. +! This is a heading for locales that can be allowed for the project but are not currently allowed for the project. +jsf.AvailableLocales=Disabled Locales +! This is a heading for a list of locales that are currently allowed for the project. +jsf.SelectedLocales=Enabled Locales +jsf.AddLocale=Add > +jsf.RemoveLocale=< Remove +jsf.RestrictRoleAccessMessage=Would you like to restrict access to this project to certain User roles? +jsf.RestrictRoleAccessTooltip=Restrict Project Access +jsf.customizedValidationMessage=Would you like to use a customized list of validations? +! used in create/edit version. +jsf.ProjectVersionId=Version ID + + + +#------ [home] > Projects > [project-id] ------ +jsf.ReadOnlyVersions=Read-only versions +jsf.ObsoleteVersions=Obsolete versions +jsf.DocumentCount=Documents: +jsf.TranslateLinks=Translate Links +! tooltip for an icon that launches the translation editor, with editing enabled. +jsf.Translate=Translate +! GWT DevMode is used during development, only translate the first word of this string +jsf.TranslateGWTDevMode=Translate (GWT DevMode) +! tooltip for an icon that launches the translation editor, with editing disabled (read-only mode). +jsf.Open=Open +! GWT DevMode is used during development, only translate the first word of this string +jsf.OpenGWTDevMode=Open (GWT DevMode) +jsf.ManageVersion=Manage Version +jsf.EditVersion=Edit Version +! button label, should be short +jsf.SourceDocs=Source Docs +! tooltip for the above button +jsf.SourceDocuments=Source Documents +! see related tooltip for more information about this action +jsf.project.EditHomePage.label=Edit Page Code +jsf.project.EditHomePage.tooltip=Edit the Project's home page code as persisted. Useful when the home page cannot be edited via the project edit page. +jsf.CreateVersion=Create Version +jsf.ManageMaintainers=Manage Maintainers +! "Copy Trans" refers to a specific feature. Ensure that it is translated consistently. +#FIXME use a placeholder for "Copy Trans" to make it easier for translators to be consistent. +jsf.project.CopyTransOpts.linkTitle=Copy Trans Options +jsf.project.CopyTransOpts.tooltip=Set this project's default Copy Trans settings. +jsf.ProjectMaintainers=Project Maintainers +jsf.NoMaintainersDefined=(No maintainers defined) +jsf.project.RoleRestrictions=Role Restrictions +jsf.project.ProjectRestrictedToFollowingRoles=This project has restricted access for the following User roles: + + +#------ [home] > Projects > [project-id] > Manage Maintainers ------ +#------ [home] > Groups > [group-id] > Manage Maintainers ------ +jsf.AddProjectMaintainer=Add Project Maintainer +jsf.AreYouSureYouWishToRemoveThisPersonAsProjectMaintainer=Are you sure you wish to remove this person as project maintainer? + + + +#------ [home] > Projects > [project-id] > Copy Trans Options ------ +#------ [home] > Projects > [project-id] > [version-id] > Copy Translations ------ +# Some of these strings are only visible while copytrans is running +jsf.project.CopyTransOpts.title=Copy Trans Options +jsf.iteration.CopyTrans.pageTitle=Copy Trans for #{viewAllStatusAction.projectSlug}:#{viewAllStatusAction.iterationSlug} +jsf.iteration.CopyTrans.Condition=Condition +jsf.iteration.CopyTrans.Condition.onContentMismatch=On Content mismatch: +jsf.iteration.CopyTrans.Condition.onProjectMismatch=On Project mismatch: +jsf.iteration.CopyTrans.Condition.onContextMismatch=On Context mismatch (resId, msgctxt): +jsf.iteration.CopyTrans.Condition.onDocIdMismatch=On Document Id mismatch (Document name and path): +jsf.iteration.CopyTrans.Condition.final=Otherwise: +jsf.iteration.CopyTrans.Action=Action +jsf.iteration.CopyTrans.Action.reject=Reject +jsf.iteration.CopyTrans.Help.reject=Rejects the translation and does not copy it. +jsf.iteration.CopyTrans.Action.downgradeToFuzzy=Fuzzy +jsf.iteration.CopyTrans.Help.downgradeToFuzzy=The translation is still considered for reuse, but it will be reused as fuzzy. Subsequent conditions will be checked. +! used in coloured display tiles +#FIXME this is actually longer, may not be necessary or should be named better +jsf.iteration.CopyTrans.Action.short.downgradeToFuzzy=Needs Review +jsf.iteration.CopyTrans.Action.ignore=Don't care +! used in coloured display tiles +#FIXME this looks like a duplicate +jsf.iteration.CopyTrans.Action.short.ignore=Don't care +jsf.iteration.CopyTrans.Help.ignore=This condition will not be taken into account to determine whether a translation is reused or not. +jsf.Approved=Approved +jsf.iteration.CopyTrans.Help.approve=Translation will be reused and marked as Approved if it has not been rejected or marked as fuzzy already. +jsf.Start=Start +jsf.iteration.CopyTrans.AlreadyStarted=A Translation Copy has already been started by #{copyTransManager.getCopyTransProcessHandle( copyTransAction.projectIteration ).triggeredBy} for version #{copyTransAction.projectIteration.slug} of project #{copyTransAction.projectIteration.project.name}. +jsf.CopyTrans.ClickHereToViewProgress=Please click here to view progress. + + + +#------ [home] > Projects > [project-id] > [version-id] ------ +jsf.iteration.ShowAllLocales.title=Your teams will be highlighted below. +jsf.Refresh=Refresh +! tooltip for above button label +jsf.RefreshTable=Refresh table +#FIXME why does this have 'stats' in it? Has nothing to do with stats. +jsf.iteration.stats.OpenInWebEditor=Open in Translation Editor +jsf.Documents=Documents + +jsf.Statistics=Statistics +! statistics based on words in source +jsf.ByWords=By Words +! statistics based on entier message strings +jsf.Message=By Message + +#FIXME the status.X values are not filled in properly with this string extracted +# trying with the ui:param values that are derived from these... does not work +#jsf.StatisticsCountsTooltip=Total: #{status.total}, Translated: #{status.translated}, Need Review: #{status.needReview} + +! used in tooltip for statistics bar +jsf.stats.Total=Total: +! used in tooltip for statistics bar +jsf.stats.Translated=Translated: +! used in tooltip for statistics bar +jsf.stats.NeedReview=Need Review: +! this is appended to the number of hours in statistics view +jsf.stats.ShortHoursSuffix=hrs +! shown in place of statistics when no statistics are available (e.g. if there are no documents) +jsf.NoContent=(No Content) +! label for time and username of most recent translation +jsf.LastTranslated=Last Translated + +jsf.ConfigFile=Config file +jsf.GenerateProjectConfig=Generate project configuration file (zanata.xml) + +jsf.iteration.CopyTrans=Copy Translations +jsf.iteration.CopyTrans.title=Copy approved translations from other similar documents. +jsf.JoinedGroups=Joined Groups +jsf.iteration.CopyTrans.inProgress=Copy Trans in progress... +jsf.iteration.CopyTrans.started=Started #{viewAllStatusAction.copyTransStartTime} ago by #{pHandle.triggeredBy} +jsf.iteration.CopyTrans.estimatedTimeRemaining=Estimated Time Remaining: #{viewAllStatusAction.copyTransEstimatedTimeLeft} +jsf.iteration.CopyTrans.processedDocuments=Processed Documents: #{pHandle.documentsProcessed} of #{viewAllStatusAction.projectIteration.documents.size()} + +jsf.group.FindGroup=Find Group +jsf.NoResultToDisplay=No result to display. +jsf.GroupName=Group Name +jsf.SelectGroup=Select group +jsf.Select=Select + + + +#------ [home] > Projects > [project-id] > [version-id] > Source Documents ------ +#------ [home] > Projects > [project-id] > [version-id] > Documents ([locale]) ------ +jsf.pager.NextPage=next +jsf.pager.PreviousPage=prev +jsf.iteration.files.NoFiles=No Files Available +! local directory path where a document is located within the project +jsf.iteration.files.Path=Path +jsf.iteration.files.Filter.title=Filter by document name +jsf.Upload.Title=Upload document to merge/override current translation +jsf.iteration.files.UploadFile=Upload File +jsf.iteration.files.Merge=Merge +jsf.iteration.files.Merge.title=When checked, current data will merge with uploaded document. Otherwise data will be override by uploaded document. +jsf.iteration.files.MergeCheckbox.Title=When checked, updated translations will be written, leaving all others unchanged. + +jsf.iteration.files.Download=Download +jsf.iteration.files.dotpot=.pot +jsf.iteration.files.dotofflinepot=offline .pot +jsf.iteration.files.dotofflinepot.description=Special pot format that uses msgctxt to store Zanata id. +jsf.iteration.files.dotofflinepot.purpose=This is provided only for use during offline translation, source files should not be uploaded in this format. +jsf.iteration.files.dotpo=.po +jsf.iteration.files.dotofflinepo=offline .po +jsf.iteration.files.dotofflinepo.description=Special po format that uses msgctxt to store Zanata id. +jsf.iteration.files.dotofflinepo.purpose=This format is required by Zanata when uploading po translations for a document that was originally in a non-po format. + +jsf.iteration.files.ConfirmDocDeletion=Are you sure you want to remove this Source Document? +jsf.iteration.files.ProcessDlgTitle=Processing project files... + +jsf.iteration.files.UploadDocument=Upload Document +jsf.SupportedUploadFormats=Supported types: .pot .dtd .txt .odt .fodt .odp .fodp .ods .fods .odg .fodg .odb .odf +jsf.SourceLanguage=Source Language +jsf.iteration.files.DocumentPath=Document Path + +jsf.ConfigFileForOfflineTranslation=Offline Translation Config File +jsf.GenerateProjectConfigSingleLocale=Generate project configuration file (zanata.xml) for this version with locale #{projectIterationFilesAction.localeId} +jsf.GenerateProjectConfigForOfflineTranslation=Generate project configuration file (zanata.xml) for this version with locale #{projectIterationFilesAction.localeId}, using special project type 'offlinepo' for use in offline translation of po files. + +jsf.iteration.files.DownloadAllFiles=Download All Files (zip) +jsf.iteration.files.DownloadAllFiles.title=Download all translated files. +jsf.iteration.files.DownloadAllFilesOfflinePo=Download All Files (offline po zip) +jsf.iteration.files.DownloadAllFilesOfflinePo.title=Download all translated files in po format for offline translation. +jsf.iteration.files.DownloadAllFiles.ProjectTypeNotAllowed=The project type must be set to 'Gettext' or 'Podir'. Contact the project maintainer. +jsf.iteration.files.DownloadAllFiles.ProjectTypeNotSet=The project type for this iteration has not been set. Contact the project maintainer. +jsf.iteration.files.ConfirmDownloadAllFiles=Your download will be prepared and may take a few minutes to complete. Is this ok? +! #{...currentProgress} represents the number of documents that have been processed, #{...maxProgress} represents the total number of documents +jsf.generatezip.ProgressLabel=#{projectIterationZipFileAction.zipFilePrepHandle.currentProgress} of #{projectIterationZipFileAction.zipFilePrepHandle.maxProgress} + +jsf.iteration.files.WhyCantITranslate=Why can't I translate? +jsf.iteration.files.translateDenied.NotLoggedIn=You are not logged In. +jsf.iteration.files.translateDenied.VersionIsReadOnly=This project version is Read-Only. +jsf.iteration.files.translateDenied.VersionIsObsolete=This project version is Obsolete. +jsf.iteration.files.translateDenied.UserNotInLanguageTeam=You are not part of the {0} language team. +jsf.iteration.files.translateDenied.UserNotInProjectRole=You must be part of these user roles to translate this project: {0} + + + +#------ [home] > Groups ------ +#------ [home] > Groups > Create New Group ------ +#------ [home] > Groups > [group-id] Edit Group ------ +#------ [home] > Groups > [group-id] ------ +#------ [home] > Groups > [group-id] > Request To Join Group ------ + +#------ [home] > Languages ------ +#------ [home] > Languages > [locale-id] ------ +#------ [home] > Languages > [locale-id] > Request To Join '[locale-id]' Language Team ------ +#------ [home] > Languages > [locale-id] > Contact '[locale-id] ([language])' Language Team Coordinators ------ +#------ [home] > Help ------ +#------ [home] > Help > Edit Help Page Content ------ +#------ [home] > Help > Contact Admin ------ +#------ [home] > Glossary ------ +#------ [home] > Administration ------ +#------ [home] > Administration > Server Configuration ------ +#------ [home] > Administration > Manage Users ------ +#------ [home] > Administration > Manage Users > Account Details ------ +#------ [home] > Administration > Manage Roles ------ +#------ [home] > Administration > Manage Roles > Role Details ------ +#------ [home] > Administration > Manage Languages ------ +#------ [home] > Administration > Manage Languages > Add New Language ------ +#------ [home] > Administration > Manage Search ------ +#------ [home] > Administration > Overall Statistics ------ +#------ [home] > Administration > Role Assignment Rules ------ +#------ [home] > Administration > Role Assignment Rules > Create Role Assignment Rule ------ +#------ [home] > Administration > Process Manager ------ +#------ [home] > Sign In ------ +#------ [home] > Error ------ +#------ [home] > My Profile ------ +#------ [home] > My Profile > Edit Profile ------ +#------ [home] > My Profile > Change Password ------ + + + + + + + + + + + + + + + + + + + + + + + + + + up=\u2191 down=\u2193 left=\u2039 @@ -23,6 +404,7 @@ validator.emailList=invalid email or incorrect comma placement org.jboss.seam.loginFailed=Login failed org.jboss.seam.loginSuccessful=Welcome, #0! +org.jboss.seam.NotLoggedIn=Please log in first org.jboss.seam.TransactionFailed=Transaction failed org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request @@ -31,7 +413,6 @@ org.jboss.seam.ProcessEnded=Process #0 already ended org.jboss.seam.ProcessNotFound=Process #0 not found org.jboss.seam.TaskEnded=Task #0 already ended org.jboss.seam.TaskNotFound=Task #0 not found -org.jboss.seam.NotLoggedIn=Please log in first javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type javax.faces.component.UIInput.REQUIRED=value is required @@ -92,15 +473,40 @@ javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1} javax.faces.converter.STRING=value could not be converted to a string -jsf.AboutZanata=About Zanata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jsf.AccountDetails=Account Details jsf.AccountEnabled=Account enabled jsf.Account.ActivationMessage=You will soon receive an email with a link to activate your account. -jsf.Actions=Actions jsf.ActivationLinkExpired=Activation link expired. Please sign in and click "#{messages['jsf.ResendActivationEmail']}". -jsf.Add=Add -jsf.AddLocale=Add > -jsf.AddProjectMaintainer=Add Project Maintainer jsf.AddGroupMaintainer=Add Group Maintainer jsf.AddTeamMember=Add Team Member jsf.AdditionalInfo=Additional information @@ -109,32 +515,18 @@ jsf.AddSelected=Add Selected jsf.Administration=Administration jsf.AdminName=Administrator jsf.AlreadyInTeam=Already in Team -jsf.AlreadyInGroup=Already in Group -jsf.AndOthers=and others. jsf.AnotherUserChangedTheSameDataPleaseTryAgain=Another user changed the same data. Please try again. jsf.ApiKey=API Key -jsf.Approved=Approved jsf.AreYouSureYouWishToDisableThisLanguage=Are you sure you wish to disable this language? jsf.AreYouSureYouWishToEnableThisLanguage=Are you sure you wish to enable this language? jsf.AreYouSureYouWishToDeleteThisRoleThisActionCannotBeUndone=Are you sure you wish to delete this role? This action cannot be undone. jsf.AreYouSureYouWishToDeleteThisUserThisActionCannotBeUndone=Are you sure you wish to delete this user? This action cannot be undone. jsf.AreYouSureYouWishToDeleteThisLanguageThisActionCannotBeUndone=Are you sure you wish to delete this language? This action cannot be undone. -jsf.AreYouSureYouWishToRemoveThisPersonAsProjectMaintainer=Are you sure you wish to remove this person as project maintainer? jsf.AreYouSureYouWishToRemoveThisPersonAsGroupMaintainer=Are you sure you wish to remove this person as group maintainer? -jsf.AvailableLocales=Disabled Locales jsf.AvailableValidationOptions=Available validation options -jsf.Blog=Blog -jsf.ByWords=By Words -jsf.Message=By Message -jsf.Cancel=Cancel jsf.ChangePassword=Change Password jsf.UpdateEmail=Update email address jsf.ChangeYourGravatar=Change your avatar at gravatar.com -jsf.Close=Close -jsf.CopyrightYearInfo=2008-12 -jsf.ConfigFile=Config file -jsf.ConfigFileDefault=Default Config File -jsf.ConfigFileForOfflineTranslation=Offline Translation Config File jsf.Configuration=Configuration jsf.ConfigurationForZanataini=Configuration [zanata.ini] jsf.config.AdminEmail=Contact Admin Address @@ -158,32 +550,17 @@ jsf.ContactAdmin=Contact Admin jsf.contactLanguageTeamCoordinator=Contact Team Coordinators jsf.contactLanguageTeamCoordinatorForLocale=Contact '#{sendEmail.locale.localeId.id} (#{sendEmail.locale.retrieveNativeName()})' Language Team Coordinators jsf.CountryCode=Country Code -jsf.CreateANewProject=Create a New Project jsf.CreateNewGroup=Create New Group jsf.CreateNewUser=Create new user -jsf.CreateProject=Create project jsf.CreateRole=Create Role jsf.CreateSupportedLanguage=Add New Language -jsf.CreateVersion=Create Version -jsf.CreationDate=Creation Date jsf.ClickSendMessageToProceedRequest=Fill additional info and click 'Send Message' to proceed -jsf.customizedLocaleMessage=Would you like to add a customized list of locales? -jsf.customizedValidationMessage=Would you like to customized list of validations? -jsf.Active=Active jsf.ActiveVersions=Active versions -jsf.Delete=Delete -jsf.Description=Description jsf.DefinedValidationOptions=Defined validation options -jsf.Documentation=Documentation jsf.Disabled=Disable -jsf.DocumentCount=Documents: -jsf.Documents=Documents jsf.DuplicatedRecord=Duplicated record -jsf.Edit=Edit jsf.EditHelpPageContent= Edit Help Page Content jsf.EditProfile=Edit Profile -jsf.EditProject=Edit Project -jsf.EditVersion=Edit Version jsf.EditGroup=Edit Group jsf.email.admin.Administrator=Administrator jsf.email.admin.DearAdmin=Dear #{messages['jsf.email.admin.Administrator']}, @@ -227,7 +604,6 @@ jsf.email.ReplyInstructions=You can reply to #{sendEmail.fromName} at #{sendEmai jsf.email.Send=Send Message jsf.email.Subject=Subject jsf.email.EmailListToolTip=Email addresses should be separated by a single comma (,) -jsf.Email=Email jsf.email.passwordreset.DearName=Dear #{messages['jsf.email.passwordreset.Name']}, jsf.email.passwordreset.Name=#{passwordResetRequest.account.person.name} jsf.email.passwordreset.Subject=Zanata Reset Password Request @@ -268,14 +644,9 @@ jsf.EnabledByDefault=Enabled by default jsf.Entries=Entries jsf.Error=Error jsf.ErrorTitle=Current Errors: -jsf.FAQ=FAQ jsf.FedoraUsername=Fedora Username jsf.FirstExternalLoginMessage=Please verify the email address below and click Save to validate your email address. jsf.ForgotYourPassword=Forgot your password? -jsf.FoundResultsizeProjectsMatchingQuerySearchquery=Found #{projectSearch.resultSize} Projects matching query '#{projectSearch.searchQuery}' -jsf.GenerateProjectConfig=Generate project configuration file (zanata.xml) -jsf.GenerateProjectConfigSingleLocale=Generate project configuration file (zanata.xml) for this version with locale #{projectIterationFilesAction.localeId} -jsf.GenerateProjectConfigForOfflineTranslation=Generate project configuration file (zanata.xml) for this version with locale #{projectIterationFilesAction.localeId}, using special project type 'offlinepo' for use in offline translation of po files. jsf.Glossary=Glossary jsf.Glossary.SourceLocale.Title=Source locale (Only apply for PO file format) jsf.Glossary.TargetLocale.Title=Target locale (Only apply for PO file format) @@ -286,22 +657,16 @@ jsf.Glossary.CommentColumnNames.Title=Customized comment column headers for csv jsf.Glossary.TreatSourceCommentsAsTarget=Treat source comments and ref as target comments jsf.Glossary.TreatSourceCommentsAsTarget.Title=When checked, source comments and references will be used as target comments -jsf.group.FindGroup=Find Group -jsf.GroupName=Group Name jsf.GroupId=Group ID jsf.GroupIdExample=Example: my-group jsf.GroupMaintainers=Group Maintainers -jsf.Groups=Groups -jsf.Help=Help jsf.HelpUrl=Help URL jsf.HelpUrlToolTip=The help URL for the server (shown on welcome page and every page's header) jsf.Home=Home -jsf.HomepageContent=Homepage Content jsf.IAgreeToThe=I agree to the jsf.ImportJavaLocales=Import Java Locales jsf.InvalidActivationKey=Invalid activation key jsf.InactiveAccount=Inactive account -jsf.Version=Version jsf.identities.Title=Identities jsf.identities.AddIdentity=Add New Identity @@ -313,83 +678,22 @@ jsf.identities.Type=Type jsf.identities.User=Identity jsf.identities.Verify=Verify Identity -jsf.IrcHelp=IRC Help -jsf.iteration.ShowAllLocales.title=Your teams will be highlighted below. -jsf.iteration.CopyTrans=Copy Translations -jsf.iteration.CopyTrans.inProgress=Copy Trans in progress... + jsf.iteration.CopyTrans.noDocuments=Please add documents to this version first. jsf.iteration.CopyTrans.success=Translations copied successfully. -jsf.iteration.CopyTrans.estimatedTimeRemaining=Estimated Time Remaining: #{viewAllStatusAction.copyTransEstimatedTimeLeft} -jsf.iteration.CopyTrans.processedDocuments=Processed Documents: #{pHandle.documentsProcessed} of #{viewAllStatusAction.projectIteration.documents.size()} -jsf.iteration.CopyTrans.started=Started #{viewAllStatusAction.copyTransStartTime} ago by #{pHandle.triggeredBy} -jsf.iteration.CopyTrans.title=Copy approved translations from other similar documents. -jsf.iteration.CopyTrans.pageTitle=Copy Trans for #{viewAllStatusAction.projectSlug}:#{viewAllStatusAction.iterationSlug} -jsf.iteration.CopyTrans.Condition=Condition -jsf.iteration.CopyTrans.Action=Action -jsf.iteration.CopyTrans.Action.reject=Reject -jsf.iteration.CopyTrans.Action.ignore=Don't care -jsf.iteration.CopyTrans.Action.downgradeToFuzzy=Fuzzy -jsf.iteration.CopyTrans.Action.short.ignore=Don't care -jsf.iteration.CopyTrans.Action.short.downgradeToFuzzy=Needs Review -jsf.iteration.CopyTrans.AlreadyStarted=A Translation Copy has already been started by #{copyTransManager.getCopyTransProcessHandle( copyTransAction.projectIteration ).triggeredBy} for version #{copyTransAction.projectIteration.slug} of project #{copyTransAction.projectIteration.project.name}. jsf.iteration.CopyTrans.AlreadyStarted.flash=Someone else already started a translation copy for this version. -jsf.iteration.CopyTrans.Condition.onContentMismatch=On Content mismatch: -jsf.iteration.CopyTrans.Condition.onProjectMismatch=On Project mismatch: -jsf.iteration.CopyTrans.Condition.onContextMismatch=On Context mismatch (resId, msgctxt): -jsf.iteration.CopyTrans.Condition.onDocIdMismatch=On Document Id mismatch (Document name and path): -jsf.iteration.CopyTrans.Condition.final=Otherwise: -jsf.iteration.CopyTrans.Help.reject=Rejects the translation and does not copy it. -jsf.iteration.CopyTrans.Help.downgradeToFuzzy=The translation is still considered for reuse, but it will be reused as fuzzy. Subsequent conditions will be checked. -jsf.iteration.CopyTrans.Help.ignore=This condition will not be taken into account to determine whether a translation is reused or not. -jsf.iteration.CopyTrans.Help.approve=Translation will be reused and marked as Approved if it has not been rejected or marked as fuzzy already. jsf.iteration.CopyTrans.NoDocuments=There are no documents in this project version. jsf.iteration.CopyTrans.Started=Translation copy started. -jsf.iteration.files.ConfirmDocDeletion=Are you sure you want to remove this Source Document? -jsf.iteration.files.ConfirmDownloadAllFiles=Your download will be prepared and may take a few minutes to complete. Is this ok? + jsf.iteration.files.ContentType=Content Type jsf.iteration.files.DocumentDeleted=Document succesfully deleted. -jsf.iteration.files.DocumentPath=Document Path -jsf.iteration.files.dotofflinepo=offline .po -jsf.iteration.files.dotofflinepo.description=Special po format that uses msgctxt to store Zanata id. -jsf.iteration.files.dotofflinepo.purpose=This format is required by Zanata when uploading po translations for a document that was originally in a non-po format. -jsf.iteration.files.dotofflinepot=offline .pot -jsf.iteration.files.dotofflinepot.description=Special pot format that uses msgctxt to store Zanata id. -jsf.iteration.files.dotofflinepot.purpose=This is provided only for use during offline translation, source files should not be uploaded in this format. -jsf.iteration.files.dotpo=.po -jsf.iteration.files.dotpot=.pot -jsf.iteration.files.Download=Download -jsf.iteration.files.DownloadAllFiles=Download All Files (zip) -jsf.iteration.files.DownloadAllFiles.title=Download all translated files. -jsf.iteration.files.DownloadAllFilesOfflinePo=Download All Files (offline po zip) -jsf.iteration.files.DownloadAllFilesOfflinePo.title=Download all translated files in po format for offline translation. -jsf.iteration.files.DownloadAllFiles.ProjectTypeNotAllowed=The project type must be set to 'Gettext' or 'Podir'. Contact the project maintainer. -jsf.iteration.files.DownloadAllFiles.ProjectTypeNotSet=The project type for this iteration has not been set. Contact the project maintainer. -jsf.iteration.files.Filter.title=Filter by document name jsf.iteration.files.LocaleId=Locale Id -jsf.iteration.files.Merge=Merge -jsf.iteration.files.Merge.title=When checked, current data will merge with uploaded document. Otherwise data will be override by uploaded document. -jsf.iteration.files.MergeCheckbox.Title=When checked, updated translations will be written, leaving all others unchanged. -jsf.iteration.files.NoFiles=No Files Available -jsf.iteration.files.Path=Path -jsf.iteration.files.ProcessDlgTitle=Processing project files... -jsf.iteration.files.UploadDocument=Upload Document -jsf.iteration.files.UploadFile=Upload File -jsf.iteration.files.WhyCantITranslate=Why can't I translate? -jsf.iteration.files.translateDenied.NotLoggedIn=You are not logged In. -jsf.iteration.files.translateDenied.VersionIsReadOnly=This project version is Read-Only. -jsf.iteration.files.translateDenied.VersionIsObsolete=This project version is Obsolete. -jsf.iteration.files.translateDenied.UserNotInLanguageTeam=You are not part of the {0} language team. -jsf.iteration.files.translateDenied.UserNotInProjectRole=You must be part of these user roles to translate this project: {0} jsf.iteration.info.UserNotInLanguageTeam=You can only view this document because you are not part of the language team. jsf.iteration.info.UserNotInProjectRoles=You can only view this document because you are not part of the roles allowed for this project. jsf.iteration.info.Translate=Translate -jsf.iteration.stats.OpenInWebEditor=Open in Translation Editor jsf.JavaLocaleId=Java Locale Id jsf.JoinLanguageTeam=Join Language Team -jsf.JoinedGroups=Joined Groups -jsf.KnownIssues=Known issues -jsf.Language=Language jsf.language.validation.Existing=This language already exists jsf.language.validation.Invalid=Invalid Language Name @@ -402,11 +706,9 @@ jsf.language.manager.DisableByDefaultConfirmation=Are you sure you wish to Disab jsf.language.manager.EnableByDefaultConfirmation=Are you sure you wish to Enable this language by default? jsf.LanguageTeams=Language Teams -jsf.Languages=Languages jsf.LanguageCode=Language Code jsf.LatestProjects=Latest Projects jsf.LeaveLanguageTeam=Leave Language Team -jsf.LastTranslated=Last Translated jsf.login.internal=Username jsf.login.openid.SelectProvider=How are you logging in? @@ -420,8 +722,6 @@ jsf.MaintainedProjects=Maintained Projects jsf.ManageIdentities=Manage Identities jsf.ManageRoles=Manage Roles jsf.ManageLanguage=Manage Languages -jsf.ManageMaintainers=Manage Maintainers -jsf.ManageVersion=Manage Version jsf.ManageSearch=Manage Search jsf.manageSearch.AllActions=(all actions) jsf.manageSearch.AllTables=(all tables) @@ -459,39 +759,27 @@ jsf.manageSearch.optimize.TempFileWarning=Warning: this operation uses a temp fi jsf.ManageUsers=Manage Users -jsf.More=More jsf.Members=Members jsf.MemberOf=Member of jsf.Membership=Membership -jsf.ManufacturerInfo=Red Hat, Inc jsf.ServerMonitoring=Server Monitoring -jsf.MyProfile=My Profile -jsf.Name=Name jsf.CreateANewVersion=Create a New Version jsf.NameToolTip=The name should be first letter capitalized. jsf.NativeName=Native Name jsf.NeedReview=Need Review jsf.NewPassword=New Password -jsf.NoContent=(No Content) jsf.NoErrors=No errors jsf.NoLocaleExists=No locale exists. jsf.NoProjectExists=No project exists. jsf.NoGroupExists=No group exists. jsf.NoProjectVersionSelected=No project version selected. -jsf.NoResultToDisplay=No result to display. jsf.NoResultToDisplayProjectSearch=No results to display. Please check whether the desired project contains any versions. jsf.NoProject=No project. -jsf.NoMaintainersDefined=(No maintainers defined) jsf.NotGenerated=(Not generated) -jsf.ObsoleteVersions=Obsolete versions -jsf.Obsolete=Obsolete jsf.Officerships=Officerships jsf.OldPassword=Old Password jsf.Ownerships=Ownerships jsf.OverallStatistics=Overall Statistics -jsf.OnlyShowingFirstPagesizeResults=Only showing first #{projectSearch.pageSize} results. -jsf.pager.NextPage=next -jsf.pager.PreviousPage=prev jsf.Password=Password jsf.PleaseContactAdministrationToGetRegistrationLink=Please contact administration to get registration link. @@ -513,58 +801,29 @@ jsf.profile.MergeAccount.confirm=Do It jsf.profile.MergeAccount.confirmationMessage=You are about to merge in the following account:

Username: #{accountMergeAction.obsoleteAccount.username}
Name: #{accountMergeAction.obsoleteAccount.person.name}
Email: #{accountMergeAction.obsoleteAccount.person.email}

This change is permanent and cannot be taken back.

The account mentioned above will be inactivated and all of its permissions revoked. Your current account will inherit all these permissions.

Are you sure you want to do this? jsf.profile.MergeAccount.info=Log in to the account you want to merge. You will need to use one of the authentication methods offered below. You will be asked for further confirmation after this. -jsf.project.CopyTransOpts.linkTitle=Copy Trans Options jsf.project.CopyTransOpts.saved=Copy Trans options saved. -jsf.project.CopyTransOpts.title=Copy Trans Options -jsf.project.CopyTransOpts.tooltip=Set this project's default Copy Trans settings. -jsf.project.EditHomePage.label=Edit Page Code -jsf.project.EditHomePage.tooltip=Edit the Project's home page code as persisted. Useful when the home page cannot be edited via the project edit page. -jsf.project.ProjectRestrictedToFollowingRoles=This project has restricted access for the following User roles: -jsf.project.RoleRestrictions=Role Restrictions jsf.project.ViewIteration=View >> jsf.Project=Project -jsf.ProjectName=Project Name -jsf.ProjectMaintainers=Project Maintainers -jsf.Projects=Projects -jsf.projectType=Project Type -jsf.projectType.Description=Determines how the project is treated for upload and download by clients or through the website. -jsf.projectType.DefaultBehaviour=The default type will be applied to versions under this project that do not specify their own type. -jsf.projectType.NotSpecifiedBehaviour=If no project type is specified, the type from containing project is used. -jsf.projectType.MoreInfo=For more information, see https://github.com/zanata/zanata/wiki/Project-Types -jsf.projectType.NoSelection=-- No selection -- -jsf.ProjectId=Project ID -jsf.ProjectIdExample=Example: my-project -jsf.ProjectVersionId=Version ID jsf.register.LoginUsingOpenId=You can also login using Open Id Here. -jsf.ReportAProblem=Report problem jsf.RecordNotFound=Record not found -jsf.Refresh=Refresh -jsf.RefreshTable=Refresh table -jsf.Register=Register jsf.RegisterUrl=Register URL jsf.RegisterUrlExample=eg /zanata/account/register or http://example.com/register jsf.RegisterUrlToolTip=The user registration URL for the server jsf.ReindexingInProgress=Re-indexing... jsf.RememberMe=Remember me -jsf.Remove=Remove -jsf.RemoveLocale=< Remove jsf.RequestToJoinLanguageTeam=Request To Join Team jsf.RequestToJoinLanguageTeamTitle=Request To Join '#{sendEmail.locale.localeId.id}' Language Team -jsf.RequestToJoinVersionGroup=Request To Join Group jsf.ResetPassword=Reset Password jsf.ResetYourPassword=Reset Your Password -jsf.ReadOnly=Read-only -jsf.ReadOnlyVersions=Read-only versions jsf.Role=Role jsf.RoleDetails=Role Details jsf.RoleManager=Role Manager jsf.RoleAssignmentRules=Role Assignment Rules jsf.ResendActivationEmail=Resend activation email -jsf.RestrictRoleAccessMessage=Would you like to restrict access to this project to certain User roles? jsf.rolerules.ConfirmDelete=Are you sure you want to remove this rule? jsf.rolerules.CreateRoleAssignmentRule=Create Role Assignment Rule @@ -578,11 +837,6 @@ jsf.rolerules.PolicyName.tooltip=This is the authentication policy used by a use jsf.rolerules.RoleToAssign=Role to Assign jsf.rolerules.RoleToAssign.tooltip=This is the role that will be automatically assigned to the user upon login, only if the rule conditions are met. -jsf.RunningVersionInfo=version #{applicationConfiguration.version} (#{applicationConfiguration.buildTimestamp}). -jsf.Save=Save -jsf.Search=Search -jsf.SearchProjects=Search Projects -jsf.SelectedLocales=Enabled Locales jsf.SelectLocaleToDelete=Select locale to delete jsf.SelectProjectVersions=Select Project Versions jsf.server.EditHomePage.label=Edit Page Content @@ -592,23 +846,10 @@ jsf.server.EditHomePageCode.tooltip=Edit the home page code as persisted. Useful jsf.ServerConfiguration=Server Configuration jsf.ServerUrl=Server URL jsf.Script=Script -jsf.SignIn=Sign In -jsf.SignOut=Sign Out jsf.SignUp=Sign Up -jsf.SiteMap=Site map jsf.SizeMembers=#{languageTeamAction.locale.members.size} members jsf.Slug=Slug -jsf.SourceCheckoutUrl=Source Download/Checkout -jsf.SourceDocuments=Source Documents -jsf.SourceDocs=Source Docs -jsf.SourceUrlHumanReadableExample=Link to human-readable source, e.g. https://github.com/zanata/zanata -jsf.SourceUrlMachineReadableExample=URL for checkout of source by version control software, e.g. git@github.com:zanata/zanata.git -jsf.Start=Start -jsf.Statistics=Statistics -jsf.Status=Status jsf.SubmitRequest=Submit Request -jsf.Support=Support -jsf.SupportedUploadFormats=Supported types: .pot .dtd .txt .odt .fodt .odp .fodp .ods .fods .odg .fodg .odb .odf jsf.TeamMembers=Team Members jsf.TermsOfUse=Terms of Use jsf.ThisActionCannotBeUndone=This action cannot be undone @@ -619,37 +860,24 @@ jsf.TotalTextFlows=Total TextFlows jsf.TotalTextFlowTargets=Total TextFlow Targets jsf.TotalDocuments=Total Documents jsf.TotalWords=Total Words -jsf.Translate=Translate -jsf.TranslateLinks=Translate Links -jsf.TranslateGWTDevMode=Translate (GWT DevMode) jsf.UnexpectedErrorPleaseTryAgain=Unexpected error. Please try again. jsf.Untranslated=Untranslated -jsf.Upload=Upload -jsf.Upload.Title=Upload document to merge/override current translation -jsf.Update=Update jsf.UrlExample=e.g. http://example.com/zanata or http://zanata.example.com jsf.UrlExpireMessage=URL will expire after 24 hours. jsf.UrlToolTip=The base URL for the server, including the application context path (no final slash) jsf.UserManager.delete.constraintViolation.error=This user cannot be removed from the system. You can deactivate the user instead. -jsf.Username=Username jsf.UsernameToolTip=The username should be all in lower case. jsf.Variant=Variant jsf.View=View -jsf.viewSourceFiles=View source files -jsf.Open=Open -jsf.OpenGWTDevMode=Open (GWT DevMode) -jsf.project.search.IncludeObsoleteTooltip=Include Obsolete Projects in Search jsf.Warning=Warning -jsf.Wiki=Wiki jsf.YouDoNotHavePermissionToAccessThisResource=You do not have permission to access this resource. jsf.YouAreNoLongerMaintainerForThisProject=You are no longer a maintainer for this project. jsf.YourSessionHasTimedOutPleaseTryAgain=Your session has timed out. Please try again. jsf.YourCurrentApiKeyIs=Your current API key is jsf.YourLanguageMissing=Your language missing? -jsf.Zanata=Zanata jsf.ZanataAdministrator=Zanata Administrator jsf.ZanataMainTitle=#{messages['jsf.Zanata']} jsf.ZanataMainDescription=Zanata diff --git a/zanata-war/src/main/webapp/WEB-INF/layout/project_edit_form.xhtml b/zanata-war/src/main/webapp/WEB-INF/layout/project_edit_form.xhtml index 62b971d0ee..fe32d58cab 100644 --- a/zanata-war/src/main/webapp/WEB-INF/layout/project_edit_form.xhtml +++ b/zanata-war/src/main/webapp/WEB-INF/layout/project_edit_form.xhtml @@ -136,7 +136,7 @@ - + diff --git a/zanata-war/src/main/webapp/WEB-INF/layout/statsbar.xhtml b/zanata-war/src/main/webapp/WEB-INF/layout/statsbar.xhtml index 1cf629d590..9fe360b34a 100644 --- a/zanata-war/src/main/webapp/WEB-INF/layout/statsbar.xhtml +++ b/zanata-war/src/main/webapp/WEB-INF/layout/statsbar.xhtml @@ -8,30 +8,38 @@ - + - + -
+ + + +
- + ( - hrs) + #{messages['jsf.stats.ShortHoursSuffix']})
- +
diff --git a/zanata-war/src/main/webapp/iteration/copy_trans.xhtml b/zanata-war/src/main/webapp/iteration/copy_trans.xhtml index d326f288e9..ff69371fa9 100644 --- a/zanata-war/src/main/webapp/iteration/copy_trans.xhtml +++ b/zanata-war/src/main/webapp/iteration/copy_trans.xhtml @@ -66,7 +66,7 @@
- + diff --git a/zanata-war/src/main/webapp/iteration/files.xhtml b/zanata-war/src/main/webapp/iteration/files.xhtml index 9c8ece58b8..da39100fe5 100644 --- a/zanata-war/src/main/webapp/iteration/files.xhtml +++ b/zanata-war/src/main/webapp/iteration/files.xhtml @@ -34,7 +34,7 @@ - #{projectIterationFilesAction.projectSlug}:#{projectIterationFilesAction.iterationSlug} - Files + #{projectIterationFilesAction.projectSlug}:#{projectIterationFilesAction.iterationSlug} - #{messages['jsf.Documents']} (#{projectIterationFilesAction.localeId}) @@ -95,7 +95,7 @@ - + @@ -115,7 +115,7 @@
- + @@ -125,7 +125,7 @@ title="#{messages['jsf.OpenGWTDevMode']}" styleClass="table_link" value="#{request.contextPath}/webtrans/Application.seam?project=#{projectIterationFilesAction.projectSlug}&iteration=#{projectIterationFilesAction.iterationSlug}&localeId=#{projectIterationFilesAction.localeId}&locale=#{locale.language}#view:doc;doc:#{doc.docId}"> - +
@@ -137,7 +137,7 @@
- + @@ -157,7 +157,7 @@ - + @@ -167,7 +167,7 @@ title="#{messages['jsf.TranslateGWTDevMode']}" styleClass="table_link" value="#{request.contextPath}/webtrans/Application.seam?project=#{projectIterationFilesAction.projectSlug}&iteration=#{projectIterationFilesAction.iterationSlug}&localeId=#{projectIterationFilesAction.localeId}&locale=#{locale.language}#view:doc;doc:#{doc.docId}"> - + @@ -179,7 +179,7 @@ - + #{messages['jsf.iteration.files.Download']} @@ -221,7 +221,7 @@ - + #{messages['jsf.LastTranslated']} @@ -242,7 +242,7 @@ - #{projectIterationFilesAction.projectSlug}:#{projectIterationFilesAction.iterationSlug} - Files + #{projectIterationFilesAction.projectSlug}:#{projectIterationFilesAction.iterationSlug} - #{messages['jsf.SourceDocuments']} @@ -126,6 +126,9 @@ + + + - +
- +
+ + @@ -110,7 +112,7 @@ #{messages['jsf.LastTranslated']} - + @@ -242,7 +244,9 @@ - + diff --git a/zanata-war/src/main/webapp/project/home.xhtml b/zanata-war/src/main/webapp/project/home.xhtml index 1878021bcb..22b09efaee 100644 --- a/zanata-war/src/main/webapp/project/home.xhtml +++ b/zanata-war/src/main/webapp/project/home.xhtml @@ -9,7 +9,7 @@ xmlns:a4j="http://richfaces.org/a4j" template="../WEB-INF/layout/template.xhtml"> - Projects + #{messages['jsf.Projects']} @@ -29,7 +29,7 @@ - + @@ -66,36 +66,36 @@ - + - + - + - + - + - + - + #{messages['jsf.ProjectName']} - + @@ -119,13 +119,13 @@ - + #{messages['jsf.Status']} - + - Search Results for '#{projectSearch.searchQuery}' + #{messages['jsf.SearchResultsForProjectSearch']}

#{messages['jsf.FoundResultsizeProjectsMatchingQuerySearchquery']}

@@ -21,19 +21,19 @@
- Description + #{messages['jsf.Description']} - Creation Date + #{messages['jsf.CreationDate']} - + -

#{messages['OnlyShowingFirstPagesizeResults']}

+

#{messages['jsf.OnlyShowingFirstPagesizeResults']}

From 72cd64d12e645c33b23072883d9921a926c8789b Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 28 Mar 2013 16:43:50 +1000 Subject: [PATCH 02/28] WIP arrange strings for groups pages --- .../src/main/resources/messages.properties | 64 +++++++++++++------ .../layout/version_group_edit_form.xhtml | 2 +- .../WEB-INF/layout/version_group_join.xhtml | 4 +- .../src/main/webapp/version-group/edit.xhtml | 2 +- .../src/main/webapp/version-group/home.xhtml | 31 ++++----- .../webapp/version-group/version_group.xhtml | 22 +++---- 6 files changed, 72 insertions(+), 53 deletions(-) diff --git a/zanata-war/src/main/resources/messages.properties b/zanata-war/src/main/resources/messages.properties index 7da074ef68..b4781a1049 100644 --- a/zanata-war/src/main/resources/messages.properties +++ b/zanata-war/src/main/resources/messages.properties @@ -32,7 +32,6 @@ jsf.Remove=Remove jsf.Add=Add jsf.Close=Close -#FIXME change keys to indicate that these are project statuses ! project/version status jsf.Active=Active ! project/version status @@ -49,6 +48,15 @@ jsf.Upload=Upload jsf.Delete=Delete +#------ General Message-related ------ +#FIXME elaborate pages under which these strings are found +jsf.email.From=From +jsf.email.ReplyAddress=Reply to +jsf.email.ReplyAddress.description=(your email address) +jsf.email.Subject=Subject +jsf.AdditionalInfo=Additional information +jsf.email.Send=Send Message + #------ Main template (menus, footer and search on all pages) ------ @@ -322,12 +330,44 @@ jsf.iteration.files.translateDenied.UserNotInProjectRole=You must be part of the #------ [home] > Groups ------ +jsf.NoGroupExists=No group exists. +jsf.groups.ShowActiveGroups=Show active groups +jsf.groups.ShowObsoleteGroups=Show obsolete groups +jsf.CreateNewGroup=Create New Group + + + #------ [home] > Groups > Create New Group ------ #------ [home] > Groups > [group-id] Edit Group ------ +jsf.GroupId=Group ID +jsf.GroupIdExample=Example: my-group + + + #------ [home] > Groups > [group-id] ------ +jsf.AddProjectVersions=Add Project Versions +jsf.groups.FindProjectVersion=Find Project Version +jsf.NoResultToDisplayProjectSearch=No results to display. Please check whether the desired project contains any versions. +jsf.ManageSearch.SelectAll=Select All +jsf.AddSelected=Add Selected +jsf.EditGroup=Edit Group +jsf.GroupMaintainers=Group Maintainers + + +#------ [home] > Projects > [project-id] > [version-id] > [group-id] > Request To Join Group ------ #------ [home] > Groups > [group-id] > Request To Join Group ------ +jsf.NoProjects=No projects to display. +jsf.SelectProjectVersions=Select Project Versions +jsf.ClickSendMessageToProceedRequest=Enter additional information and click 'Send Message' to proceed +jsf.email.joingrouprequest.Subject=Request to join group '#{versionGroupJoinAction.group.name}' +jsf.email.joingrouprequest.AdditionalInfoMessage=To ensure your request is processed without delay, please provide any additional information that will help the group maintainers to process your request. + + #------ [home] > Languages ------ + + + #------ [home] > Languages > [locale-id] ------ #------ [home] > Languages > [locale-id] > Request To Join '[locale-id]' Language Team ------ #------ [home] > Languages > [locale-id] > Contact '[locale-id] ([language])' Language Team Coordinators ------ @@ -335,6 +375,7 @@ jsf.iteration.files.translateDenied.UserNotInProjectRole=You must be part of the #------ [home] > Help > Edit Help Page Content ------ #------ [home] > Help > Contact Admin ------ #------ [home] > Glossary ------ + #------ [home] > Administration ------ #------ [home] > Administration > Server Configuration ------ #------ [home] > Administration > Manage Users ------ @@ -348,6 +389,7 @@ jsf.iteration.files.translateDenied.UserNotInProjectRole=You must be part of the #------ [home] > Administration > Role Assignment Rules ------ #------ [home] > Administration > Role Assignment Rules > Create Role Assignment Rule ------ #------ [home] > Administration > Process Manager ------ + #------ [home] > Sign In ------ #------ [home] > Error ------ #------ [home] > My Profile ------ @@ -509,9 +551,6 @@ jsf.Account.ActivationMessage=You will soon receive an email with a link to acti jsf.ActivationLinkExpired=Activation link expired. Please sign in and click "#{messages['jsf.ResendActivationEmail']}". jsf.AddGroupMaintainer=Add Group Maintainer jsf.AddTeamMember=Add Team Member -jsf.AdditionalInfo=Additional information -jsf.AddProjectVersions=Add Project Versions -jsf.AddSelected=Add Selected jsf.Administration=Administration jsf.AdminName=Administrator jsf.AlreadyInTeam=Already in Team @@ -550,18 +589,15 @@ jsf.ContactAdmin=Contact Admin jsf.contactLanguageTeamCoordinator=Contact Team Coordinators jsf.contactLanguageTeamCoordinatorForLocale=Contact '#{sendEmail.locale.localeId.id} (#{sendEmail.locale.retrieveNativeName()})' Language Team Coordinators jsf.CountryCode=Country Code -jsf.CreateNewGroup=Create New Group jsf.CreateNewUser=Create new user jsf.CreateRole=Create Role jsf.CreateSupportedLanguage=Add New Language -jsf.ClickSendMessageToProceedRequest=Fill additional info and click 'Send Message' to proceed jsf.ActiveVersions=Active versions jsf.DefinedValidationOptions=Defined validation options jsf.Disabled=Disable jsf.DuplicatedRecord=Duplicated record jsf.EditHelpPageContent= Edit Help Page Content jsf.EditProfile=Edit Profile -jsf.EditGroup=Edit Group jsf.email.admin.Administrator=Administrator jsf.email.admin.DearAdmin=Dear #{messages['jsf.email.admin.Administrator']}, jsf.email.admin.SentNotification=Your message has been sent to the administrator @@ -579,13 +615,10 @@ jsf.email.coordinator.UserMessageIntro=Zanata user '#{sendEmail.fromName}' with jsf.email.coordinator.SentNotification=Your message has been sent to the #{sendEmail.locale.retrieveNativeName()} language team jsf.email.coordinator.ResponseInstructions=You can click the link below to go directly to the #{sendEmail.locale.localeId.id} Language Team Page. Please reply to #{sendEmail.fromName} at #{sendEmail.replyEmail} when you have finished processing their request. jsf.email.coordinator.ReceivedReason=You are coordinator in '#{sendEmail.locale.retrieveNativeName()}' language team -jsf.email.From=From jsf.email.GeneratedFromZanataServerAt=This message generated by Zanata running at: jsf.email.joinrequest.Subject=User '#{sendEmail.fromLoginName}' wants to join the '#{sendEmail.locale.localeId.id}' language team jsf.email.joingrouprequest.ResponseInstructions=Click the link below to go act on the request. Please reply to #{sendEmail.fromName} at #{sendEmail.replyEmail} when you have finished processing their request. -jsf.email.joingrouprequest.Subject=Request to join group '#{versionGroupJoinAction.group.name}' -jsf.email.joingrouprequest.AdditionalInfoMessage=To ensure your request is processed without delay, please provide any additional information that will help the group maintainers to process your request. jsf.email.joingrouprequest.RequestingToJoinGroup=Zanata user '#{sendEmail.fromName}' with id '#{sendEmail.fromLoginName}' is requesting his/her project(s) to be added to group '#{versionGroupJoinAction.group.name}'. @@ -598,11 +631,7 @@ jsf.email.group.maintainer.SentNotification=Your message has been sent to the gr jsf.email.group.maintainer.ReceivedReason=You are maintainer in group '#{versionGroupJoinAction.group.name}' jsf.email.MessageBody=Message -jsf.email.ReplyAddress=Reply to -jsf.email.ReplyAddress.description=(your email address) jsf.email.ReplyInstructions=You can reply to #{sendEmail.fromName} at #{sendEmail.replyEmail} -jsf.email.Send=Send Message -jsf.email.Subject=Subject jsf.email.EmailListToolTip=Email addresses should be separated by a single comma (,) jsf.email.passwordreset.DearName=Dear #{messages['jsf.email.passwordreset.Name']}, jsf.email.passwordreset.Name=#{passwordResetRequest.account.person.name} @@ -657,9 +686,6 @@ jsf.Glossary.CommentColumnNames.Title=Customized comment column headers for csv jsf.Glossary.TreatSourceCommentsAsTarget=Treat source comments and ref as target comments jsf.Glossary.TreatSourceCommentsAsTarget.Title=When checked, source comments and references will be used as target comments -jsf.GroupId=Group ID -jsf.GroupIdExample=Example: my-group -jsf.GroupMaintainers=Group Maintainers jsf.HelpUrl=Help URL jsf.HelpUrlToolTip=The help URL for the server (shown on welcome page and every page's header) jsf.Home=Home @@ -726,7 +752,6 @@ jsf.ManageSearch=Manage Search jsf.manageSearch.AllActions=(all actions) jsf.manageSearch.AllTables=(all tables) jsf.manageSearch.Table=Table -jsf.ManageSearch.SelectAll=Select All jsf.ManageSearch.SelectNone=Clear Selection jsf.ManageSearch.PerformSelectedActions=Perform Selected Actions jsf.ManageSearch.CurrentProgress=Current Progress @@ -771,9 +796,7 @@ jsf.NewPassword=New Password jsf.NoErrors=No errors jsf.NoLocaleExists=No locale exists. jsf.NoProjectExists=No project exists. -jsf.NoGroupExists=No group exists. jsf.NoProjectVersionSelected=No project version selected. -jsf.NoResultToDisplayProjectSearch=No results to display. Please check whether the desired project contains any versions. jsf.NoProject=No project. jsf.NotGenerated=(Not generated) jsf.Officerships=Officerships @@ -838,7 +861,6 @@ jsf.rolerules.RoleToAssign=Role to Assign jsf.rolerules.RoleToAssign.tooltip=This is the role that will be automatically assigned to the user upon login, only if the rule conditions are met. jsf.SelectLocaleToDelete=Select locale to delete -jsf.SelectProjectVersions=Select Project Versions jsf.server.EditHomePage.label=Edit Page Content jsf.server.EditHomePageCode.label=Edit Page Code jsf.server.EditHomePageCode.tooltip=Edit the home page code as persisted. Useful when the home page cannot be edited via the edit page. diff --git a/zanata-war/src/main/webapp/WEB-INF/layout/version_group_edit_form.xhtml b/zanata-war/src/main/webapp/WEB-INF/layout/version_group_edit_form.xhtml index f66696d0f7..320258b68b 100644 --- a/zanata-war/src/main/webapp/WEB-INF/layout/version_group_edit_form.xhtml +++ b/zanata-war/src/main/webapp/WEB-INF/layout/version_group_edit_form.xhtml @@ -37,7 +37,7 @@ - + #{messages['jsf.Status']} diff --git a/zanata-war/src/main/webapp/WEB-INF/layout/version_group_join.xhtml b/zanata-war/src/main/webapp/WEB-INF/layout/version_group_join.xhtml index 6b37890d01..1fd696d2cf 100644 --- a/zanata-war/src/main/webapp/WEB-INF/layout/version_group_join.xhtml +++ b/zanata-war/src/main/webapp/WEB-INF/layout/version_group_join.xhtml @@ -23,7 +23,7 @@ #{messages['jsf.Actions']} - + @@ -52,7 +52,7 @@ #{messages['jsf.AdditionalInfo']} - + #{messages['jsf.email.joingrouprequest.AdditionalInfoMessage']} diff --git a/zanata-war/src/main/webapp/version-group/edit.xhtml b/zanata-war/src/main/webapp/version-group/edit.xhtml index 1f9cc994d7..9401fb3674 100644 --- a/zanata-war/src/main/webapp/version-group/edit.xhtml +++ b/zanata-war/src/main/webapp/version-group/edit.xhtml @@ -8,7 +8,7 @@ xmlns:rich="http://richfaces.org/rich" template="../WEB-INF/layout/template.xhtml"> -#{messages['jsf.Groups']}:#{versionGroupHome.instance.name} - Edit +#{messages['jsf.Groups']}:#{versionGroupHome.instance.name} - #{messages['jsf.Edit']} diff --git a/zanata-war/src/main/webapp/version-group/home.xhtml b/zanata-war/src/main/webapp/version-group/home.xhtml index 103f7aabfd..e3e9eaf623 100644 --- a/zanata-war/src/main/webapp/version-group/home.xhtml +++ b/zanata-war/src/main/webapp/version-group/home.xhtml @@ -8,9 +8,8 @@ xmlns:s="http://jboss.com/products/seam/taglib" template="../WEB-INF/layout/template.xhtml"> - #{messages['jsf.Groups']} - + #{messages['jsf.Actions']} @@ -20,38 +19,36 @@ value="#{messages['jsf.CreateNewGroup']}" /> - + - + - + #{messages['jsf.Groups']} - + - + - + - + - + - - - + @@ -74,7 +71,7 @@ view="/version-group/version_group.xhtml" rendered="#{group.status == 'OBSOLETE'}">
- + #{messages['jsf.Description']} @@ -86,15 +83,15 @@
- + #{messages['jsf.Status']} - + - + diff --git a/zanata-war/src/main/webapp/version-group/version_group.xhtml b/zanata-war/src/main/webapp/version-group/version_group.xhtml index 36febad6ad..1479d313b7 100644 --- a/zanata-war/src/main/webapp/version-group/version_group.xhtml +++ b/zanata-war/src/main/webapp/version-group/version_group.xhtml @@ -8,13 +8,13 @@ xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j" template="../WEB-INF/layout/template.xhtml"> - + #{messages['jsf.Groups']}:#{versionGroupHome.instance.name} - + - - + + -

Find Project Version

+

#{messages['jsf.groups.FindProjectVersion']}

@@ -102,7 +102,7 @@ value="#{messages['jsf.Search']}" action="#{versionGroupAction.searchProjectAndVersion}" reRender="searchResults" /> - + @@ -125,13 +125,13 @@ - + - + @@ -149,5 +149,5 @@ - + \ No newline at end of file From 59bfb9e4ff8c08f7f8271d9b6784f8f537102942 Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 28 Mar 2013 16:44:59 +1000 Subject: [PATCH 03/28] WIP comments on some strings that are not localized --- .../src/main/java/org/zanata/action/ViewAllStatusAction.java | 3 +++ .../java/org/zanata/service/impl/ConfigurationServiceImpl.java | 2 ++ 2 files changed, 5 insertions(+) diff --git a/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java b/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java index 3830ea97aa..110f748bf6 100644 --- a/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java +++ b/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java @@ -400,6 +400,9 @@ public String getCopyTransEstimatedTimeLeft() return formatTimePeriod(handle.getEstimatedTimeRemaining()); } + // FIXME this is not localizable + // Define 4 UI strings: completed by you, canceled by you, completed by [username], canceled by [username] + // OR define UI strings for each of completed/canceled, and another for 'you' public String getCopyTransStatusMessage() { if (!isCopyTransRunning()) diff --git a/zanata-war/src/main/java/org/zanata/service/impl/ConfigurationServiceImpl.java b/zanata-war/src/main/java/org/zanata/service/impl/ConfigurationServiceImpl.java index 17e57d241b..08fff6f0f7 100644 --- a/zanata-war/src/main/java/org/zanata/service/impl/ConfigurationServiceImpl.java +++ b/zanata-war/src/main/java/org/zanata/service/impl/ConfigurationServiceImpl.java @@ -88,6 +88,7 @@ public String getConfigurationFileContents(String projectSlug, String iterationS var.append(" ").append(iterationSlug).append("\n"); if (useOfflinePo) { + // FIXME this comment could be localized var.append(" \n") @@ -97,6 +98,7 @@ else if ( projectType != null ) { if( projectType == ProjectType.Gettext ) { + // FIXME this comment could be localized var.append(" \n"); var.append(" ").append(ProjectType.Podir.toString().toLowerCase()).append("\n"); } From e2e105b962056819d80c619a8c4ba6dde2429ece Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 28 Mar 2013 17:24:20 +1000 Subject: [PATCH 04/28] WIP organizing language pages strings, yet to do contact language team coordinators page --- .../org/zanata/action/LanguageTeamAction.java | 1 + .../src/main/resources/messages.properties | 43 +++++++++++++------ .../src/main/webapp/language/home.xhtml | 2 +- .../src/main/webapp/language/language.xhtml | 6 +-- .../webapp/language/request_to_join.xhtml | 12 +++--- 5 files changed, 40 insertions(+), 24 deletions(-) diff --git a/zanata-war/src/main/java/org/zanata/action/LanguageTeamAction.java b/zanata-war/src/main/java/org/zanata/action/LanguageTeamAction.java index e791358f4b..4cd084b446 100644 --- a/zanata-war/src/main/java/org/zanata/action/LanguageTeamAction.java +++ b/zanata-war/src/main/java/org/zanata/action/LanguageTeamAction.java @@ -135,6 +135,7 @@ public void joinTribe() languageTeamServiceImpl.joinLanguageTeam(this.language, authenticatedAccount.getPerson().getId()); Events.instance().raiseEvent("personJoinedTribe"); log.info("{0} joined tribe {1}", authenticatedAccount.getUsername(), this.language); + // FIXME use localizable string FacesMessages.instance().add("You are now a member of the {0} language team", getLocale().retrieveNativeName()); } catch (Exception e) diff --git a/zanata-war/src/main/resources/messages.properties b/zanata-war/src/main/resources/messages.properties index b4781a1049..8d5c16dca4 100644 --- a/zanata-war/src/main/resources/messages.properties +++ b/zanata-war/src/main/resources/messages.properties @@ -365,12 +365,41 @@ jsf.email.joingrouprequest.AdditionalInfoMessage=To ensure your request is proce #------ [home] > Languages ------ +jsf.CreateSupportedLanguage=Add New Language +! label for language names written in their own script and using the language's native name +jsf.NativeName=Native Name +jsf.Members=Members #------ [home] > Languages > [locale-id] ------ +jsf.LanguageTeamTitle=#{languageTeamAction.locale.retrieveDisplayName()} Team +! number of translators who are members of this language team +jsf.SizeMembers=#{languageTeamAction.locale.members.size} members +jsf.Coordinator=Coordinator +jsf.JoinLanguageTeam=Join Language Team +jsf.LeaveLanguageTeam=Leave Language Team +jsf.RequestToJoinLanguageTeam=Request To Join Team +jsf.contactLanguageTeamCoordinator=Contact Team Coordinators +jsf.AddTeamMember=Add Team Member +jsf.FindUsersToAdd=Find Users To Add +jsf.Searching=Searching... +jsf.AlreadyInTeam=Already in Team + + + #------ [home] > Languages > [locale-id] > Request To Join '[locale-id]' Language Team ------ +jsf.RequestToJoinLanguageTeamTitle=Request To Join '#{sendEmail.locale.localeId.id}' Language Team +jsf.email.joinrequest.Subject=User '#{sendEmail.fromLoginName}' wants to join the '#{sendEmail.locale.localeId.id}' language team +jsf.email.joinrequest.AdditionalInfoMessage=To ensure your request is processed without delay, please provide any additional information that will help the team coordinators identify you and process your request. + + + #------ [home] > Languages > [locale-id] > Contact '[locale-id] ([language])' Language Team Coordinators ------ + + + + #------ [home] > Help ------ #------ [home] > Help > Edit Help Page Content ------ #------ [home] > Help > Contact Admin ------ @@ -550,10 +579,8 @@ jsf.AccountEnabled=Account enabled jsf.Account.ActivationMessage=You will soon receive an email with a link to activate your account. jsf.ActivationLinkExpired=Activation link expired. Please sign in and click "#{messages['jsf.ResendActivationEmail']}". jsf.AddGroupMaintainer=Add Group Maintainer -jsf.AddTeamMember=Add Team Member jsf.Administration=Administration jsf.AdminName=Administrator -jsf.AlreadyInTeam=Already in Team jsf.AnotherUserChangedTheSameDataPleaseTryAgain=Another user changed the same data. Please try again. jsf.ApiKey=API Key jsf.AreYouSureYouWishToDisableThisLanguage=Are you sure you wish to disable this language? @@ -584,14 +611,11 @@ jsf.config.Piwiktooltip=Piwik analytic tools URL. i.e. http://localhost/piwik jsf.config.PiwikIdSite=Piwik Id jsf.config.PiwikIdSitetooltip=Website Id in Piwik jsf.ConfirmPassword=Confirm Password -jsf.Coordinator=Coordinator jsf.ContactAdmin=Contact Admin -jsf.contactLanguageTeamCoordinator=Contact Team Coordinators jsf.contactLanguageTeamCoordinatorForLocale=Contact '#{sendEmail.locale.localeId.id} (#{sendEmail.locale.retrieveNativeName()})' Language Team Coordinators jsf.CountryCode=Country Code jsf.CreateNewUser=Create new user jsf.CreateRole=Create Role -jsf.CreateSupportedLanguage=Add New Language jsf.ActiveVersions=Active versions jsf.DefinedValidationOptions=Defined validation options jsf.Disabled=Disable @@ -616,7 +640,6 @@ jsf.email.coordinator.SentNotification=Your message has been sent to the #{sendE jsf.email.coordinator.ResponseInstructions=You can click the link below to go directly to the #{sendEmail.locale.localeId.id} Language Team Page. Please reply to #{sendEmail.fromName} at #{sendEmail.replyEmail} when you have finished processing their request. jsf.email.coordinator.ReceivedReason=You are coordinator in '#{sendEmail.locale.retrieveNativeName()}' language team jsf.email.GeneratedFromZanataServerAt=This message generated by Zanata running at: -jsf.email.joinrequest.Subject=User '#{sendEmail.fromLoginName}' wants to join the '#{sendEmail.locale.localeId.id}' language team jsf.email.joingrouprequest.ResponseInstructions=Click the link below to go act on the request. Please reply to #{sendEmail.fromName} at #{sendEmail.replyEmail} when you have finished processing their request. jsf.email.joingrouprequest.RequestingToJoinGroup=Zanata user '#{sendEmail.fromName}' with id '#{sendEmail.fromLoginName}' is requesting his/her project(s) to be added to group '#{versionGroupJoinAction.group.name}'. @@ -625,7 +648,6 @@ jsf.email.joingrouprequest.RequestingToJoinGroup=Zanata user '#{sendEmail.fromNa jsf.email.joinrequest.UserRequestingToJoin=Zanata user '#{sendEmail.fromName}' with id '#{sendEmail.fromLoginName}' is requesting to join the #{sendEmail.locale.localeId.id} (#{sendEmail.locale.retrieveNativeName()}) Language Team. jsf.email.joinrequest.UserMessageIntro=#{sendEmail.fromName} has included the following message with their request: jsf.email.joinrequest.AddUserInstructions=You can add #{sendEmail.fromName} to the #{sendEmail.locale.localeId.id} team using the "#{messages['jsf.AddTeamMember']}" action on the language team page and searching for '#{sendEmail.fromLoginName}'. -jsf.email.joinrequest.AdditionalInfoMessage=To ensure your request is processed without delay, please provide any additional information that will help the team coordinators identify you and process your request. jsf.email.group.maintainer.SentNotification=Your message has been sent to the group #{versionGroupJoinAction.group.name} maintainer jsf.email.group.maintainer.ReceivedReason=You are maintainer in group '#{versionGroupJoinAction.group.name}' @@ -719,7 +741,6 @@ jsf.iteration.info.UserNotInProjectRoles=You can only view this document because jsf.iteration.info.Translate=Translate jsf.JavaLocaleId=Java Locale Id -jsf.JoinLanguageTeam=Join Language Team jsf.language.validation.Existing=This language already exists jsf.language.validation.Invalid=Invalid Language Name @@ -734,7 +755,6 @@ jsf.language.manager.EnableByDefaultConfirmation=Are you sure you wish to Enable jsf.LanguageTeams=Language Teams jsf.LanguageCode=Language Code jsf.LatestProjects=Latest Projects -jsf.LeaveLanguageTeam=Leave Language Team jsf.login.internal=Username jsf.login.openid.SelectProvider=How are you logging in? @@ -784,13 +804,11 @@ jsf.manageSearch.optimize.TempFileWarning=Warning: this operation uses a temp fi jsf.ManageUsers=Manage Users -jsf.Members=Members jsf.MemberOf=Member of jsf.Membership=Membership jsf.ServerMonitoring=Server Monitoring jsf.CreateANewVersion=Create a New Version jsf.NameToolTip=The name should be first letter capitalized. -jsf.NativeName=Native Name jsf.NeedReview=Need Review jsf.NewPassword=New Password jsf.NoErrors=No errors @@ -837,8 +855,6 @@ jsf.RegisterUrlExample=eg /zanata/account/register or http://example.com/registe jsf.RegisterUrlToolTip=The user registration URL for the server jsf.ReindexingInProgress=Re-indexing... jsf.RememberMe=Remember me -jsf.RequestToJoinLanguageTeam=Request To Join Team -jsf.RequestToJoinLanguageTeamTitle=Request To Join '#{sendEmail.locale.localeId.id}' Language Team jsf.ResetPassword=Reset Password jsf.ResetYourPassword=Reset Your Password jsf.Role=Role @@ -869,7 +885,6 @@ jsf.ServerConfiguration=Server Configuration jsf.ServerUrl=Server URL jsf.Script=Script jsf.SignUp=Sign Up -jsf.SizeMembers=#{languageTeamAction.locale.members.size} members jsf.Slug=Slug jsf.SubmitRequest=Submit Request jsf.TeamMembers=Team Members diff --git a/zanata-war/src/main/webapp/language/home.xhtml b/zanata-war/src/main/webapp/language/home.xhtml index b580d3ca34..e5745a7d18 100644 --- a/zanata-war/src/main/webapp/language/home.xhtml +++ b/zanata-war/src/main/webapp/language/home.xhtml @@ -8,7 +8,7 @@ xmlns:rich="http://richfaces.org/rich" template="../WEB-INF/layout/template.xhtml"> - Languages + #{messages['jsf.Languages'] #{messages['jsf.Actions']} diff --git a/zanata-war/src/main/webapp/language/language.xhtml b/zanata-war/src/main/webapp/language/language.xhtml index 9c393afa55..4a6d25b38a 100644 --- a/zanata-war/src/main/webapp/language/language.xhtml +++ b/zanata-war/src/main/webapp/language/language.xhtml @@ -9,7 +9,7 @@ xmlns:a4j="http://richfaces.org/a4j" template="../WEB-INF/layout/template.xhtml"> - #{languageTeamAction.locale.retrieveDisplayName()} Team + #{messages['jsf.LanguageTeamTitle']} + - - + + - - - + + + - - - + + #{messages['jsf.Email']} @@ -65,7 +64,7 @@

- +