first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,15 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
class Cron(metaclass=PoolMeta):
__name__ = 'ir.cron'
@classmethod
def __setup__(cls):
super().__setup__()
cls.method.selection.append(
('sale.product.association.rule|compute',
"Compute Sale Product Association Rules"))

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,135 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr "El número màxim de productes d'una regla."
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr "Confiança mínima"
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr "Suport mínim"
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr "Transaciones fins a"
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr "Antecedents"
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr "Antecedents"
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr "Confiança"
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr "Conseqüents"
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr "Conseqüents"
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr "Convicació"
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr "Elevador"
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr "Suport"
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr "Regla"
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr "Regla"
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr "La probabilitat mínima de la regla."
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
"La freqüència mínima en que els articles de la regla apareixen junts en el "
"conjunt de dades."
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr "Probabilitat dels conseqüents, donats els antecedents."
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr "La freqüència en que la regla fa una predicció incorrecta."
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
"Se es igual a 1, les dos ocurrències són independents l'una de l'altra.\n"
"Si es més gran que un, el grau en que les dos ocurrències són dependents l'una de l'altra.\n"
"Si es menor que un, els articles són substituts l'un de l'altre."
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
"La freqüència en que els conseqüents i els antecedents apareixen junts."
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Regles d'associació de venda"
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Regles d'associació de venda"
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr "Regles d'associació de productes"
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr "Antecedents de les regles d'assocació de productes"
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr "Conseqüents de les regles d'associació de productes"
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr "Calcula les regles d'associació de vendes de productes"
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr "Regla d'associació"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr "Regla d'associació de recomanació de productes"

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,136 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr "Die maximale Anzahl von Artikeln für eine Regel."
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr "Mindestkonfidenz"
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr "Mindestsupport"
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr "Transaktionszeitraum"
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr "Ursächliche Artikel"
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr "Ursächliche Artikel"
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr "Konfidenz"
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr "Folgeartikel"
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr "Folgeartikel"
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr "Conviction"
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr "Lift"
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr "Support"
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr "Regel"
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr "Regel"
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr "Die minimale Schwelle der Konfidenz in der Regel."
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
"Die minimale Häufigkeit mit der die Elemente aus den Daten zum Erfüllen der "
"Regel mindestens gemeinsam auftreten müssen."
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr "Die Häufigkeit der Folgeartikel bei gegebenen ursächlichen Artikeln."
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr "Die Häufigkeit mit der die Regel falsche Vorhersagen trifft."
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
"Wenn gleich 1, dann sind die beiden Elemente unabhängig voneinander.\n"
"Wenn größer 1, dann gibt der Wert den Grad der Abhängigkeit der beiden Elemente an.\n"
"Wenn kleiner 1, dann sind die beiden Elemente austauschbar."
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
"Die Häufigkeit mit der ursächliche Artikel zusammen mit Folgeartikeln "
"auftreten."
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Verkauf Assoziationsregeln"
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Verkauf Assoziationsregeln"
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr "Verkauf Artikel Assoziationsregel"
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr "Verkauf Artikel Assoziationsregel ursächliche Artikel"
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr "Verkauf Artikel Assoziationsregel Folgeartikel"
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr "Verkauf - Assoziationsregeln generieren"
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr "Assoziationsregel"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr "Assoziationsregeln für Artikelempfehlungen"

View File

@@ -0,0 +1,135 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr "El número máximo de producto de una regla."
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr "Confianza mínima"
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr "Soporte mínimo"
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr "Transaciones hasta"
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr "Antecedentes"
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr "Antecedentes"
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr "Confianza"
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr "Consecuentes"
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr "Consecuentes"
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr "Convicción"
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr "Elevador"
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr "Soporte"
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr "Regla"
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr "Regla"
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr "La probabilidad mínima de la regla."
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
"La frequencia mínima en que los articulos en la regla aparecen juntos en el "
"conjunto de datos."
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr "Probabilidad de los consecuentes, dados los antecedentes."
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr "La frequencia en que la regla hace una prección incorrecta."
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
"Si es igual a 1, las dos ocurrencias són independienes una de la otra.\n"
"Si es mayor que uno, el grado en que las dos ocurrencias son dependencias una de la otra.\n"
"Si es menor que uno, los articulos són un sustituo uno del otro."
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
"La frecuencia en la que los consecuentes y los antecedentes aparecen juntos."
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Reglas de associación de venta"
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Reglas de associación de venta"
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr "Reglas de associación de productos"
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr "Antecedentes reglas de asociación de productos"
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr "Consiguientes reglas de asociación de productos"
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr "Calcular reglas de asociacion de ventas de productos"
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr "Regla de asociación"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr "Regla de asociación de recomendaciones de producto"

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,134 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr "Le nombre maximal de produits pour une règle."
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr "Confiance minimale"
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr "Support minimal"
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr "Transactions jusqu'à"
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr "Antécédents"
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr "Antécédents"
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr "Confiance"
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr "Conséquents"
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr "Conséquents"
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr "Conviction"
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr "Haussement"
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr "Soutien"
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr "Règle"
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr "Règle"
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr "La probabilité minimale de la règle."
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
"La fréquence minimale à laquelle les éléments de la règle apparaissent "
"ensemble dans l'ensemble de données."
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr "Probabilité de conséquents, étant donné les antécédents."
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr "La fréquence à laquelle la règle fait une prédiction incorrecte."
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
"Si égal à 1, les deux occurrences sont indépendantes l'une de l'autre.\n"
"Si supérieur à 1, le degré auquel les deux occurrences dépendent l'une de l'autre.\n"
"S'il est inférieur à 1, les éléments se substituent les uns aux autres."
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr "La fréquence des conséquents et des antécédents apparaît ensemble."
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Règles de l'association de vente"
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Règles de l'association de vente"
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr "Règle d'association des produits en vente"
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr "Règle d'association de produits de vente Antécédent"
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr "Règle d'association de produits de vente Conséquente"
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr "Calculer les règles d'association des produits de vente"
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr "Règle d'association"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr "Règle d'association de recommandation de produit"

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,135 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr "Maximaal aantal producten voor een regel."
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr "Minimale zekerheid"
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr "Minimale ondersteuning"
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr "Transacties Tot"
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr "Antecedenten"
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr "Antecedenten"
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr "Zekerheid"
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr "Gevolgen"
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr "Gevolgen"
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr "Oordeel"
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr "Stijging"
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr "Ondersteuning"
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr "Regel"
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr "Regel"
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr "Minimale kans van de regel."
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
"Het minimale aantal keren dat de items van de regel samen in een data set "
"voorkomen."
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr "Aannemelijk gevolg gegeven de antecedenten."
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr "Het aantal keren dat de regel een onjuiste voorspelling doet."
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
"Gelijk aan 1, de twee weergaves zijn onafhankelijk van elkaar.\n"
"Groter dan 1, de mate hoe de twee weergaves afhankelijk zijn van elkaar.\n"
"Kleiner dan 1, de items zijn vervangers van elkaar."
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
"Het aantal keren dat gevolgen en antecedenten samen worden weergegeven."
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Verkoop koppeling regels"
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr "Verkoop koppeling regels"
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr "Verkoop product associatie regel"
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr "Verkoop product associatie regel voorgaand"
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr "Verkoop product associatie regel gevolg"
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr "Bereken verkoop product koppel regels"
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr "Koppel regel"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr "Product aanbeveling koppel regel"

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,129 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.configuration,product_association_rule_max_length:"
msgid "The maximal number of products for a rule."
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_confidence:"
msgid "Minimum Confidence"
msgstr ""
msgctxt "field:sale.configuration,product_association_rule_min_support:"
msgid "Minimum Support"
msgstr ""
msgctxt ""
"field:sale.configuration,product_association_rule_transactions_up_to:"
msgid "Transactions Up to"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedent_names:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,antecedents:"
msgid "Antecedents"
msgstr ""
msgctxt "field:sale.product.association.rule,confidence:"
msgid "Confidence"
msgstr ""
msgctxt "field:sale.product.association.rule,consequent_names:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,consequents:"
msgid "Consequents"
msgstr ""
msgctxt "field:sale.product.association.rule,conviction:"
msgid "Conviction"
msgstr ""
msgctxt "field:sale.product.association.rule,lift:"
msgid "Lift"
msgstr ""
msgctxt "field:sale.product.association.rule,support:"
msgid "Support"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.antecedent,rule:"
msgid "Rule"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.product.association.rule.consequent,rule:"
msgid "Rule"
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_confidence:"
msgid "The minimum probability of the rule."
msgstr ""
msgctxt "help:sale.configuration,product_association_rule_min_support:"
msgid ""
"The minimum frequency of which the items in the rule appear together in the "
"data set."
msgstr ""
msgctxt "help:sale.product.association.rule,confidence:"
msgid "Probability of consequents, given antecedents."
msgstr ""
msgctxt "help:sale.product.association.rule,conviction:"
msgid "The frequency that the rule makes an incorrect prediction."
msgstr ""
msgctxt "help:sale.product.association.rule,lift:"
msgid ""
"If equals to 1, the two occurrences are independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are dependent on one another.\n"
"If less than 1, the items are substitute to each other."
msgstr ""
msgctxt "help:sale.product.association.rule,support:"
msgid "The frequency of consequents and antecedents appear together."
msgstr ""
msgctxt "model:ir.action,name:act_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_product_association_rule_form"
msgid "Sale Association Rules"
msgstr ""
msgctxt "model:sale.product.association.rule,string:"
msgid "Sale Product Association Rule"
msgstr ""
msgctxt "model:sale.product.association.rule.antecedent,string:"
msgid "Sale Product Association Rule Antecedent"
msgstr ""
msgctxt "model:sale.product.association.rule.consequent,string:"
msgid "Sale Product Association Rule Consequent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Compute Sale Product Association Rules"
msgstr ""
msgctxt "selection:sale.configuration,product_recommendation_method:"
msgid "Association Rule"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation Association Rule"
msgstr ""

View File

@@ -0,0 +1,300 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from itertools import groupby
from efficient_apriori import apriori
from trytond.cache import Cache
from trytond.model import Index, ModelSQL, ModelView, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import TimeDelta
from trytond.transaction import Transaction
class Configuration(metaclass=PoolMeta):
__name__ = 'sale.configuration'
product_association_rule_transactions_up_to = fields.TimeDelta(
"Transactions Up to",
domain=['OR',
('product_association_rule_transactions_up_to', '=', None),
('product_association_rule_transactions_up_to', '>=', TimeDelta()),
])
product_association_rule_min_support = fields.Float(
"Minimum Support", required=True,
domain=[
('product_association_rule_min_support', '>=', 0),
('product_association_rule_min_support', '<=', 1),
],
help="The minimum frequency of which the items in the rule "
"appear together in the data set.")
product_association_rule_min_confidence = fields.Float(
"Minimum Confidence", required=True,
domain=[
('product_association_rule_min_confidence', '>=', 0),
('product_association_rule_min_confidence', '<=', 1),
],
help="The minimum probability of the rule.")
product_association_rule_max_length = fields.Integer(
"The maximal number of products for a rule.", required=True,
domain=[
('product_association_rule_max_length', '>', 0),
])
@classmethod
def __setup__(cls):
super().__setup__()
cls.product_recommendation_method.selection.append(
('association_rule', "Association Rule"))
@classmethod
def default_product_association_rule_min_support(cls):
return 0.3
@classmethod
def default_product_association_rule_min_confidence(cls):
return 0.5
@classmethod
def default_product_association_rule_max_length(cls):
return 8
class Sale(metaclass=PoolMeta):
__name__ = 'sale.sale'
@fields.depends(methods=['_recommended_products_association_rule'])
def on_change_with_recommended_products(self, name=None):
return super().on_change_with_recommended_products(name=name)
@fields.depends('lines')
def _recommended_products_association_rule(self):
pool = Pool()
Rule = pool.get('sale.product.association.rule')
if self.lines:
products = [
l.product for l in self.lines
if getattr(l, 'product', None)]
yield from Rule.recommend(products)
class ProductAssociationRule(ModelSQL, ModelView):
__name__ = 'sale.product.association.rule'
antecedents = fields.Many2Many(
'sale.product.association.rule.antecedent', 'rule', 'product',
"Antecedents")
antecedent_names = fields.Function(fields.Char(
"Antecedents"), 'get_product_names')
consequents = fields.Many2Many(
'sale.product.association.rule.consequent', 'rule', 'product',
"Consequents")
consequent_names = fields.Function(fields.Char(
"Consequents"), 'get_product_names')
confidence = fields.Float(
"Confidence",
domain=[
('confidence', '>=', 0),
('confidence', '<=', 1),
],
help="Probability of consequents, given antecedents.")
support = fields.Float(
"Support",
domain=[
('support', '>=', 0),
('support', '<=', 1),
],
help="The frequency of consequents and antecedents appear together.")
lift = fields.Float(
"Lift",
domain=[
('lift', '>=', 0),
],
help="If equals to 1, the two occurrences are "
"independent of each other.\n"
"If greater than 1, the degree to which the two occurrences are "
"dependent on one another.\n"
"If less than 1, the items are substitute to each other.")
conviction = fields.Float(
"Conviction",
domain=[
('conviction', '>=', 0),
],
help="The frequency that the rule makes an incorrect prediction.")
_find_rules_cache = Cache(__name__ + '._find_rules', context=False)
@classmethod
def __setup__(cls):
super().__setup__()
t = cls.__table__()
cls._sql_indexes.update({
Index(
t,
(t.lift, Index.Range(order='DESC')),
(t.conviction, Index.Range(order='ASC'))),
Index(
t,
(t.id, Index.Range(cardinality='high')),
(t.lift, Index.Range(order='DESC'))),
})
def get_product_names(self, name):
return ', '.join(
p.rec_name for p in getattr(self, name[:-len('_names')] + 's'))
@classmethod
def clean(cls, domain=None):
table = cls.__table__()
cursor = Transaction().connection.cursor()
if domain:
query = cls.search(domain, query=True)
where = table.id.in_(query)
else:
where = None
cursor.execute(*table.delete(where=where))
@classmethod
def transactions(cls):
"Yield transaction as sets of product ids"
yield from cls.transactions_sale()
@classmethod
def transactions_sale(cls, domain=None):
pool = Pool()
Date = pool.get('ir.date')
Sale = pool.get('sale.sale')
SaleLine = pool.get('sale.line')
Configuration = pool.get('sale.configuration')
config = Configuration(1)
today = Date.today()
date = today
if not config.product_association_rule_transactions_up_to:
return
date -= config.product_association_rule_transactions_up_to
lines = SaleLine.search([
('sale.sale_date', '>=', date),
('sale.state', 'not in', ['draft', 'cancelled']),
domain or [],
],
order=[('sale.id', 'DESC')])
for sale, lines in groupby(lines, lambda l: l.sale):
yield {
l.product.id for l in lines
if l.product and Sale._is_recommendable_product(l.product)}
@classmethod
def compute(cls):
pool = Pool()
Configuration = pool.get('sale.configuration')
config = Configuration(1)
cls.clean()
cls._find_rules_cache.clear()
transactions = cls.transactions()
_, rules = apriori(
transactions,
min_support=config.product_association_rule_min_support,
min_confidence=config.product_association_rule_min_confidence,
max_length=config.product_association_rule_max_length)
cls.save([cls.from_rule(rule) for rule in rules])
@classmethod
def from_rule(cls, rule):
return cls(
antecedents=rule.lhs,
consequents=rule.rhs,
confidence=rule.confidence,
support=rule.support,
lift=rule.lift,
conviction=rule.conviction)
@classmethod
def _find_rules(cls, products, domain, lift='DESC'):
product_ids = {p.id for p in products}
key = (sorted(product_ids), domain, lift)
rules = cls._find_rules_cache.get(key)
if rules is not None:
rules = cls.browse(rules)
else:
rules = cls.search([
('antecedents', 'in', list(product_ids)),
domain,
],
order=[('lift', lift), ('conviction', 'ASC')])
rules = [
r for r in rules
if set(map(int, r.antecedents)) <= product_ids]
cls._find_rules_cache.set(key, [r.id for r in rules])
products = set(products)
for rule in rules:
yield from (set(rule.consequents) - products)
products.update(rule.consequents)
@classmethod
def recommend(cls, products):
return cls._find_rules(products, [('lift', '>', 1)], lift='DESC')
@classmethod
def substitute(cls, products):
return cls._find_rules(products, [('lift', '<', 1)], lift='DESC')
class ProductAssociationRuleAntecedent(ModelSQL):
__name__ = 'sale.product.association.rule.antecedent'
rule = fields.Many2One(
'sale.product.association.rule', "Rule",
required=True, ondelete='CASCADE')
product = fields.Many2One(
'product.product', "Product", required=True, ondelete='CASCADE')
class ProductAssociationRuleConsequent(ModelSQL):
__name__ = 'sale.product.association.rule.consequent'
rule = fields.Many2One(
'sale.product.association.rule', "Rule",
required=True, ondelete='CASCADE')
product = fields.Many2One(
'product.product', "Product", required=True, ondelete='CASCADE')
class ProductAssociationRulePOS(metaclass=PoolMeta):
__name__ = 'sale.product.association.rule'
@classmethod
def transactions(cls):
yield from super().transactions()
yield from cls.transactions_pos()
@classmethod
def transactions_pos(cls, domain=None):
pool = Pool()
Date = pool.get('ir.date')
Sale = pool.get('sale.point.sale')
SaleLine = pool.get('sale.point.sale.line')
Configuration = pool.get('sale.configuration')
config = Configuration(1)
today = Date.today()
date = today
if not config.product_association_rule_transactions_up_to:
return
date -= config.product_association_rule_transactions_up_to
lines = SaleLine.search([
('sale.date', '>=', date),
('sale.state', 'not in', ['open', 'cancelled']),
domain or [],
],
order=[('sale.id', 'DESC')])
for sale, lines in groupby(lines, lambda l: l.sale):
yield {
l.product.id for l in lines
if l.product and Sale._is_recommendable_product(l.product)}

View File

@@ -0,0 +1,60 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="configuration_view_form">
<field name="model">sale.configuration</field>
<field name="inherit" ref="sale.sale_configuration_view_form"/>
<field name="name">configuration_form</field>
</record>
<record model="ir.ui.view" id="product_association_rule_view_list">
<field name="model">sale.product.association.rule</field>
<field name="type">tree</field>
<field name="name">product_association_rule_list</field>
</record>
<record model="ir.ui.view" id="product_association_rule_view_form">
<field name="model">sale.product.association.rule</field>
<field name="type">form</field>
<field name="name">product_association_rule_form</field>
</record>
<record model="ir.action.act_window" id="act_product_association_rule_form">
<field name="name">Sale Association Rules</field>
<field name="res_model">sale.product.association.rule</field>
</record>
<record model="ir.action.act_window.view" id="act_product_association_rule_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="product_association_rule_view_list"/>
<field name="act_window" ref="act_product_association_rule_form"/>
</record>
<record model="ir.action.act_window.view" id="act_product_association_rule_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="product_association_rule_view_form"/>
<field name="act_window" ref="act_product_association_rule_form"/>
</record>
<menuitem
parent="sale.menu_product"
action="act_product_association_rule_form"
sequence="50"
id="menu_product_association_rule_form"/>
<record model="ir.model.access" id="access_product_association_rule">
<field name="model">sale.product.association.rule</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
</data>
<data noupdate="1">
<record model="ir.cron" id="cron_product_association_rule_compute">
<field name="method">sale.product.association.rule|compute</field>
<field name="interval_number" eval="1"/>
<field name="interval_type">weeks</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,157 @@
=====================================================
Sale Product Recommendation Association Rule Scenario
=====================================================
Imports::
>>> import datetime as dt
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules
Activate modules::
>>> config = activate_modules(
... 'sale_product_recommendation_association_rule',
... create_company)
>>> Cron = Model.get('ir.cron')
>>> Party = Model.get('party.party')
>>> ProductTemplate = Model.get('product.template')
>>> ProductAssociationRule = Model.get('sale.product.association.rule')
>>> Sale = Model.get('sale.sale')
>>> SaleConfiguration = Model.get('sale.configuration')
>>> Uom = Model.get('product.uom')
Configuration association rule::
>>> sale_config = SaleConfiguration(1)
>>> sale_config.product_association_rule_transactions_up_to = (
... dt.timedelta(days=30))
>>> sale_config.product_recommendation_method = 'association_rule'
>>> sale_config.save()
Create customer::
>>> customer = Party(name="Customer")
>>> customer.save()
Create products::
>>> unit, = Uom.find([('name', '=', "Unit")])
>>> template = ProductTemplate()
>>> template.name = "Egg"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.salable = True
>>> template.recommendable = True
>>> template.list_price = Decimal('1')
>>> template.save()
>>> egg, = template.products
>>> template = ProductTemplate()
>>> template.name = "Bacon"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.salable = True
>>> template.recommendable = True
>>> template.list_price = Decimal('5')
>>> template.save()
>>> bacon, = template.products
>>> template = ProductTemplate()
>>> template.name = "Soup"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.salable = True
>>> template.recommendable = True
>>> template.list_price = Decimal('8')
>>> template.save()
>>> soup, = template.products
>>> template = ProductTemplate()
>>> template.name = "Apple"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.salable = True
>>> template.recommendable = True
>>> template.list_price = Decimal('3')
>>> template.save()
>>> apple, = template.products
>>> template = ProductTemplate()
>>> template.name = "Banana"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.salable = True
>>> template.recommendable = True
>>> template.list_price = Decimal('4')
>>> template.save()
>>> banana, = template.products
Create some sales::
>>> sale = Sale(party=customer)
>>> line = sale.lines.new(product=egg)
>>> line.quantity = 12
>>> line = sale.lines.new(product=bacon)
>>> line.quantity = 2
>>> line = sale.lines.new(product=soup)
>>> line.quantity = 1
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale.state
'confirmed'
>>> sale = Sale(party=customer)
>>> line = sale.lines.new(product=egg)
>>> line.quantity = 6
>>> line = sale.lines.new(product=bacon)
>>> line.quantity = 4
>>> line = sale.lines.new(product=apple)
>>> line.quantity = 5
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale = Sale(party=customer)
>>> line = sale.lines.new(product=soup)
>>> line.quantity = 3
>>> line = sale.lines.new(product=bacon)
>>> line.quantity = 2
>>> line = sale.lines.new(product=banana)
>>> line.quantity = 5
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale = Sale(party=customer)
>>> line = sale.lines.new(product=apple)
>>> line.quantity = 2
>>> line = sale.lines.new(product=banana)
>>> line.quantity = 2
>>> sale.click('quote')
>>> sale.click('confirm')
Compute association rules::
>>> cron_compute_association_rule, = Cron.find([
... ('method', '=', 'sale.product.association.rule|compute'),
... ])
>>> cron_compute_association_rule.click('run_once')
>>> bool(ProductAssociationRule.find([]))
True
Test recommended products::
>>> sale = Sale(party=customer)
>>> [p.name for p in sale.recommended_products]
[]
>>> line = sale.lines.new(product=apple)
>>> [p.name for p in sale.recommended_products]
[]
>>> line = sale.lines.new(product=egg)
>>> [p.name for p in sale.recommended_products]
['Bacon']

View File

@@ -0,0 +1,12 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import ModuleTestCase
class SaleProductRecommendationAssociationRuleTestCase(ModuleTestCase):
"Test Sale Product Recommendation Association Rule module"
module = 'sale_product_recommendation_association_rule'
extras = ['sale_point']
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,24 @@
[tryton]
version=7.8.0
depends:
ir
product
sale
sale_product_recommendation
extras_depend:
sale_point
xml:
sale.xml
[register]
model:
ir.Cron
sale.Configuration
sale.Sale
sale.ProductAssociationRule
sale.ProductAssociationRuleAntecedent
sale.ProductAssociationRuleConsequent
[register sale_point]
model:
sale.ProductAssociationRulePOS

View File

@@ -0,0 +1,18 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/form" position="inside">
<separator string="Product Recommendation Association Rule" id="product_association_rule" colspan="4"/>
<label name="product_association_rule_transactions_up_to"/>
<field name="product_association_rule_transactions_up_to"/>
<label name="product_association_rule_max_length"/>
<field name="product_association_rule_max_length"/>
<label name="product_association_rule_min_support"/>
<field name="product_association_rule_min_support"/>
<label name="product_association_rule_min_confidence"/>
<field name="product_association_rule_min_confidence"/>
</xpath>
</data>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="2">
<group col="2" colspan="2" id="rule">
<field name="antecedents" view_ids="product.product_view_tree_simple"/>
<field name="consequents" view_ids="product.product_view_tree_simple"/>
</group>
<label name="confidence"/>
<field name="confidence"/>
<label name="support"/>
<field name="support"/>
<label name="lift"/>
<field name="lift"/>
<label name="conviction"/>
<field name="conviction"/>
</form>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="antecedent_names" expand="1"/>
<field name="consequent_names" expand="1"/>
<field name="confidence" optional="1"/>
<field name="support" optional="1"/>
<field name="lift" optional="1"/>
<field name="conviction" optional="1"/>
</tree>