使用区域设置标识符查找语言的方向?

时间:2016-08-08 12:31:32

标签: php internationalization

ICU(php Intl扩展)是否提供了一种检测语言方向的方法(rtl / ltr)?

2 个答案:

答案 0 :(得分:0)

Direction是一个脚本数据。语言可以使用许多脚本,并且脚本可以被许多语言使用,因此我不确定您是否可以将语言映射到方向。

即使你可以,PHP也无法获取这些信息。但是,您可以尝试icanboogie/cldr查看CLDR数据是否有用(毕竟大多数语言只使用一个脚本)。

您可以找到here语言和脚本之间的映射以及包含方向的here脚本数据。

答案 1 :(得分:0)

扩展@MatTheCat的答案,语言的方向可以通过语言环境标识符来检测。使用 cosmopolitan 包可以像下面一样简单。

class AddPaymentForm(forms.Form):
    def __init__(self, max_value, min_date, *args, **kwargs):
        super(AddPaymentForm, self).__init__(*args, **kwargs)
        self.fields['value'] = forms.DecimalField(  
            max_digits=7, 
            decimal_places=2,
            required=True,
            label="Importo",
            min_value=0.01,
            max_value=max_value,
            help_text= f"Valore Massimo: {max_value}",
            widget = forms.NumberInput()
        )

        self.fields['date'] = forms.DateField(  
            required=True,
            label="Data",
            min_value=min_date,
            help_text= f"Data minima: {min_date}",
            widget=forms.TextInput(
                attrs={'type': 'date'} 
            )
        )

....