Updated Japanese translation
diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd
index ee20254..d4e5620 100644
--- a/docs/04_releases.mkd
+++ b/docs/04_releases.mkd
@@ -11,6 +11,7 @@
 #### changes

 

 - IUserService interface has changed to better accomodate custom authentication and/or custom authorization

+- Updated Japanese translation (Github/zakki)

 

 #### additions

 

diff --git a/src/com/gitblit/wicket/GitBlitWebApp_ja.properties b/src/com/gitblit/wicket/GitBlitWebApp_ja.properties
index d73b37e..3ca4d69 100755
--- a/src/com/gitblit/wicket/GitBlitWebApp_ja.properties
+++ b/src/com/gitblit/wicket/GitBlitWebApp_ja.properties
@@ -15,11 +15,11 @@
 gb.raw = raw

 gb.object = object

 gb.ticketId = \u30c1\u30b1\u30c3\u30c8ID

-gb.ticketAssigned = assigned

-gb.ticketOpenDate = open date

-gb.ticketState = state

-gb.ticketComments = comments

-gb.view = view

+gb.ticketAssigned = \u5272\u308a\u5f53\u3066\u6e08\u307f

+gb.ticketOpenDate = \u30aa\u30fc\u30d7\u30f3\u65e5

+gb.ticketState = \u72b6\u614b

+gb.ticketComments = \u30b3\u30e1\u30f3\u30c8

+gb.view = \u898b\u308b

 gb.local = \u30ed\u30fc\u30ab\u30eb

 gb.remote = \u30ea\u30e2\u30fc\u30c8

 gb.branches = \u30d6\u30e9\u30f3\u30c1

@@ -105,7 +105,7 @@
 gb.isFederated = is federated

 gb.federateThis = federate this repository

 gb.federateOrigin = federate the origin

-gb.excludeFromFederation = exclude from federation

+gb.excludeFromFederation = \u30d5\u30a7\u30c7\u30ec\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u9664\u5916\u3059\u308b

 gb.excludeFromFederationDescription = block federated Gitblit instances from pulling this account

 gb.tokens = federation tokens

 gb.tokenAllDescription = all repositories, users, & settings

@@ -131,9 +131,9 @@
 gb.sendProposal = propose

 gb.status = status

 gb.origin = origin

-gb.headRef = default branch (HEAD) 

+gb.headRef = \u30c7\u30d5\u30a9\u30eb\u30c8\u30d6\u30e9\u30f3\u30c1 (HEAD) 

 gb.headRefDescription = HEAD \u306e\u30ea\u30f3\u30af\u5148 ref \u3092\u5909\u66f4\u3059\u308b e.g. refs/heads/master

-gb.federationStrategy = federation strategy

+gb.federationStrategy = \u30d5\u30a7\u30c7\u30ec\u30fc\u30b7\u30e7\u30f3\u6226\u7565

 gb.federationRegistration = federation registration

 gb.federationResults = federation pull results

 gb.federationSets = federation sets

@@ -142,14 +142,14 @@
 gb.destinationUrl = send to

 gb.destinationUrlDescription = the url of the Gitblit instance to send your proposal

 gb.users = \u30e6\u30fc\u30b6\u30fc

-gb.federation = federation

-gb.error = error

-gb.refresh = refresh

-gb.browse = browse

+gb.federation = \u30d5\u30a7\u30c7\u30ec\u30fc\u30b7\u30e7\u30f3

+gb.error = \u30a8\u30e9\u30fc

+gb.refresh = \u66f4\u65b0

+gb.browse = \u95b2\u89a7

 gb.clone = clone

-gb.filter = filter

+gb.filter = \u30d5\u30a3\u30eb\u30bf\u30fc

 gb.create = \u4f5c\u6210

-gb.servers = servers

+gb.servers = \u30b5\u30fc\u30d0\u30fc

 gb.recent = recent

 gb.available = available

 gb.selected = selected

@@ -159,30 +159,30 @@
 gb.starting = starting

 gb.general = \u4e00\u822c

 gb.settings = \u8a2d\u5b9a

-gb.manage = manage

+gb.manage = \u7ba1\u7406

 gb.lastLogin = last login

 gb.skipSizeCalculation = \u30b5\u30a4\u30ba\u8a08\u7b97\u3092\u30b9\u30ad\u30c3\u30d7

 gb.skipSizeCalculationDescription = \u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30b5\u30a4\u30ba\u3092\u8a08\u7b97\u3057\u306a\u3044 (\u30da\u30fc\u30b8\u306e\u30ed\u30fc\u30c9\u6642\u9593\u3092\u524a\u6e1b)

 gb.skipSummaryMetrics = \u6982\u8981\u3067\u306e\u6307\u6a19\u3092\u30b9\u30ad\u30c3\u30d7

 gb.skipSummaryMetricsDescription = \u6982\u8981\u30da\u30fc\u30b8\u3067\u6307\u6a19\u3092\u8a08\u7b97\u3057\u306a\u3044 (\u30da\u30fc\u30b8\u306e\u30ed\u30fc\u30c9\u6642\u9593\u3092\u524a\u6e1b)

 gb.accessLevel = \u30a2\u30af\u30bb\u30b9\u30ec\u30d9\u30eb 

-gb.default = default

-gb.setDefault = set default

+gb.default = \u30c7\u30d5\u30a9\u30eb\u30c8

+gb.setDefault = \u30c7\u30d5\u30a9\u30eb\u30c8\u306b\u8a2d\u5b9a

 gb.since = since

 gb.status = status

 gb.bootDate = boot date

-gb.servletContainer = servlet container

-gb.heapMaximum = maximum heap

-gb.heapAllocated = allocated heap

-gb.heapUsed = used heap

+gb.servletContainer = \u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30b3\u30f3\u30c6\u30ca

+gb.heapMaximum = \u6700\u5927\u30d2\u30fc\u30d7

+gb.heapAllocated = \u78ba\u4fdd\u6e08\u307f\u30d2\u30fc\u30d7

+gb.heapUsed = \u4f7f\u7528\u30d2\u30fc\u30d7

 gb.free = free

-gb.version = version

-gb.releaseDate = release date

+gb.version = \u30d0\u30fc\u30b8\u30e7\u30f3

+gb.releaseDate = \u30ea\u30ea\u30fc\u30b9\u65e5

 gb.date = date

 gb.activity = \u6d3b\u52d5

-gb.subscribe = subscribe

-gb.branch = branch

-gb.maxHits = max hits

+gb.subscribe = \u8cfc\u8aad

+gb.branch = \u30d6\u30e9\u30f3\u30c1

+gb.maxHits = \u6700\u5927\u30d2\u30c3\u30c8\u6570

 gb.recentActivity = \u6700\u8fd1\u306e\u6d3b\u52d5

 gb.recentActivityStats = \u3053\u3053 {0} \u65e5\u9593 / {2} \u4eba\u306e\u4f5c\u8005\u304b\u3089 {1} \u30b3\u30df\u30c3\u30c8

 gb.recentActivityNone = \u3053\u3053 {0} \u65e5\u9593 / \u306a\u3057

@@ -193,7 +193,7 @@
 gb.teams = \u30c1\u30fc\u30e0

 gb.teamName = \u30c1\u30fc\u30e0\u540d

 gb.teamMembers = \u30c1\u30fc\u30e0\u30e1\u30f3\u30d0\u30fc

-gb.teamMemberships = team memberships

+gb.teamMemberships = \u30c1\u30fc\u30e0

 gb.newTeam = \u30c1\u30fc\u30e0\u4f5c\u6210

 gb.permittedTeams = \u8a31\u53ef\u3055\u308c\u305f\u30c1\u30fc\u30e0

 gb.emptyRepository = \u7a7a\u306e\u30ea\u30dd\u30b8\u30c8\u30ea

@@ -208,61 +208,61 @@
 gb.filters = \u30d5\u30a3\u30eb\u30bf\u30fc

 gb.generalDescription = \u4e00\u822c\u7684\u306a\u8a2d\u5b9a

 gb.accessPermissionsDescription = \u30e6\u30fc\u30b6\u30fc\u3068\u30c1\u30fc\u30e0\u3067\u30a2\u30af\u30bb\u30b9\u3092\u5236\u9650\u3059\u308b

-gb.accessPermissionsForUserDescription = \u30c1\u30fc\u30e0\u30e1\u30f3\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u3001\u7279\u5b9a\u306e\u5236\u9650\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b

-gb.accessPermissionsForTeamDescription = set team members and grant access to specific restricted repositories

+gb.accessPermissionsForUserDescription = \u30c1\u30fc\u30e0\u3092\u8a2d\u5b9a\u3059\u308b\u3001\u7279\u5b9a\u306e\u5236\u9650\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b

+gb.accessPermissionsForTeamDescription = \u30c1\u30fc\u30e0\u30e1\u30f3\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u3001\u7279\u5b9a\u306e\u5236\u9650\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b

 gb.federationRepositoryDescription = \u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4ed6\u306e Gitblit \u30b5\u30fc\u30d0\u30fc\u3068\u5171\u6709\u3059\u308b

 gb.hookScriptsDescription = \u3053\u306e Gitblit \u30b5\u30fc\u30d0\u30fc\u306b push \u3055\u308c\u305f\u6642\u306b Groovy \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3059\u308b

 gb.reset = \u30ea\u30bb\u30c3\u30c8

 gb.pages = \u30da\u30fc\u30b8

 gb.workingCopy = \u4f5c\u696d\u30b3\u30d4\u30fc

 gb.workingCopyWarning = \u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u306f\u4f5c\u696d\u30b3\u30d4\u30fc\u304c\u3042\u308b\u305f\u3081 push \u3067\u304d\u307e\u305b\u3093

-gb.query = query

-gb.queryHelp = Standard query syntax is supported.<p/><p/>Please see <a target="_new" href="http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/queryparsersyntax.html">Lucene Query Parser Syntax</a> for details.

+gb.query = \u30af\u30a8\u30ea\u30fc

+gb.queryHelp = \u6a19\u6e96\u7684\u306a\u30af\u30a8\u30ea\u30fc\u66f8\u5f0f\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<p/><p/>\u8a73\u7d30\u306f <a target="_new" href="http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/queryparsersyntax.html">Lucene Query Parser Syntax</a> \u3092\u53c2\u7167\u3057\u3066\u4e0b\u3055\u3044\u3002

 gb.queryResults = results {0} - {1} ({2} hits)

 gb.noHits = no hits

 gb.authored = authored

 gb.committed = committed

-gb.indexedBranches = indexed branches

-gb.indexedBranchesDescription = select the branches to include in your Lucene index

-gb.noIndexedRepositoriesWarning = none of your repositories are configured for Lucene indexing

-gb.undefinedQueryWarning = query is undefined!

-gb.noSelectedRepositoriesWarning = please select one or more repositories!

-gb.luceneDisabled = Lucene indexing is disabled

-gb.failedtoRead = Failed to read

+gb.indexedBranches = \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3059\u308b\u30d6\u30e9\u30f3\u30c1

+gb.indexedBranchesDescription = Lucene \u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3059\u308b\u30d6\u30e9\u30f3\u30c1\u3092\u9078\u629e

+gb.noIndexedRepositoriesWarning = Lucene \u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u30ea\u30dd\u30b8\u30c8\u30ea\u304c\u3042\u308a\u307e\u305b\u3093

+gb.undefinedQueryWarning = \u30af\u30a8\u30ea\u30fc\u304c\u672a\u5b9a\u7fa9\u3067\u3059!

+gb.noSelectedRepositoriesWarning = \u3072\u3068\u3064\u4ee5\u4e0a\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044!

+gb.luceneDisabled = Lucene \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059

+gb.failedtoRead = \u8aad\u307f\u8fbc\u307f\u5931\u6557

 gb.isNotValidFile = is not a valid file

-gb.failedToReadMessage = Failed to read default message from {0}!

-gb.passwordsDoNotMatch = Passwords do not match!

-gb.passwordTooShort = Password is too short. Minimum length is {0} characters.

-gb.passwordChanged = Password successfully changed.

-gb.passwordChangeAborted = Password change aborted.

-gb.pleaseSetRepositoryName = Please set repository name!

-gb.illegalLeadingSlash = Leading root folder references (/) are prohibited.

-gb.illegalRelativeSlash = Relative folder references (../) are prohibited.

-gb.illegalCharacterRepositoryName = Illegal character ''{0}'' in repository name!

-gb.selectAccessRestriction = Please select access restriction!

-gb.selectFederationStrategy = Please select federation strategy!

-gb.pleaseSetTeamName = Please enter a teamname!

-gb.teamNameUnavailable = Team name ''{0}'' is unavailable.

-gb.teamMustSpecifyRepository = A team must specify at least one repository.

-gb.teamCreated = New team ''{0}'' successfully created.

-gb.pleaseSetUsername = Please enter a username!

-gb.usernameUnavailable = Username ''{0}'' is unavailable.

-gb.combinedMd5Rename = Gitblit is configured for combined-md5 password hashing. You must enter a new password on account rename.

-gb.userCreated = New user ''{0}'' successfully created.

-gb.couldNotFindFederationRegistration = Could not find federation registration!

+gb.failedToReadMessage = {0}\u304b\u3089\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f!

+gb.passwordsDoNotMatch = \u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u4e00\u81f4\u3057\u307e\u305b\u3093!

+gb.passwordTooShort = \u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u77ed\u3059\u304e\u307e\u3059\u3002\u6700\u4f4e\u3067{0}\u6587\u5b57\u5fc5\u8981\u3067\u3059\u3002

+gb.passwordChanged = \u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5909\u66f4\u3057\u307e\u3057\u305f\u3002

+gb.passwordChangeAborted = \u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u5909\u66f4\u3092\u4e2d\u6b62\u3057\u307e\u3057\u305f\u3002

+gb.pleaseSetRepositoryName = \u30ea\u30dd\u30b8\u30c8\u30ea\u540d\u3092\u8a2d\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002

+gb.illegalLeadingSlash = \u5148\u982d\u306e\u30eb\u30fc\u30c8\u30d5\u30a9\u30eb\u30c0\u53c2\u7167(/)\u306f\u7981\u6b62\u3067\u3059\u3002

+gb.illegalRelativeSlash = \u76f8\u5bfe\u30d5\u30a9\u30eb\u30c0\u53c2\u7167(../)\u306f\u7981\u6b62\u3067\u3059\u3002

+gb.illegalCharacterRepositoryName = \u30ea\u30dd\u30b8\u30c8\u30ea\u540d\u306b''{0}''\u4e0d\u6b63\u306a\u6587\u5b57\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059!

+gb.selectAccessRestriction = \u30a2\u30af\u30bb\u30b9\u5236\u9650\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044!

+gb.selectFederationStrategy = \u30d5\u30a7\u30c7\u30ec\u30fc\u30b7\u30e7\u30f3\u6226\u7565\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044!

+gb.pleaseSetTeamName = \u30c1\u30fc\u30e0\u540d\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044!

+gb.teamNameUnavailable = \u30c1\u30fc\u30e0\u540d''{0}''\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002.

+gb.teamMustSpecifyRepository = \u6700\u4f4e\u3067\u3082\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u30c1\u30fc\u30e0\u306b\u4e00\u3064\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002

+gb.teamCreated = \u65b0\u3057\u3044\u30c1\u30fc\u30e0''{0}''\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002

+gb.pleaseSetUsername = \u30e6\u30fc\u30b6\u30fc\u540d\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044!

+gb.usernameUnavailable = \u30e6\u30fc\u30b6\u30fc\u540d''{0}''\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002

+gb.combinedMd5Rename = Gitblit\u306fcombined-md5\u30d1\u30b9\u30ef\u30fc\u30c9\u30cf\u30c3\u30b7\u30e5\u304c\u6709\u52b9\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30a2\u30ab\u30a6\u30f3\u30c8\u540d\u306e\u5909\u66f4\u3067\u306f\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002

+gb.userCreated = \u65b0\u3057\u3044\u30e6\u30fc\u30b6\u30fc''{0}''\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002

+gb.couldNotFindFederationRegistration = \u30d5\u30a7\u30c7\u30ec\u30fc\u30b7\u30e7\u30f3\u767b\u9332\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f!

 gb.failedToFindGravatarProfile = Failed to find Gravatar profile for {0}

 gb.branchStats = {0} commits and {1} tags in {2}

 gb.repositoryNotSpecified = Repository not specified!

 gb.repositoryNotSpecifiedFor = Repository not specified for {0}!

-gb.canNotLoadRepository = Can not load repository

-gb.commitIsNull = Commit is null

-gb.unauthorizedAccessForRepository = Unauthorized access for repository

+gb.canNotLoadRepository = \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093

+gb.commitIsNull = \u30b3\u30df\u30c3\u30c8\u304c\u7a7a\u3067\u3059

+gb.unauthorizedAccessForRepository = \u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u304c\u3042\u308a\u307e\u305b\u3093

 gb.failedToFindCommit = Failed to find commit \"{0}\" in {1} for {2} page!

 gb.couldNotFindFederationProposal = Could not find federation proposal!

-gb.invalidUsernameOrPassword = Invalid username or password!

+gb.invalidUsernameOrPassword = \u30e6\u30fc\u30b6\u30fc\u540d\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u7121\u52b9\u3067\u3059!

 gb.OneProposalToReview = There is 1 federation proposal awaiting review. 

 gb.nFederationProposalsToReview = There are {0} federation proposals awaiting review.

-gb.couldNotFindTag = Could not find tag {0}

+gb.couldNotFindTag = {0} \u30bf\u30b0\u3092\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f

 gb.couldNotCreateFederationProposal = Could not create federation proposal!

 gb.pleaseSetGitblitUrl = Please enter your Gitblit url!

 gb.pleaseSetDestinationUrl = Please enter a destination url for your proposal!