mirror of
https://github.com/Prominence/grails-translations-plugin.git
synced 2026-01-09 19:06:41 +03:00
72 lines
1.8 KiB
Groovy
72 lines
1.8 KiB
Groovy
package by.prominence.translations
|
|
|
|
class TranslationsOverviewController {
|
|
|
|
def bundleService
|
|
|
|
def index() {
|
|
|
|
render view: 'index', model: [bundles: bundleService.getBundles()]
|
|
}
|
|
|
|
def show() {
|
|
|
|
if (!params.bundleName) {
|
|
redirect action: 'index'
|
|
return
|
|
}
|
|
|
|
Bundle bundle = bundleService.findBundleByName(params.bundleName as String)
|
|
|
|
if (!bundle) {
|
|
render view: 'index', model: [message: g.message(code: 'plugin.translations.error.bundleNotFound', args: [params.bundleName as String])]
|
|
return
|
|
}
|
|
|
|
render view: 'show', model: [bundle: bundle]
|
|
}
|
|
|
|
def edit() {
|
|
|
|
if (!params.bundleName) {
|
|
redirect action: 'index'
|
|
return
|
|
}
|
|
|
|
Bundle bundle = bundleService.findBundleByName(params.bundleName as String)
|
|
|
|
if (!bundle) {
|
|
render view: 'index', model: [message: g.message(code: 'plugin.translations.error.bundleNotFound', args: [params.bundleName as String])]
|
|
return
|
|
}
|
|
|
|
render view: 'edit', model: [bundle: bundle]
|
|
}
|
|
|
|
def saveFile() {
|
|
|
|
Bundle bundle = bundleService.findBundleByName(params.bundleName as String)
|
|
Language language = bundle.languages.find { Language lang ->
|
|
lang.languageTag = params.lang
|
|
}
|
|
|
|
params.each { String key, value ->
|
|
if (key.startsWith('translations.')) {
|
|
language.translations."${key}" = value
|
|
}
|
|
}
|
|
|
|
language.translations.each { key, value ->
|
|
language.languageFile.write("${key} = ${value}\n")
|
|
}
|
|
|
|
if (params.bundleName) {
|
|
redirect action: 'edit', model: [bundleName: params.bundleName]
|
|
return
|
|
}
|
|
|
|
redirect action: 'index'
|
|
}
|
|
|
|
}
|