forked from plume/documentation
Merge pull request 'Add Rakefile to show workflow explicitely' (#95) from workflow into main
Reviewed-on: plume/documentation#95
This commit is contained in:
commit
a58052ae6b
5 changed files with 183 additions and 2 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -3,4 +3,5 @@
|
|||
.DS_Store
|
||||
.sass-cache
|
||||
build/
|
||||
crowdin.yml
|
||||
trans/
|
||||
locale/
|
||||
|
|
1
Gemfile
1
Gemfile
|
@ -6,3 +6,4 @@ gem 'tzinfo-data', platforms: [:mswin, :mingw, :jruby]
|
|||
gem 'wdm', '~> 0.1', platforms: [:mswin, :mingw]
|
||||
gem 'redcarpet'
|
||||
gem 'middleman-syntax'
|
||||
gem 'rake'
|
||||
|
|
|
@ -23,7 +23,7 @@ GEM
|
|||
fast_blank (1.0.0)
|
||||
fastimage (2.2.0)
|
||||
ffi (1.13.1)
|
||||
haml (5.2.0)
|
||||
haml (5.2.1)
|
||||
temple (>= 0.8.0)
|
||||
tilt
|
||||
hamster (3.0.0)
|
||||
|
@ -84,6 +84,7 @@ GEM
|
|||
parallel (1.20.1)
|
||||
public_suffix (4.0.6)
|
||||
rack (2.2.3)
|
||||
rake (13.0.1)
|
||||
rb-fsevent (0.10.4)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
|
@ -109,6 +110,7 @@ DEPENDENCIES
|
|||
middleman (~> 4.2)
|
||||
middleman-autoprefixer (~> 2.7)
|
||||
middleman-syntax
|
||||
rake
|
||||
redcarpet
|
||||
tzinfo-data
|
||||
wdm (~> 0.1)
|
||||
|
|
41
Rakefile
Normal file
41
Rakefile
Normal file
|
@ -0,0 +1,41 @@
|
|||
require "pathname"
|
||||
|
||||
BUILD_DIR = "build"
|
||||
TRANS_DIR = "trans"
|
||||
LOCALE_DIR = "locale"
|
||||
|
||||
task :default => [:build_trans, "crowdin:upload", :build_site]
|
||||
|
||||
desc "Build site"
|
||||
multitask :build_site => [:build_base, "crowdin:download"] do
|
||||
Pathname.glob("#{LOCALE_DIR}/**/*.html").select(&:file?).each do |path|
|
||||
content = path.read
|
||||
content.sub! /<script type="text\/javascript" src="\/\/cdn.crowdin.com\/jipt\/jipt.js"><\/script>/, ""
|
||||
dest = Pathname(path.to_path.sub(LOCALE_DIR, BUILD_DIR).sub(TRANS_DIR, ""))
|
||||
$stderr.puts "copy #{path} -> #{dest}"
|
||||
dest.parent.mkpath
|
||||
dest.write content
|
||||
end
|
||||
end
|
||||
|
||||
task :build_base do
|
||||
sh "middleman", "build"
|
||||
end
|
||||
|
||||
desc "Build translation sources"
|
||||
task :build_trans do
|
||||
env = {"CROWDIN" => "on"}
|
||||
sh env, "middleman", "build", "--build-dir", TRANS_DIR
|
||||
end
|
||||
|
||||
namespace :crowdin do
|
||||
desc "Download translations"
|
||||
task :download do
|
||||
sh "crowdin", "download"
|
||||
end
|
||||
|
||||
desc "Upload translation sources"
|
||||
task :upload do
|
||||
sh "crowdin", "upload", "source"
|
||||
end
|
||||
end
|
136
crowdin.yml
Normal file
136
crowdin.yml
Normal file
|
@ -0,0 +1,136 @@
|
|||
#
|
||||
# Your Crowdin credentials
|
||||
#
|
||||
"project_id" : "356119"
|
||||
"api_token_env": "CROWDIN_PERSONAL_TOKEN"
|
||||
"base_path" : "."
|
||||
"base_url" : "https://api.crowdin.com"
|
||||
|
||||
#
|
||||
# Choose file structure in Crowdin
|
||||
# e.g. true or false
|
||||
#
|
||||
"preserve_hierarchy": true
|
||||
|
||||
#
|
||||
# Files configuration
|
||||
#
|
||||
files: [
|
||||
{
|
||||
#
|
||||
# Source files filter
|
||||
# e.g. "/resources/en/*.json"
|
||||
#
|
||||
"source" : "/trans/**/*.html",
|
||||
|
||||
#
|
||||
# Where translations will be placed
|
||||
# e.g. "/resources/%two_letters_code%/%original_file_name%"
|
||||
#
|
||||
"translation" : "/locale/%two_letters_code%/%original_path%/%original_file_name%",
|
||||
|
||||
#
|
||||
# Files or directories for ignore
|
||||
# e.g. ["/**/?.txt", "/**/[0-9].txt", "/**/*\?*.txt"]
|
||||
#
|
||||
#"ignore" : [],
|
||||
|
||||
#
|
||||
# The dest allows you to specify a file name in Crowdin
|
||||
# e.g. "/messages.json"
|
||||
#
|
||||
#"dest" : "",
|
||||
|
||||
#
|
||||
# File type
|
||||
# e.g. "json"
|
||||
#
|
||||
#"type" : "",
|
||||
|
||||
#
|
||||
# The parameter "update_option" is optional. If it is not set, after the files update the translations for changed strings will be removed. Use to fix typos and for minor changes in the source strings
|
||||
# e.g. "update_as_unapproved" or "update_without_changes"
|
||||
#
|
||||
#"update_option" : "",
|
||||
|
||||
#
|
||||
# Start block (for XML only)
|
||||
#
|
||||
|
||||
#
|
||||
# Defines whether to translate tags attributes.
|
||||
# e.g. 0 or 1 (Default is 1)
|
||||
#
|
||||
# "translate_attributes" : 1,
|
||||
|
||||
#
|
||||
# Defines whether to translate texts placed inside the tags.
|
||||
# e.g. 0 or 1 (Default is 1)
|
||||
#
|
||||
# "translate_content" : 1,
|
||||
|
||||
#
|
||||
# This is an array of strings, where each item is the XPaths to DOM element that should be imported
|
||||
# e.g. ["/content/text", "/content/text[@value]"]
|
||||
#
|
||||
# "translatable_elements" : [],
|
||||
|
||||
#
|
||||
# Defines whether to split long texts into smaller text segments
|
||||
# e.g. 0 or 1 (Default is 1)
|
||||
#
|
||||
# "content_segmentation" : 1,
|
||||
|
||||
#
|
||||
# End block (for XML only)
|
||||
#
|
||||
|
||||
#
|
||||
# Start .properties block
|
||||
#
|
||||
|
||||
#
|
||||
# Defines whether single quote should be escaped by another single quote or backslash in exported translations
|
||||
# e.g. 0 or 1 or 2 or 3 (Default is 3)
|
||||
# 0 - do not escape single quote;
|
||||
# 1 - escape single quote by another single quote;
|
||||
# 2 - escape single quote by backslash;
|
||||
# 3 - escape single quote by another single quote only in strings containing variables ( {0} ).
|
||||
#
|
||||
# "escape_quotes" : 3,
|
||||
|
||||
#
|
||||
# Defines whether any special characters (=, :, ! and #) should be escaped by backslash in exported translations.
|
||||
# e.g. 0 or 1 (Default is 0)
|
||||
# 0 - do not escape special characters
|
||||
# 1 - escape special characters by a backslash
|
||||
#
|
||||
# "escape_special_characters": 0
|
||||
#
|
||||
|
||||
#
|
||||
# End .properties block
|
||||
#
|
||||
|
||||
#
|
||||
# Often software projects have custom names for the directories where translations are placed. crowdin-cli allows you to map your own languages to be understandable by Crowdin.
|
||||
#
|
||||
#"languages_mapping" : {
|
||||
# "two_letters_code" : {
|
||||
# "crowdin_language_code" : "local_name"
|
||||
# }
|
||||
#},
|
||||
|
||||
#
|
||||
# Does the first line contain header?
|
||||
# e.g. true or false
|
||||
#
|
||||
#"first_line_contains_header" : true,
|
||||
|
||||
#
|
||||
# for spreadsheets
|
||||
# e.g. "identifier,source_phrase,context,uk,ru,fr"
|
||||
#
|
||||
# "scheme" : "",
|
||||
}
|
||||
]
|
Loading…
Reference in a new issue