From ce788468f22e7666d97acedb81a15004aaf0bc01 Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Thu, 22 Jun 2017 21:05:12 +0200 Subject: [PATCH] Update to nnikiroo-utils-1.5.0 --- libs/nikiroo-utils-1.4.3-sources.jar | Bin 56460 -> 0 bytes libs/nikiroo-utils-1.5.0-sources.jar | Bin 0 -> 64500 bytes src/be/nikiroo/fanfix/bundles/Config.java | 47 ++++---- .../nikiroo/fanfix/bundles/ConfigBundle.java | 2 +- src/be/nikiroo/fanfix/bundles/StringId.java | 87 +++++++-------- src/be/nikiroo/fanfix/bundles/Target.java | 2 + src/be/nikiroo/fanfix/bundles/UiConfig.java | 14 ++- .../fanfix/bundles/UiConfigBundle.java | 2 +- .../fanfix/bundles/UiConfigBundleDesc.java | 39 +++++++ .../nikiroo/fanfix/bundles/config.properties | 83 +++++++------- .../fanfix/bundles/resources.properties | 103 +++++++++--------- src/be/nikiroo/fanfix/bundles/ui.properties | 14 ++- .../fanfix/bundles/ui_description.properties | 29 +++++ 13 files changed, 252 insertions(+), 170 deletions(-) delete mode 100644 libs/nikiroo-utils-1.4.3-sources.jar create mode 100644 libs/nikiroo-utils-1.5.0-sources.jar create mode 100644 src/be/nikiroo/fanfix/bundles/UiConfigBundleDesc.java create mode 100644 src/be/nikiroo/fanfix/bundles/ui_description.properties diff --git a/libs/nikiroo-utils-1.4.3-sources.jar b/libs/nikiroo-utils-1.4.3-sources.jar deleted file mode 100644 index 559a58d045a894b03e5fda14329ad2f530869fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56460 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 Z@Y|M;wi*d3I5BSEuNN>d(>{Wq{s+ZklaT-b diff --git a/libs/nikiroo-utils-1.5.0-sources.jar b/libs/nikiroo-utils-1.5.0-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..13b8f989560c629d6a3219726454ab1a2e746f1d GIT binary patch literal 64500 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 ZZR=200{q2e$0z}R1OUIs*Zs$D{|DlW1fBo@ literal 0 HcmV?d00001 diff --git a/src/be/nikiroo/fanfix/bundles/Config.java b/src/be/nikiroo/fanfix/bundles/Config.java index 6a728c4e..a38b9e2d 100644 --- a/src/be/nikiroo/fanfix/bundles/Config.java +++ b/src/be/nikiroo/fanfix/bundles/Config.java @@ -1,53 +1,58 @@ package be.nikiroo.fanfix.bundles; import be.nikiroo.utils.resources.Meta; +import be.nikiroo.utils.resources.Meta.Format; /** * The configuration options. * * @author niki */ +@SuppressWarnings("javadoc") public enum Config { - @Meta(what = "language (example: en-GB, fr-BE...) or nothing for default system language", where = "", format = "Locale|''", info = "Force the language (can be overwritten again with the env variable $LANG)") + @Meta(description = "language (example: en-GB, fr-BE...) or nothing for default system language", format = Format.LOCALE, info = "Force the language (can be overwritten again with the env variable $LANG)") LANG, // - @Meta(what = "reader type (CLI = simple output to console, LOCAL = use local system file handler)", where = "", format = "'CLI'|'LOCAL'", info = "Select the default reader to use to read stories") + @Meta(description = "reader type (CLI = simple output to console, LOCAL = use local system file handler)", format = Format.FIXED_LIST, list = { + "CLI", "LOCAL" }, info = "Select the default reader to use to read stories") READER_TYPE, // - @Meta(what = "absolute path, $HOME variable supported, / is always accepted as dir separator", where = "", format = "Directory", info = "The directory where to store temporary files, defaults to directory 'tmp' in the conig directory (usually $HOME/.fanfix)") + @Meta(description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to store temporary files, defaults to directory 'tmp' in the conig directory (usually $HOME/.fanfix)") CACHE_DIR, // - @Meta(what = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", where = "", format = "int", info = "The delay after which a cached resource that is thought to change ~often is considered too old and triggers a refresh") + @Meta(description = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", format = Format.INT, info = "The delay after which a cached resource that is thought to change ~often is considered too old and triggers a refresh") CACHE_MAX_TIME_CHANGING, // - @Meta(what = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", where = "", format = "int", info = "The delay after which a cached resource that is thought to change rarely is considered too old and triggers a refresh") + @Meta(description = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", format = Format.INT, info = "The delay after which a cached resource that is thought to change rarely is considered too old and triggers a refresh") CACHE_MAX_TIME_STABLE, // - @Meta(what = "string", where = "", format = "String", info = "The user-agent to use to download files") + @Meta(description = "string", info = "The user-agent to use to download files") USER_AGENT, // - @Meta(what = "absolute path, $HOME variable supported, / is always accepted as dir separator", where = "", format = "Directory", info = "The directory where to get the default story covers") + @Meta(description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to get the default story covers") DEFAULT_COVERS_DIR, // - @Meta(what = "absolute path, $HOME variable supported, / is always accepted as dir separator", where = "", format = "Directory", info = "The directory where to store the library") + @Meta(description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to store the library") LIBRARY_DIR, // - @Meta(what = "boolean", where = "", format = "'true'|'false'", info = "Show debug information on errors") + @Meta(description = "boolean", format = Format.BOOLEAN, info = "Show debug information on errors") DEBUG_ERR, // - @Meta(what = "image format", where = "", format = "'PNG'|JPG'|'BMP'", info = "Image format to use for cover images") + @Meta(description = "image format", format = Format.COMBO_LIST, list = { + "PNG", "JPG", "BMP" }, info = "Image format to use for cover images") IMAGE_FORMAT_COVER, // - @Meta(what = "image format", where = "", format = "'PNG'|JPG'|'BMP'", info = "Image format to use for content images") + @Meta(description = "image format", format = Format.COMBO_LIST, list = { + "PNG", "JPG", "BMP" }, info = "Image format to use for content images") IMAGE_FORMAT_CONTENT, // - // This key is only present to allow access to suffixes, so no Meta + @Meta(group = true) LATEX_LANG, // - @Meta(what = "LaTeX output language", where = "LaTeX", format = "String", info = "LaTeX full name for English") + @Meta(description = "LaTeX output language: English", info = "LaTeX full name") LATEX_LANG_EN, // - @Meta(what = "LaTeX output language", where = "LaTeX", format = "String", info = "LaTeX full name for French") + @Meta(description = "LaTeX output language: French", info = "LaTeX full name") LATEX_LANG_FR, // - @Meta(what = "other 'by' prefixes before author name", where = "", format = "comma-separated list|String", info = "used to identify the author") + @Meta(description = "other 'by' prefixes before author name, used to identify the author", array = true) BYS, // - @Meta(what = "Chapter identification languages", where = "", format = "comma-separated list|String", info = "used to identify a starting chapter in text mode") + @Meta(description = "List of languages codes used for chapter identification (should not be changed)", array = true, info = "EN,FR") CHAPTER, // - @Meta(what = "Chapter identification string", where = "String", format = "", info = "used to identify a starting chapter in text mode") + @Meta(description = "Chapter identification String: English", info = "used to identify a starting chapter in text mode") CHAPTER_EN, // - @Meta(what = "Chapter identification string", where = "String", format = "", info = "used to identify a starting chapter in text mode") + @Meta(description = "Chapter identification String: French", info = "used to identify a starting chapter in text mode") CHAPTER_FR, // - @Meta(what = "Login information", where = "", format = "String", info = "used to login on YiffStar to have access to all the stories (should not be necessary anymore)") + @Meta(description = "Login information (username) for YiffStar to have access to all the stories (should not be necessary anymore)") LOGIN_YIFFSTAR_USER, // - @Meta(what = "Login information", where = "", format = "Password", info = "used to login on YiffStar to have access to all the stories (should not be necessary anymore)") + @Meta(description = "Login information (password) for YiffStar to have access to all the stories (should not be necessary anymore)", format = Format.PASSWORD) LOGIN_YIFFSTAR_PASS, // - @Meta(what = "Minimum time between version update checks in days, or -1 for 'no checks' -- default is 1 day", where = "VersionCheck", format = "int", info = "If the last update check was done at least that many days, check for updates at startup") + @Meta(description = "If the last update check was done at least that many days, check for updates at startup (-1 for 'no checks' -- default is 1 day)", format = Format.INT) UPDATE_INTERVAL, } diff --git a/src/be/nikiroo/fanfix/bundles/ConfigBundle.java b/src/be/nikiroo/fanfix/bundles/ConfigBundle.java index 7d38e368..cfe064ec 100644 --- a/src/be/nikiroo/fanfix/bundles/ConfigBundle.java +++ b/src/be/nikiroo/fanfix/bundles/ConfigBundle.java @@ -15,7 +15,7 @@ public class ConfigBundle extends Bundle { * Create a new {@link ConfigBundle}. */ public ConfigBundle() { - super(Config.class, Target.config); + super(Config.class, Target.config, null); } /** diff --git a/src/be/nikiroo/fanfix/bundles/StringId.java b/src/be/nikiroo/fanfix/bundles/StringId.java index 78b271dd..c49627f8 100644 --- a/src/be/nikiroo/fanfix/bundles/StringId.java +++ b/src/be/nikiroo/fanfix/bundles/StringId.java @@ -15,6 +15,7 @@ import be.nikiroo.utils.resources.Meta; * * @author niki */ +@SuppressWarnings("javadoc") public enum StringId { /** * A special key used for technical reasons only, without annotations so it @@ -30,91 +31,91 @@ public enum StringId { * Use it when you need a real translation but still don't have a key. */ DUMMY, // - @Meta(what = "help message", where = "cli", format = "%s = supported input, %s = supported output", info = "help message for the syntax") + @Meta(info = "%s = supported input, %s = supported output", description = "help message for the syntax") HELP_SYNTAX, // - @Meta(what = "error message", where = "cli", format = "", info = "syntax error message") + @Meta(description = "syntax error message") ERR_SYNTAX, // - @Meta(what = "error message", where = "cli", format = "%s = support name, %s = support desc", info = "an input or output support type description") + @Meta(info = "%s = support name, %s = support desc", description = "an input or output support type description") ERR_SYNTAX_TYPE, // - @Meta(what = "error message", where = "cli", format = "%s = input string", info = "Error when retrieving data") + @Meta(info = "%s = input string", description = "Error when retrieving data") ERR_LOADING, // - @Meta(what = "error message", where = "cli", format = "%s = save target", info = "Error when saving to given target") + @Meta(info = "%s = save target", description = "Error when saving to given target") ERR_SAVING, // - @Meta(what = "error message", where = "cli", format = "%s = bad output format", info = "Error when unknown output format") + @Meta(info = "%s = bad output format", description = "Error when unknown output format") ERR_BAD_OUTPUT_TYPE, // - @Meta(what = "error message", where = "cli", format = "%s = input string", info = "Error when converting input to URL/File") + @Meta(info = "%s = input string", description = "Error when converting input to URL/File") ERR_BAD_URL, // - @Meta(what = "error message", where = "cli", format = "%s = input url", info = "URL/File not supported") + @Meta(info = "%s = input url", description = "URL/File not supported") ERR_NOT_SUPPORTED, // - @Meta(what = "error message", where = "BasicSupport", format = "%s = cover URL", info = "Failed to download cover : %s") + @Meta(info = "%s = cover URL", description = "Failed to download cover : %s") ERR_BS_NO_COVER, // - @Meta(what = "char", where = "LaTeX/BasicSupport", format = "single char", info = "Canonical OPEN SINGLE QUOTE char (for instance: `)") + @Meta(info = "single char", description = "Canonical OPEN SINGLE QUOTE char (for instance: `)") OPEN_SINGLE_QUOTE, // - @Meta(what = "char", where = "LaTeX/BasicSupport", format = "single char", info = "Canonical CLOSE SINGLE QUOTE char (for instance: ‘)") + @Meta(info = "single char", description = "Canonical CLOSE SINGLE QUOTE char (for instance: ‘)") CLOSE_SINGLE_QUOTE, // - @Meta(what = "char", where = "LaTeX/BasicSupport", format = "single char", info = "Canonical OPEN DOUBLE QUOTE char (for instance: “)") + @Meta(info = "single char", description = "Canonical OPEN DOUBLE QUOTE char (for instance: “)") OPEN_DOUBLE_QUOTE, // - @Meta(what = "char", where = "LaTeX/BasicSupport", format = "single char", info = "Canonical CLOSE DOUBLE QUOTE char (for instance: ”)") + @Meta(info = "single char", description = "Canonical CLOSE DOUBLE QUOTE char (for instance: ”)") CLOSE_DOUBLE_QUOTE, // - @Meta(what = "chapter name", where = "BasicSupport", format = "", info = "Name of the description fake chapter") + @Meta(description = "Name of the description fake chapter") DESCRIPTION, // - @Meta(what = "chapter name", where = "", format = "%d = number, %s = name", info = "Name of a chapter with a name") + @Meta(info = "%d = number, %s = name", description = "Name of a chapter with a name") CHAPTER_NAMED, // - @Meta(what = "chapter name", where = "", format = "%d = number, %s = name", info = "Name of a chapter without name") + @Meta(info = "%d = number, %s = name", description = "Name of a chapter without name") CHAPTER_UNNAMED, // - @Meta(what = "input format description", where = "SupportType", format = "%s = type", info = "Default description when the type is not known by i18n") + @Meta(info = "%s = type", description = "Default description when the type is not known by i18n") INPUT_DESC, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_EPUB, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_TEXT, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_INFO_TEXT, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_FANFICTION, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_FIMFICTION, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_MANGAFOX, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_E621, // - @Meta(what = "input format description", where = "SupportType", format = "", info = "Description of this input type") + @Meta(description = "Description of this input type") INPUT_DESC_E_HENTAI, // - @Meta(what = "output format description", where = "OutputType", format = "%s = type", info = "Default description when the type is not known by i18n") + @Meta(info = "%s = type", description = "Default description when the type is not known by i18n") OUTPUT_DESC, // - @Meta(what = "output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_EPUB, // - @Meta(what = "output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_TEXT, // - @Meta(what = "output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_INFO_TEXT, // - @Meta(what = "output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_CBZ, // - @Meta(what = "output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_HTML, // - @Meta(what = "output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_LATEX, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Description of this output type") OUTPUT_DESC_SYSOUT, // - @Meta(what = "short output format description", where = "OutputType", format = "%s = type", info = "Default description when the type is not known by i18n") + @Meta(group = true, info = "%s = type", description = "Default description when the type is not known by i18n") OUTPUT_DESC_SHORT, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_EPUB, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_TEXT, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_INFO_TEXT, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_CBZ, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_LATEX, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_SYSOUT, // - @Meta(what = "short output format description", where = "OutputType", format = "", info = "Description of this output type") + @Meta(description = "Short description of this output type") OUTPUT_DESC_SHORT_HTML, // - @Meta(what = "error message", where = "LaTeX", format = "%s = the unknown 2-code language", info = "Error message for unknown 2-letter LaTeX language code") + @Meta(info = "%s = the unknown 2-code language", description = "Error message for unknown 2-letter LaTeX language code") LATEX_LANG_UNKNOWN, // - @Meta(what = "'by' prefix before author name", where = "", format = "", info = "used to output the author, make sure it is covered by Config.BYS for input detection") + @Meta(description = "'by' prefix before author name used to output the author, make sure it is covered by Config.BYS for input detection") BY, // ; diff --git a/src/be/nikiroo/fanfix/bundles/Target.java b/src/be/nikiroo/fanfix/bundles/Target.java index 3318e9e9..8b5e867f 100644 --- a/src/be/nikiroo/fanfix/bundles/Target.java +++ b/src/be/nikiroo/fanfix/bundles/Target.java @@ -18,4 +18,6 @@ public enum Target { resources, /** UI resources (from colours to behaviour) */ ui, + /** Description of UI resources. */ + ui_description, } diff --git a/src/be/nikiroo/fanfix/bundles/UiConfig.java b/src/be/nikiroo/fanfix/bundles/UiConfig.java index d2119473..e83a4606 100644 --- a/src/be/nikiroo/fanfix/bundles/UiConfig.java +++ b/src/be/nikiroo/fanfix/bundles/UiConfig.java @@ -1,23 +1,25 @@ package be.nikiroo.fanfix.bundles; import be.nikiroo.utils.resources.Meta; +import be.nikiroo.utils.resources.Meta.Format; /** * The configuration options. * * @author niki */ +@SuppressWarnings("javadoc") public enum UiConfig { - @Meta(what = "directory", where = "", format = "absolute path, $HOME variable supported, / is always accepted as dir separator", info = "The directory where to store temporary files, defaults to directory 'tmp.reader' in the conig directory (usually $HOME/.fanfix)") + @Meta(format = Format.DIRECTORY, info = "absolute path, $HOME variable supported, / is always accepted as dir separator", description = "The directory where to store temporary files, defaults to directory 'tmp.reader' in the conig directory (usually $HOME/.fanfix)") CACHE_DIR_LOCAL_READER, // - @Meta(what = "Output type", where = "Local Reader", format = "One of the known output type", info = "The type of output for the Local Reader for non-images documents") + @Meta(format = Format.COMBO_LIST, list = { "HTML", "CBZ" }, info = "One of the known output type", description = "The type of output for the Local Reader for non-images documents") NON_IMAGES_DOCUMENT_TYPE, // - @Meta(what = "Output type", where = "Local Reader", format = "One of the known output type", info = "The type of output for the Local Reader for images documents") + @Meta(format = Format.COMBO_LIST, list = { "HTML", "CBZ" }, description = "The type of output for the Local Reader for images documents") IMAGES_DOCUMENT_TYPE, // - @Meta(what = "Program", where = "Local Reader", format = "A command to start", info = "The command launched for images documents -- default to the system default for the current file type") + @Meta(info = "A command to start", description = "The command launched for images documents -- default to the system default for the current file type") IMAGES_DOCUMENT_READER, // - @Meta(what = "Program", where = "Local Reader", format = "A command to start", info = "The command launched for non images documents -- default to the system default for the current file type") + @Meta(info = "A command to start", description = "The command launched for non images documents -- default to the system default for the current file type") NON_IMAGES_DOCUMENT_READER, // - @Meta(what = "A background colour", where = "Local Reader Frame", format = "#rrggbb", info = "The background colour if you don't want the default system one") + @Meta(format = Format.COLOR, description = "The background colour if you don't want the default system one") BACKGROUND_COLOR, // } diff --git a/src/be/nikiroo/fanfix/bundles/UiConfigBundle.java b/src/be/nikiroo/fanfix/bundles/UiConfigBundle.java index 2c31d097..8b2c008c 100644 --- a/src/be/nikiroo/fanfix/bundles/UiConfigBundle.java +++ b/src/be/nikiroo/fanfix/bundles/UiConfigBundle.java @@ -13,7 +13,7 @@ import be.nikiroo.utils.resources.Bundle; */ public class UiConfigBundle extends Bundle { public UiConfigBundle() { - super(UiConfig.class, Target.ui); + super(UiConfig.class, Target.ui, new UiConfigBundleDesc()); } /** diff --git a/src/be/nikiroo/fanfix/bundles/UiConfigBundleDesc.java b/src/be/nikiroo/fanfix/bundles/UiConfigBundleDesc.java new file mode 100644 index 00000000..da429503 --- /dev/null +++ b/src/be/nikiroo/fanfix/bundles/UiConfigBundleDesc.java @@ -0,0 +1,39 @@ +package be.nikiroo.fanfix.bundles; + +import java.io.File; +import java.io.IOException; + +import be.nikiroo.utils.resources.TransBundle; + +/** + * This class manages the configuration of UI of the application (colours and + * behaviour) + * + * @author niki + */ +public class UiConfigBundleDesc extends TransBundle { + public UiConfigBundleDesc() { + super(UiConfig.class, Target.ui_description); + } + + /** + * Update resource file. + * + * @param args + * not used + * + * @throws IOException + * in case of I/O error + */ + public static void main(String[] args) throws IOException { + String path = new File(".").getAbsolutePath() + + "/src/be/nikiroo/fanfix/bundles/"; + new UiConfigBundleDesc().updateFile(path); + System.out.println("Path updated: " + path); + } + + @Override + protected String getBundleDisplayName() { + return "UI configuration options description"; + } +} diff --git a/src/be/nikiroo/fanfix/bundles/config.properties b/src/be/nikiroo/fanfix/bundles/config.properties index 2fa3d32a..6151843c 100644 --- a/src/be/nikiroo/fanfix/bundles/config.properties +++ b/src/be/nikiroo/fanfix/bundles/config.properties @@ -2,63 +2,66 @@ # -# (WHAT: language (example: en-GB, fr-BE...) or nothing for default system language, FORMAT: Locale|'') -# Force the language (can be overwritten again with the env variable $LANG) +# language (example: en-GB, fr-BE...) or nothing for default system language +# (FORMAT: LOCALE) Force the language (can be overwritten again with the env variable $LANG) LANG = -# (WHAT: reader type (CLI = simple output to console, LOCAL = use local system file handler), FORMAT: 'CLI'|'LOCAL') -# Select the default reader to use to read stories +# reader type (CLI = simple output to console, LOCAL = use local system file handler) +# (FORMAT: FIXED_LIST) Select the default reader to use to read stories +# ALLOWED VALUES: "CLI" "LOCAL" READER_TYPE = -# (WHAT: absolute path, $HOME variable supported, / is always accepted as dir separator, FORMAT: Directory) -# The directory where to store temporary files, defaults to directory 'tmp' in the conig directory (usually $HOME/.fanfix) +# absolute path, $HOME variable supported, / is always accepted as dir separator +# (FORMAT: DIRECTORY) The directory where to store temporary files, defaults to directory 'tmp' in the conig directory (usually $HOME/.fanfix) CACHE_DIR = -# (WHAT: delay in hours, or 0 for no cache, or -1 for infinite time (default), FORMAT: int) -# The delay after which a cached resource that is thought to change ~often is considered too old and triggers a refresh +# delay in hours, or 0 for no cache, or -1 for infinite time (default) +# (FORMAT: INT) The delay after which a cached resource that is thought to change ~often is considered too old and triggers a refresh CACHE_MAX_TIME_CHANGING = 24 -# (WHAT: delay in hours, or 0 for no cache, or -1 for infinite time (default), FORMAT: int) -# The delay after which a cached resource that is thought to change rarely is considered too old and triggers a refresh +# delay in hours, or 0 for no cache, or -1 for infinite time (default) +# (FORMAT: INT) The delay after which a cached resource that is thought to change rarely is considered too old and triggers a refresh CACHE_MAX_TIME_STABLE = -# (WHAT: string, FORMAT: String) -# The user-agent to use to download files +# string (FORMAT: STRING) The user-agent to use to download files USER_AGENT = Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 -- ELinks/0.9.3 (Linux 2.6.11 i686; 80x24) -# (WHAT: absolute path, $HOME variable supported, / is always accepted as dir separator, FORMAT: Directory) -# The directory where to get the default story covers +# absolute path, $HOME variable supported, / is always accepted as dir separator +# (FORMAT: DIRECTORY) The directory where to get the default story covers DEFAULT_COVERS_DIR = $HOME/bin/epub/ -# (WHAT: absolute path, $HOME variable supported, / is always accepted as dir separator, FORMAT: Directory) -# The directory where to store the library +# absolute path, $HOME variable supported, / is always accepted as dir separator +# (FORMAT: DIRECTORY) The directory where to store the library LIBRARY_DIR = $HOME/Books -# (WHAT: boolean, FORMAT: 'true'|'false') -# Show debug information on errors +# boolean (FORMAT: BOOLEAN) Show debug information on errors DEBUG_ERR = false -# (WHAT: image format, FORMAT: 'PNG'|JPG'|'BMP') -# Image format to use for cover images +# image format (FORMAT: COMBO_LIST) Image format to use for cover images +# ALLOWED VALUES: "PNG" "JPG" "BMP" IMAGE_FORMAT_COVER = png -# (WHAT: image format, FORMAT: 'PNG'|JPG'|'BMP') -# Image format to use for content images +# image format (FORMAT: COMBO_LIST) Image format to use for content images +# ALLOWED VALUES: "PNG" "JPG" "BMP" IMAGE_FORMAT_CONTENT = png -# (WHAT: LaTeX output language, WHERE: LaTeX, FORMAT: String) -# LaTeX full name for English +# This item is used as a group, its content is not expected to be used. +LATEX_LANG = +# LaTeX output language: English +# (FORMAT: STRING) LaTeX full name LATEX_LANG_EN = english -# (WHAT: LaTeX output language, WHERE: LaTeX, FORMAT: String) -# LaTeX full name for French +# LaTeX output language: French +# (FORMAT: STRING) LaTeX full name LATEX_LANG_FR = french -# (WHAT: other 'by' prefixes before author name, FORMAT: comma-separated list|String) -# used to identify the author +# other 'by' prefixes before author name, used to identify the author +# (FORMAT: STRING) +# (This item accept a list of comma-separated values) BYS = by,par,de,©,(c) -# (WHAT: Chapter identification languages, FORMAT: comma-separated list|String) -# used to identify a starting chapter in text mode +# List of languages codes used for chapter identification (should not be changed) +# (FORMAT: STRING) EN,FR +# (This item accept a list of comma-separated values) CHAPTER = EN,FR -# (WHAT: Chapter identification string, WHERE: String) -# used to identify a starting chapter in text mode +# Chapter identification String: English +# (FORMAT: STRING) used to identify a starting chapter in text mode CHAPTER_EN = Chapter -# (WHAT: Chapter identification string, WHERE: String) -# used to identify a starting chapter in text mode +# Chapter identification String: French +# (FORMAT: STRING) used to identify a starting chapter in text mode CHAPTER_FR = Chapitre -# (WHAT: Login information, FORMAT: String) -# used to login on YiffStar to have access to all the stories (should not be necessary anymore) +# Login information (username) for YiffStar to have access to all the stories (should not be necessary anymore) +# (FORMAT: STRING) LOGIN_YIFFSTAR_USER = -# (WHAT: Login information, FORMAT: Password) -# used to login on YiffStar to have access to all the stories (should not be necessary anymore) +# Login information (password) for YiffStar to have access to all the stories (should not be necessary anymore) +# (FORMAT: PASSWORD) LOGIN_YIFFSTAR_PASS = -# (WHAT: Minimum time between version update checks in days, or -1 for 'no checks' -- default is 1 day, WHERE: VersionCheck, FORMAT: int) -# If the last update check was done at least that many days, check for updates at startup +# If the last update check was done at least that many days, check for updates at startup (-1 for 'no checks' -- default is 1 day) +# (FORMAT: INT) UPDATE_INTERVAL = diff --git a/src/be/nikiroo/fanfix/bundles/resources.properties b/src/be/nikiroo/fanfix/bundles/resources.properties index c5c31378..f664eb45 100644 --- a/src/be/nikiroo/fanfix/bundles/resources.properties +++ b/src/be/nikiroo/fanfix/bundles/resources.properties @@ -7,8 +7,8 @@ # -# (WHAT: help message, WHERE: cli, FORMAT: %s = supported input, %s = supported output) # help message for the syntax +# (FORMAT: STRING) %s = supported input, %s = supported output HELP_SYNTAX = Valid options:\n\ \t--import [URL]: import into library\n\ \t--export [id] [output_type] [target]: export story to target\n\ @@ -25,139 +25,138 @@ Supported input types:\n\ \n\ Supported output types:\n\ %s -# (WHAT: error message, WHERE: cli) -# syntax error message +# syntax error message (FORMAT: STRING) ERR_SYNTAX = Syntax error (try "--help") -# (WHAT: error message, WHERE: cli, FORMAT: %s = support name, %s = support desc) # an input or output support type description +# (FORMAT: STRING) %s = support name, %s = support desc ERR_SYNTAX_TYPE = %s: %s -# (WHAT: error message, WHERE: cli, FORMAT: %s = input string) # Error when retrieving data +# (FORMAT: STRING) %s = input string ERR_LOADING = Error when retrieving data from: %s -# (WHAT: error message, WHERE: cli, FORMAT: %s = save target) # Error when saving to given target +# (FORMAT: STRING) %s = save target ERR_SAVING = Error when saving to target: %s -# (WHAT: error message, WHERE: cli, FORMAT: %s = bad output format) # Error when unknown output format +# (FORMAT: STRING) %s = bad output format ERR_BAD_OUTPUT_TYPE = Unknown output type: %s -# (WHAT: error message, WHERE: cli, FORMAT: %s = input string) # Error when converting input to URL/File +# (FORMAT: STRING) %s = input string ERR_BAD_URL = Cannot understand file or protocol: %s -# (WHAT: error message, WHERE: cli, FORMAT: %s = input url) # URL/File not supported +# (FORMAT: STRING) %s = input url ERR_NOT_SUPPORTED = URL not supported: %s -# (WHAT: error message, WHERE: BasicSupport, FORMAT: %s = cover URL) # Failed to download cover : %s +# (FORMAT: STRING) %s = cover URL ERR_BS_NO_COVER = Failed to download cover: %s -# (WHAT: char, WHERE: LaTeX/BasicSupport, FORMAT: single char) # Canonical OPEN SINGLE QUOTE char (for instance: `) +# (FORMAT: STRING) single char OPEN_SINGLE_QUOTE = ` -# (WHAT: char, WHERE: LaTeX/BasicSupport, FORMAT: single char) # Canonical CLOSE SINGLE QUOTE char (for instance: ‘) +# (FORMAT: STRING) single char CLOSE_SINGLE_QUOTE = ‘ -# (WHAT: char, WHERE: LaTeX/BasicSupport, FORMAT: single char) # Canonical OPEN DOUBLE QUOTE char (for instance: “) +# (FORMAT: STRING) single char OPEN_DOUBLE_QUOTE = “ -# (WHAT: char, WHERE: LaTeX/BasicSupport, FORMAT: single char) # Canonical CLOSE DOUBLE QUOTE char (for instance: ”) +# (FORMAT: STRING) single char CLOSE_DOUBLE_QUOTE = ” -# (WHAT: chapter name, WHERE: BasicSupport) # Name of the description fake chapter +# (FORMAT: STRING) DESCRIPTION = Description -# (WHAT: chapter name, FORMAT: %d = number, %s = name) # Name of a chapter with a name +# (FORMAT: STRING) %d = number, %s = name CHAPTER_NAMED = Chapter %d: %s -# (WHAT: chapter name, FORMAT: %d = number, %s = name) # Name of a chapter without name +# (FORMAT: STRING) %d = number, %s = name CHAPTER_UNNAMED = Chapter %d -# (WHAT: input format description, WHERE: SupportType, FORMAT: %s = type) # Default description when the type is not known by i18n +# (FORMAT: STRING) %s = type INPUT_DESC = Unknown type: %s -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_EPUB = EPUB files created by this program (we do not support "all" EPUB files) -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_TEXT = Support class for local stories encoded in textual format, with a few rules :\n\ \tthe title must be on the first line, \n\ \tthe author (preceded by nothing, "by " or "©") must be on the second line, possibly with the publication date in parenthesis (i.e., "By Unknown (3rd October 1998)"), \n\ \tchapters must be declared with "Chapter x" or "Chapter x: NAME OF THE CHAPTER", where "x" is the chapter number,\n\ \ta description of the story must be given as chapter number 0,\n\ \ta cover image may be present with the same filename but a PNG, JPEG or JPG extension. -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_INFO_TEXT = Contains the same information as the TEXT format, but with a companion ".info" file to store some metadata -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_FANFICTION = Fan fictions of many, many different universes, from TV shows to novels to games. -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_FIMFICTION = Fanfictions devoted to the My Little Pony show -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_MANGAFOX = A well filled repository of mangas, or, as their website states: Most popular manga scanlations read online for free at mangafox, as well as a close-knit community to chat and make friends. -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_E621 = Furry website supporting comics, including MLP -# (WHAT: input format description, WHERE: SupportType) # Description of this input type +# (FORMAT: STRING) INPUT_DESC_E_HENTAI = Website offering many comics/manga, mostly but not always NSFW (hence 'Hentai'); MLP comics can be found there, too -# (WHAT: output format description, WHERE: OutputType, FORMAT: %s = type) # Default description when the type is not known by i18n +# (FORMAT: STRING) %s = type OUTPUT_DESC = Unknown type: %s -# (WHAT: output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_EPUB = Standard EPUB file working on most e-book readers and viewers -# (WHAT: output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_TEXT = Local stories encoded in textual format, with a few rules :\n\ \tthe title must be on the first line, \n\ \tthe author (preceded by nothing, "by " or "©") must be on the second line, possibly with the publication date in parenthesis (i.e., "By Unknown (3rd October 1998)"), \n\ \tchapters must be declared with "Chapter x" or "Chapter x: NAME OF THE CHAPTER", where "x" is the chapter number,\n\ \ta description of the story must be given as chapter number 0,\n\ \ta cover image may be present with the same filename but a PNG, JPEG or JPG extension. -# (WHAT: output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_INFO_TEXT = Contains the same information as the TEXT format, but with a companion ".info" file to store some metadata -# (WHAT: output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_CBZ = CBZ file (basically a ZIP file containing images -- we store the images in PNG format) -# (WHAT: output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_HTML = HTML files (a directory containing the resources and "index.html") -# (WHAT: output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_LATEX = A LaTeX file using the "book" template -# (WHAT: short output format description, WHERE: OutputType) # Description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SYSOUT = A simple DEBUG console output -# (WHAT: short output format description, WHERE: OutputType, FORMAT: %s = type) # Default description when the type is not known by i18n +#This item is used as a group, its content is not expected to be used. OUTPUT_DESC_SHORT = %s -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_EPUB = Electronic book (.epub) -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_TEXT = Plain text (.txt) -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_INFO_TEXT = Plain text and metadata -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_CBZ = Comic book (.cbz) -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_LATEX = LaTeX (.tex) -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_SYSOUT = Console output -# (WHAT: short output format description, WHERE: OutputType) -# Description of this output type +# Short description of this output type +# (FORMAT: STRING) OUTPUT_DESC_SHORT_HTML = HTML files with resources (directory, .html) -# (WHAT: error message, WHERE: LaTeX, FORMAT: %s = the unknown 2-code language) # Error message for unknown 2-letter LaTeX language code +# (FORMAT: STRING) %s = the unknown 2-code language LATEX_LANG_UNKNOWN = Unknown language: %s -# (WHAT: 'by' prefix before author name) -# used to output the author, make sure it is covered by Config.BYS for input detection +# 'by' prefix before author name used to output the author, make sure it is covered by Config.BYS for input detection +# (FORMAT: STRING) BY = by diff --git a/src/be/nikiroo/fanfix/bundles/ui.properties b/src/be/nikiroo/fanfix/bundles/ui.properties index 8c7428d7..5f251c5f 100644 --- a/src/be/nikiroo/fanfix/bundles/ui.properties +++ b/src/be/nikiroo/fanfix/bundles/ui.properties @@ -2,21 +2,23 @@ # -# (WHAT: directory, FORMAT: absolute path, $HOME variable supported, / is always accepted as dir separator) # The directory where to store temporary files, defaults to directory 'tmp.reader' in the conig directory (usually $HOME/.fanfix) +# (FORMAT: DIRECTORY) absolute path, $HOME variable supported, / is always accepted as dir separator CACHE_DIR_LOCAL_READER = -# (WHAT: Output type, WHERE: Local Reader, FORMAT: One of the known output type) # The type of output for the Local Reader for non-images documents +# (FORMAT: COMBO_LIST) One of the known output type +# ALLOWED VALUES: "HTML" "CBZ" NON_IMAGES_DOCUMENT_TYPE = HTML -# (WHAT: Output type, WHERE: Local Reader, FORMAT: One of the known output type) # The type of output for the Local Reader for images documents +# (FORMAT: COMBO_LIST) +# ALLOWED VALUES: "HTML" "CBZ" IMAGES_DOCUMENT_TYPE = CBZ -# (WHAT: Program, WHERE: Local Reader, FORMAT: A command to start) # The command launched for images documents -- default to the system default for the current file type +# (FORMAT: STRING) A command to start IMAGES_DOCUMENT_READER = -# (WHAT: Program, WHERE: Local Reader, FORMAT: A command to start) # The command launched for non images documents -- default to the system default for the current file type +# (FORMAT: STRING) A command to start NON_IMAGES_DOCUMENT_READER = -# (WHAT: A background colour, WHERE: Local Reader Frame, FORMAT: #rrggbb) # The background colour if you don't want the default system one +# (FORMAT: COLOR) BACKGROUND_COLOR = #FFFFFF diff --git a/src/be/nikiroo/fanfix/bundles/ui_description.properties b/src/be/nikiroo/fanfix/bundles/ui_description.properties new file mode 100644 index 00000000..4b0792aa --- /dev/null +++ b/src/be/nikiroo/fanfix/bundles/ui_description.properties @@ -0,0 +1,29 @@ +# United Kingdom (en_GB) UI configuration options description translation file (UTF-8) +# +# Note that any key can be doubled with a _NOUTF suffix +# to use when the NOUTF env variable is set to 1 +# +# Also, the comments always refer to the key below them. +# + + +# The directory where to store temporary files, defaults to directory 'tmp.reader' in the conig directory (usually $HOME/.fanfix) +# (FORMAT: DIRECTORY) absolute path, $HOME variable supported, / is always accepted as dir separator +CACHE_DIR_LOCAL_READER = The directory where to store temporary files, defaults to directory 'tmp.reader' in the config directory (usually $HOME/.fanfix) -- this is an absolute path, $HOME variable supported, / is always accepted as dir separator +# The type of output for the Local Reader for non-images documents +# (FORMAT: COMBO_LIST) One of the known output type +# ALLOWED VALUES: "HTML" "CBZ" +NON_IMAGES_DOCUMENT_TYPE = +# The type of output for the Local Reader for images documents +# (FORMAT: COMBO_LIST) +# ALLOWED VALUES: "HTML" "CBZ" +IMAGES_DOCUMENT_TYPE = +# The command launched for images documents -- default to the system default for the current file type +# (FORMAT: STRING) A command to start +IMAGES_DOCUMENT_READER = +# The command launched for non images documents -- default to the system default for the current file type +# (FORMAT: STRING) A command to start +NON_IMAGES_DOCUMENT_READER = +# The background colour if you don't want the default system one +# (FORMAT: COLOR) +BACKGROUND_COLOR = -- 2.27.0