aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/modules/i18n.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py
index 1ddb2fc..bb1b2f8 100644
--- a/mesonbuild/modules/i18n.py
+++ b/mesonbuild/modules/i18n.py
@@ -12,16 +12,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from os import path
from .. import coredata, mesonlib, build
import sys
class I18nModule:
+ @staticmethod
+ def _read_linguas(state):
+ linguas = path.join(state.environment.get_source_dir(), state.subdir, 'LINGUAS')
+ try:
+ with open(linguas) as f:
+ return [line.strip() for line in f if not line.strip().startswith('#')]
+ except (FileNotFoundError, PermissionError):
+ return []
+
def gettext(self, state, args, kwargs):
if len(args) != 1:
raise coredata.MesonException('Gettext requires one positional argument (package name).')
packagename = args[0]
- languages = mesonlib.stringlistify(kwargs.get('languages', []))
+ languages = mesonlib.stringlistify(kwargs.get('languages', self._read_linguas(state)))
if len(languages) == 0:
raise coredata.MesonException('List of languages empty.')
datadirs = mesonlib.stringlistify(kwargs.get('data_dirs', []))